2 \cdot \left(\left(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\right) + \frac{1}{9} \cdot 1\right)\mathsf{fma}\left(2, 1, \frac{1}{9}\right) \cdot \left(\frac{1}{9} \cdot 2\right)double f() {
double r4742882 = 2.0;
double r4742883 = 1.0;
double r4742884 = 9.0;
double r4742885 = r4742883 / r4742884;
double r4742886 = r4742883 * r4742885;
double r4742887 = r4742885 * r4742885;
double r4742888 = r4742886 + r4742887;
double r4742889 = r4742885 * r4742883;
double r4742890 = r4742888 + r4742889;
double r4742891 = r4742882 * r4742890;
return r4742891;
}
double f() {
double r4742892 = 2.0;
double r4742893 = 1.0;
double r4742894 = 9.0;
double r4742895 = r4742893 / r4742894;
double r4742896 = fma(r4742892, r4742893, r4742895);
double r4742897 = 2.0;
double r4742898 = r4742895 * r4742897;
double r4742899 = r4742896 * r4742898;
return r4742899;
}
| Original | 0 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019170 +o rules:numerics
(FPCore ()
:name "Rectangular parallelepiped of dimension a×b×c"
:herbie-target
(+ (+ (* (* (/ 1.0 9.0) 1.0) 2.0) (* 2.0 (* (/ 1.0 9.0) (/ 1.0 9.0)))) (* 2.0 (* 1.0 (/ 1.0 9.0))))
(* 2.0 (+ (+ (* 1.0 (/ 1.0 9.0)) (* (/ 1.0 9.0) (/ 1.0 9.0))) (* (/ 1.0 9.0) 1.0))))