It is crucial to make computer programs run faster. Traditionally, the execution time for the same program stays the same regardless of the inputs. Based on the observation that programs tend to access the same data repeatedly, an existing optimization, the hardware cache, speeds up the program running on the same inputs by storing previously seen data to be used in the future. However, less optimization has been done on program running on different inputs. Our research demonstrates that we can accelerate programs even running on different inputs, based on the observation that modern big data applications operate on inputs that tend to have similar values. We design hardware that speculative executes on new inputs with the assumption that they're similar to previous inputs, which brings performance improvements and opens up new opportunities for future optimization.