Average Error: 0 → 0
Time: 2.8s
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 r94088 = 2.0;
        double r94089 = 1.0;
        double r94090 = 9.0;
        double r94091 = r94089 / r94090;
        double r94092 = r94089 * r94091;
        double r94093 = r94091 * r94091;
        double r94094 = r94092 + r94093;
        double r94095 = r94091 * r94089;
        double r94096 = r94094 + r94095;
        double r94097 = r94088 * r94096;
        return r94097;
}

double f() {
        double r94098 = 2.0;
        double r94099 = 1.0;
        double r94100 = 9.0;
        double r94101 = r94099 / r94100;
        double r94102 = r94099 * r94101;
        double r94103 = r94101 * r94101;
        double r94104 = r94102 + r94103;
        double r94105 = r94101 * r94099;
        double r94106 = r94104 + r94105;
        double r94107 = r94098 * r94106;
        return r94107;
}

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