2 \cdot \left(\left(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\right) + \frac{1}{9} \cdot 1\right)2 \cdot \left(\left(\frac{1}{9} \cdot \frac{1}{9} + \frac{1}{9} \cdot 1\right) + \frac{1}{9} \cdot 1\right)double f() {
double r111914 = 2.0;
double r111915 = 1.0;
double r111916 = 9.0;
double r111917 = r111915 / r111916;
double r111918 = r111915 * r111917;
double r111919 = r111917 * r111917;
double r111920 = r111918 + r111919;
double r111921 = r111917 * r111915;
double r111922 = r111920 + r111921;
double r111923 = r111914 * r111922;
return r111923;
}
double f() {
double r111924 = 2.0;
double r111925 = 1.0;
double r111926 = 9.0;
double r111927 = r111925 / r111926;
double r111928 = r111927 * r111927;
double r111929 = r111927 * r111925;
double r111930 = r111928 + r111929;
double r111931 = r111930 + r111929;
double r111932 = r111924 * r111931;
return r111932;
}
Results
| Original | 0 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 0
Final simplification0
herbie shell --seed 2019174 +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))))