2 \cdot \left(\left(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\right) + \frac{1}{9} \cdot 1\right)\frac{1}{9} \cdot \left(2 \cdot \mathsf{fma}\left(2, 1, \frac{1}{9}\right)\right)double f() {
double r124241 = 2.0;
double r124242 = 1.0;
double r124243 = 9.0;
double r124244 = r124242 / r124243;
double r124245 = r124242 * r124244;
double r124246 = r124244 * r124244;
double r124247 = r124245 + r124246;
double r124248 = r124244 * r124242;
double r124249 = r124247 + r124248;
double r124250 = r124241 * r124249;
return r124250;
}
double f() {
double r124251 = 1.0;
double r124252 = 9.0;
double r124253 = r124251 / r124252;
double r124254 = 2.0;
double r124255 = 2.0;
double r124256 = fma(r124255, r124251, r124253);
double r124257 = r124254 * r124256;
double r124258 = r124253 * r124257;
return r124258;
}
| Original | 0 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2020045 +o rules:numerics
(FPCore ()
:name "Rectangular parallelepiped of dimension a×b×c"
:precision binary64
:herbie-target
(+ (+ (* (* (/ 1 9) 1) 2) (* 2 (* (/ 1 9) (/ 1 9)))) (* 2 (* 1 (/ 1 9))))
(* 2 (+ (+ (* 1 (/ 1 9)) (* (/ 1 9) (/ 1 9))) (* (/ 1 9) 1))))