\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
d1 \cdot d2 + d1 \cdot \left(\left(d3 + 5\right) + 32\right)
double f(double d1, double d2, double d3) {
double r716139 = d1;
double r716140 = d2;
double r716141 = r716139 * r716140;
double r716142 = d3;
double r716143 = 5.0;
double r716144 = r716142 + r716143;
double r716145 = r716144 * r716139;
double r716146 = r716141 + r716145;
double r716147 = 32.0;
double r716148 = r716139 * r716147;
double r716149 = r716146 + r716148;
return r716149;
}
double f(double d1, double d2, double d3) {
double r716150 = d1;
double r716151 = d2;
double r716152 = r716150 * r716151;
double r716153 = d3;
double r716154 = 5.0;
double r716155 = r716153 + r716154;
double r716156 = 32.0;
double r716157 = r716155 + r716156;
double r716158 = r716150 * r716157;
double r716159 = r716152 + r716158;
return r716159;
}




Bits error versus d1




Bits error versus d2




Bits error versus d3
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Simplified0.0
rmApplied distribute-lft-in0.0
Final simplification0.0
herbie shell --seed 2020039
(FPCore (d1 d2 d3)
:name "FastMath dist3"
:precision binary64
:herbie-target
(* d1 (+ (+ 37 d3) d2))
(+ (+ (* d1 d2) (* (+ d3 5) d1)) (* d1 32)))