Average Error: 0 → 0
Time: 1.3s
Precision: binary64
Cost: 64
\[2 \cdot \left(\left(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\right) + \frac{1}{9} \cdot 1\right) \]
\[0.4691358024691358 \]
(FPCore ()
 :precision binary64
 (*
  2.0
  (+ (+ (* 1.0 (/ 1.0 9.0)) (* (/ 1.0 9.0) (/ 1.0 9.0))) (* (/ 1.0 9.0) 1.0))))
(FPCore () :precision binary64 0.4691358024691358)
double code() {
	return 2.0 * (((1.0 * (1.0 / 9.0)) + ((1.0 / 9.0) * (1.0 / 9.0))) + ((1.0 / 9.0) * 1.0));
}
double code() {
	return 0.4691358024691358;
}
real(8) function code()
    code = 2.0d0 * (((1.0d0 * (1.0d0 / 9.0d0)) + ((1.0d0 / 9.0d0) * (1.0d0 / 9.0d0))) + ((1.0d0 / 9.0d0) * 1.0d0))
end function
real(8) function code()
    code = 0.4691358024691358d0
end function
public static double code() {
	return 2.0 * (((1.0 * (1.0 / 9.0)) + ((1.0 / 9.0) * (1.0 / 9.0))) + ((1.0 / 9.0) * 1.0));
}
public static double code() {
	return 0.4691358024691358;
}
def code():
	return 2.0 * (((1.0 * (1.0 / 9.0)) + ((1.0 / 9.0) * (1.0 / 9.0))) + ((1.0 / 9.0) * 1.0))
def code():
	return 0.4691358024691358
function code()
	return Float64(2.0 * Float64(Float64(Float64(1.0 * Float64(1.0 / 9.0)) + Float64(Float64(1.0 / 9.0) * Float64(1.0 / 9.0))) + Float64(Float64(1.0 / 9.0) * 1.0)))
end
function code()
	return 0.4691358024691358
end
function tmp = code()
	tmp = 2.0 * (((1.0 * (1.0 / 9.0)) + ((1.0 / 9.0) * (1.0 / 9.0))) + ((1.0 / 9.0) * 1.0));
end
function tmp = code()
	tmp = 0.4691358024691358;
end
code[] := N[(2.0 * N[(N[(N[(1.0 * N[(1.0 / 9.0), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 / 9.0), $MachinePrecision] * N[(1.0 / 9.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(1.0 / 9.0), $MachinePrecision] * 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[] := 0.4691358024691358
2 \cdot \left(\left(1 \cdot \frac{1}{9} + \frac{1}{9} \cdot \frac{1}{9}\right) + \frac{1}{9} \cdot 1\right)
0.4691358024691358

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}{0.4691358024691358} \]
      Proof
      38/81: 0 points increase in error, 0 points decrease in error
      (Rewrite<= metadata-eval (*.f64 2 19/81)): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (Rewrite<= metadata-eval (+.f64 10/81 1/9))): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (+.f64 (Rewrite<= metadata-eval (+.f64 1/9 1/81)) 1/9)): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (+.f64 (+.f64 (Rewrite<= metadata-eval (*.f64 1 1/9)) 1/81) 1/9)): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (+.f64 (+.f64 (*.f64 1 (Rewrite<= metadata-eval (/.f64 1 9))) 1/81) 1/9)): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (+.f64 (+.f64 (*.f64 1 (/.f64 1 9)) (Rewrite<= metadata-eval (*.f64 1/9 1/9))) 1/9)): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (+.f64 (+.f64 (*.f64 1 (/.f64 1 9)) (*.f64 (Rewrite<= metadata-eval (/.f64 1 9)) 1/9)) 1/9)): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (+.f64 (+.f64 (*.f64 1 (/.f64 1 9)) (*.f64 (/.f64 1 9) (Rewrite<= metadata-eval (/.f64 1 9)))) 1/9)): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (+.f64 (+.f64 (*.f64 1 (/.f64 1 9)) (*.f64 (/.f64 1 9) (/.f64 1 9))) (Rewrite<= metadata-eval (*.f64 1/9 1)))): 0 points increase in error, 0 points decrease in error
      (*.f64 2 (+.f64 (+.f64 (*.f64 1 (/.f64 1 9)) (*.f64 (/.f64 1 9) (/.f64 1 9))) (*.f64 (Rewrite<= metadata-eval (/.f64 1 9)) 1))): 0 points increase in error, 0 points decrease in error
    3. Final simplification0

      \[\leadsto 0.4691358024691358 \]

    Reproduce

    herbie shell --seed 2022291 
    (FPCore ()
      :name "Rectangular parallelepiped of dimension a×b×c"
      :precision binary64
    
      :herbie-target
      (+ (+ (* (* (/ 1.0 9.0) 1.0) 2.0) (* 2.0 (* (/ 1.0 9.0) (/ 1.0 9.0)))) (* 2.0 (* 1.0 (/ 1.0 9.0))))
    
      (* 2.0 (+ (+ (* 1.0 (/ 1.0 9.0)) (* (/ 1.0 9.0) (/ 1.0 9.0))) (* (/ 1.0 9.0) 1.0))))