?

Average Error: 0.1 → 0.1
Time: 23.4s
Precision: binary64
Cost: 1216

?

\[\left(d1 \cdot \left(\left(\left(\left(\left(d1 \cdot \left(d1 \cdot d1\right)\right) \cdot d1\right) \cdot d1\right) \cdot \left(d1 \cdot d1\right)\right) \cdot d1\right)\right) \cdot d1 \]
\[\left(d1 \cdot \left(\left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot d1\right)\right)\right)\right)\right)\right) \cdot d1\right)\right) \cdot d1 \]
(FPCore (d1)
 :precision binary64
 (* (* d1 (* (* (* (* (* d1 (* d1 d1)) d1) d1) (* d1 d1)) d1)) d1))
(FPCore (d1)
 :precision binary64
 (* (* d1 (* (* d1 (* d1 (* d1 (* d1 (* d1 (* d1 d1)))))) d1)) d1))
double code(double d1) {
	return (d1 * (((((d1 * (d1 * d1)) * d1) * d1) * (d1 * d1)) * d1)) * d1;
}
double code(double d1) {
	return (d1 * ((d1 * (d1 * (d1 * (d1 * (d1 * (d1 * d1)))))) * d1)) * d1;
}
real(8) function code(d1)
    real(8), intent (in) :: d1
    code = (d1 * (((((d1 * (d1 * d1)) * d1) * d1) * (d1 * d1)) * d1)) * d1
end function
real(8) function code(d1)
    real(8), intent (in) :: d1
    code = (d1 * ((d1 * (d1 * (d1 * (d1 * (d1 * (d1 * d1)))))) * d1)) * d1
end function
public static double code(double d1) {
	return (d1 * (((((d1 * (d1 * d1)) * d1) * d1) * (d1 * d1)) * d1)) * d1;
}
public static double code(double d1) {
	return (d1 * ((d1 * (d1 * (d1 * (d1 * (d1 * (d1 * d1)))))) * d1)) * d1;
}
def code(d1):
	return (d1 * (((((d1 * (d1 * d1)) * d1) * d1) * (d1 * d1)) * d1)) * d1
def code(d1):
	return (d1 * ((d1 * (d1 * (d1 * (d1 * (d1 * (d1 * d1)))))) * d1)) * d1
function code(d1)
	return Float64(Float64(d1 * Float64(Float64(Float64(Float64(Float64(d1 * Float64(d1 * d1)) * d1) * d1) * Float64(d1 * d1)) * d1)) * d1)
end
function code(d1)
	return Float64(Float64(d1 * Float64(Float64(d1 * Float64(d1 * Float64(d1 * Float64(d1 * Float64(d1 * Float64(d1 * d1)))))) * d1)) * d1)
end
function tmp = code(d1)
	tmp = (d1 * (((((d1 * (d1 * d1)) * d1) * d1) * (d1 * d1)) * d1)) * d1;
end
function tmp = code(d1)
	tmp = (d1 * ((d1 * (d1 * (d1 * (d1 * (d1 * (d1 * d1)))))) * d1)) * d1;
end
code[d1_] := N[(N[(d1 * N[(N[(N[(N[(N[(d1 * N[(d1 * d1), $MachinePrecision]), $MachinePrecision] * d1), $MachinePrecision] * d1), $MachinePrecision] * N[(d1 * d1), $MachinePrecision]), $MachinePrecision] * d1), $MachinePrecision]), $MachinePrecision] * d1), $MachinePrecision]
code[d1_] := N[(N[(d1 * N[(N[(d1 * N[(d1 * N[(d1 * N[(d1 * N[(d1 * N[(d1 * d1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * d1), $MachinePrecision]), $MachinePrecision] * d1), $MachinePrecision]
\left(d1 \cdot \left(\left(\left(\left(\left(d1 \cdot \left(d1 \cdot d1\right)\right) \cdot d1\right) \cdot d1\right) \cdot \left(d1 \cdot d1\right)\right) \cdot d1\right)\right) \cdot d1
\left(d1 \cdot \left(\left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot d1\right)\right)\right)\right)\right)\right) \cdot d1\right)\right) \cdot d1

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.1
Target0.0
Herbie0.1
\[{d1}^{10} \]

Derivation?

  1. Initial program 0.1

    \[\left(d1 \cdot \left(\left(\left(\left(\left(d1 \cdot \left(d1 \cdot d1\right)\right) \cdot d1\right) \cdot d1\right) \cdot \left(d1 \cdot d1\right)\right) \cdot d1\right)\right) \cdot d1 \]
  2. Applied egg-rr0.1

    \[\leadsto \left(d1 \cdot \left(\color{blue}{\left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot d1\right)\right)\right)\right)\right) + 0\right)} \cdot d1\right)\right) \cdot d1 \]
  3. Simplified0.1

    \[\leadsto \left(d1 \cdot \left(\color{blue}{\left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot d1\right)\right)\right)\right)\right)\right)} \cdot d1\right)\right) \cdot d1 \]
    Proof

    [Start]0.1

    \[ \left(d1 \cdot \left(\left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot d1\right)\right)\right)\right)\right) + 0\right) \cdot d1\right)\right) \cdot d1 \]

    rational.json-simplify-4 [=>]0.1

    \[ \left(d1 \cdot \left(\color{blue}{\left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot d1\right)\right)\right)\right)\right)\right)} \cdot d1\right)\right) \cdot d1 \]
  4. Final simplification0.1

    \[\leadsto \left(d1 \cdot \left(\left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot \left(d1 \cdot d1\right)\right)\right)\right)\right)\right) \cdot d1\right)\right) \cdot d1 \]

Alternatives

Alternative 1
Error0.1
Cost1216
\[\begin{array}{l} t_0 := d1 \cdot \left(d1 \cdot d1\right)\\ d1 \cdot \left(d1 \cdot \left(\left(d1 \cdot d1\right) \cdot \left(t_0 \cdot t_0\right)\right)\right) \end{array} \]
Alternative 2
Error0.1
Cost1216
\[\begin{array}{l} t_0 := d1 \cdot \left(d1 \cdot \left(d1 \cdot d1\right)\right)\\ d1 \cdot \left(d1 \cdot \left(t_0 \cdot t_0\right)\right) \end{array} \]

Error

Reproduce?

herbie shell --seed 2023074 
(FPCore (d1)
  :name "FastMath test5"
  :precision binary64

  :herbie-target
  (pow d1 10.0)

  (* (* d1 (* (* (* (* (* d1 (* d1 d1)) d1) d1) (* d1 d1)) d1)) d1))