Average Error: 0 → 0
Time: 5.5s
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(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\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(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\right) + \frac{1}{9} \cdot 1\right)
double f() {
        double r39895 = 2.0;
        double r39896 = 1.0;
        double r39897 = 9.0;
        double r39898 = r39896 / r39897;
        double r39899 = r39896 * r39898;
        double r39900 = r39898 * r39898;
        double r39901 = r39899 + r39900;
        double r39902 = r39898 * r39896;
        double r39903 = r39901 + r39902;
        double r39904 = r39895 * r39903;
        return r39904;
}

double f() {
        double r39905 = 2.0;
        double r39906 = 1.0;
        double r39907 = 9.0;
        double r39908 = r39906 / r39907;
        double r39909 = r39906 * r39908;
        double r39910 = r39908 * r39908;
        double r39911 = r39909 + r39910;
        double r39912 = r39908 * r39906;
        double r39913 = r39911 + r39912;
        double r39914 = r39905 * r39913;
        return r39914;
}

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(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\right) + \frac{1}{9} \cdot 1\right)\]

    Reproduce

    herbie shell --seed 2019326 +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))))