Average Error: 0 → 0
Time: 372.0ms
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 r72630 = 2.0;
        double r72631 = 1.0;
        double r72632 = 9.0;
        double r72633 = r72631 / r72632;
        double r72634 = r72631 * r72633;
        double r72635 = r72633 * r72633;
        double r72636 = r72634 + r72635;
        double r72637 = r72633 * r72631;
        double r72638 = r72636 + r72637;
        double r72639 = r72630 * r72638;
        return r72639;
}

double f() {
        double r72640 = 2.0;
        double r72641 = 1.0;
        double r72642 = 9.0;
        double r72643 = r72641 / r72642;
        double r72644 = r72641 * r72643;
        double r72645 = r72643 * r72643;
        double r72646 = r72644 + r72645;
        double r72647 = r72643 * r72641;
        double r72648 = r72646 + r72647;
        double r72649 = r72640 * r72648;
        return r72649;
}

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