Average Error: 0 → 0
Time: 354.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)\]
\[\left(2 \cdot \frac{1}{9}\right) \cdot \left(\left(1 + \frac{1}{9}\right) + 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)
\left(2 \cdot \frac{1}{9}\right) \cdot \left(\left(1 + \frac{1}{9}\right) + 1\right)
double f() {
        double r88211 = 2.0;
        double r88212 = 1.0;
        double r88213 = 9.0;
        double r88214 = r88212 / r88213;
        double r88215 = r88212 * r88214;
        double r88216 = r88214 * r88214;
        double r88217 = r88215 + r88216;
        double r88218 = r88214 * r88212;
        double r88219 = r88217 + r88218;
        double r88220 = r88211 * r88219;
        return r88220;
}

double f() {
        double r88221 = 2.0;
        double r88222 = 1.0;
        double r88223 = 9.0;
        double r88224 = r88222 / r88223;
        double r88225 = r88221 * r88224;
        double r88226 = r88222 + r88224;
        double r88227 = r88226 + r88222;
        double r88228 = r88225 * r88227;
        return r88228;
}

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}{\left(2 \cdot \frac{1}{9}\right) \cdot \left(\left(1 + \frac{1}{9}\right) + 1\right)}\]
    3. Final simplification0

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

    Reproduce

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