Average Error: 0 → 0
Time: 3.3s
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(\frac{1}{9} \cdot \left(1 + \left(1 + \frac{1}{9}\right)\right)\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(\frac{1}{9} \cdot \left(1 + \left(1 + \frac{1}{9}\right)\right)\right)
double f() {
        double r58515 = 2.0;
        double r58516 = 1.0;
        double r58517 = 9.0;
        double r58518 = r58516 / r58517;
        double r58519 = r58516 * r58518;
        double r58520 = r58518 * r58518;
        double r58521 = r58519 + r58520;
        double r58522 = r58518 * r58516;
        double r58523 = r58521 + r58522;
        double r58524 = r58515 * r58523;
        return r58524;
}

double f() {
        double r58525 = 2.0;
        double r58526 = 1.0;
        double r58527 = 9.0;
        double r58528 = r58526 / r58527;
        double r58529 = r58526 + r58528;
        double r58530 = r58526 + r58529;
        double r58531 = r58528 * r58530;
        double r58532 = r58525 * r58531;
        return r58532;
}

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. Simplified0

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

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

    Reproduce

    herbie shell --seed 2019323 
    (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))))