\left(d1 \cdot 10 + d1 \cdot d2\right) + d1 \cdot 20
\left(\left(d2 + 10\right) + 20\right) \cdot d1
double f(double d1, double d2) {
double r11608719 = d1;
double r11608720 = 10.0;
double r11608721 = r11608719 * r11608720;
double r11608722 = d2;
double r11608723 = r11608719 * r11608722;
double r11608724 = r11608721 + r11608723;
double r11608725 = 20.0;
double r11608726 = r11608719 * r11608725;
double r11608727 = r11608724 + r11608726;
return r11608727;
}
double f(double d1, double d2) {
double r11608728 = d2;
double r11608729 = 10.0;
double r11608730 = r11608728 + r11608729;
double r11608731 = 20.0;
double r11608732 = r11608730 + r11608731;
double r11608733 = d1;
double r11608734 = r11608732 * r11608733;
return r11608734;
}




Bits error versus d1




Bits error versus d2
Results
| Original | 0.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.2
Simplified0.0
Final simplification0.0
herbie shell --seed 2019200
(FPCore (d1 d2)
:name "FastMath test2"
:herbie-target
(* d1 (+ 30.0 d2))
(+ (+ (* d1 10.0) (* d1 d2)) (* d1 20.0)))