Average Error: 0 → 0
Time: 5.0m
Precision: 64
\[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)\]
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;
}

Error

Try it out

Your Program's Arguments

    Results

    Enter valid numbers for all inputs

    Target

    Original0
    Target0
    Herbie0
    \[\left(\left(\frac{1}{9} \cdot 1\right) \cdot 2 + 2 \cdot \left(\frac{1}{9} \cdot \frac{1}{9}\right)\right) + 2 \cdot \left(1 \cdot \frac{1}{9}\right)\]

    Derivation

    1. Initial program 0

      \[2 \cdot \left(\left(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\right) + \frac{1}{9} \cdot 1\right)\]
    2. Final simplification0

      \[\leadsto 2 \cdot \left(\left(\frac{1}{9} \cdot \frac{1}{9} + \frac{1}{9} \cdot 1\right) + \frac{1}{9} \cdot 1\right)\]

    Reproduce

    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))))