Average Error: 0 → 0
Time: 5.4s
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 r55981 = 2.0;
        double r55982 = 1.0;
        double r55983 = 9.0;
        double r55984 = r55982 / r55983;
        double r55985 = r55982 * r55984;
        double r55986 = r55984 * r55984;
        double r55987 = r55985 + r55986;
        double r55988 = r55984 * r55982;
        double r55989 = r55987 + r55988;
        double r55990 = r55981 * r55989;
        return r55990;
}

double f() {
        double r55991 = 2.0;
        double r55992 = 1.0;
        double r55993 = 9.0;
        double r55994 = r55992 / r55993;
        double r55995 = r55992 * r55994;
        double r55996 = r55994 * r55994;
        double r55997 = r55995 + r55996;
        double r55998 = r55994 * r55992;
        double r55999 = r55997 + r55998;
        double r56000 = r55991 * r55999;
        return r56000;
}

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