\left(d1 \cdot \left(\left(\left(\left(\left(d1 \cdot \left(d1 \cdot d1\right)\right) \cdot d1\right) \cdot d1\right) \cdot \left(d1 \cdot d1\right)\right) \cdot d1\right)\right) \cdot d1
{d1}^{10}double f(double d1) {
double r271162 = d1;
double r271163 = r271162 * r271162;
double r271164 = r271162 * r271163;
double r271165 = r271164 * r271162;
double r271166 = r271165 * r271162;
double r271167 = r271166 * r271163;
double r271168 = r271167 * r271162;
double r271169 = r271162 * r271168;
double r271170 = r271169 * r271162;
return r271170;
}
double f(double d1) {
double r271171 = d1;
double r271172 = 10.0;
double r271173 = pow(r271171, r271172);
return r271173;
}




Bits error versus d1
Results
| Original | 0.1 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 0.1
Simplified0
Final simplification0
herbie shell --seed 2020049 +o rules:numerics
(FPCore (d1)
:name "FastMath test5"
:precision binary64
:herbie-target
(pow d1 10)
(* (* d1 (* (* (* (* (* d1 (* d1 d1)) d1) d1) (* d1 d1)) d1)) d1))