Average Error: 0.0 → 0.0
Time: 7.9s
Precision: binary64
Cost: 2624
\[-1000000000 \leq x \land x \leq 1000000000\]
\[\left(\left(\left(\left(\left(\left(\left(\left(\left(-0.000182690409228785\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x + \left(\left(\left(\left(\left(\left(0.0083046022418679 \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) - \left(\left(0.16665101214369 \cdot x\right) \cdot x\right) \cdot x\right) + x \]
\[x + \left(\left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot -0.000182690409228785\right)\right)\right)\right)\right)\right) + x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot 0.0083046022418679\right)\right)\right)\right)\right)\right)\right) + x \cdot \left(x \cdot \left(x \cdot -0.16665101214369\right)\right)\right) \]
(FPCore (x)
 :precision binary64
 (+
  (-
   (+
    (* (* (* (* (* (* (* (- 0.000182690409228785) x) x) x) x) x) x) x)
    (* (* (* (* (* (* (* 0.0083046022418679 x) x) x) x) x) x) x))
   (* (* (* 0.16665101214369 x) x) x))
  x))
(FPCore (x)
 :precision binary64
 (+
  x
  (+
   (+
    (* x (* x (* x (* x (* x (* x (* x -0.000182690409228785)))))))
    (* x (* x (* x (* x (* x (* x (* x 0.0083046022418679))))))))
   (* x (* x (* x -0.16665101214369))))))
double code(double x) {
	return (((((((((-0.000182690409228785 * x) * x) * x) * x) * x) * x) * x) + (((((((0.0083046022418679 * x) * x) * x) * x) * x) * x) * x)) - (((0.16665101214369 * x) * x) * x)) + x;
}
double code(double x) {
	return x + (((x * (x * (x * (x * (x * (x * (x * -0.000182690409228785))))))) + (x * (x * (x * (x * (x * (x * (x * 0.0083046022418679)))))))) + (x * (x * (x * -0.16665101214369))));
}
real(8) function code(x)
    real(8), intent (in) :: x
    code = (((((((((-0.000182690409228785d0 * x) * x) * x) * x) * x) * x) * x) + (((((((0.0083046022418679d0 * x) * x) * x) * x) * x) * x) * x)) - (((0.16665101214369d0 * x) * x) * x)) + x
end function
real(8) function code(x)
    real(8), intent (in) :: x
    code = x + (((x * (x * (x * (x * (x * (x * (x * (-0.000182690409228785d0)))))))) + (x * (x * (x * (x * (x * (x * (x * 0.0083046022418679d0)))))))) + (x * (x * (x * (-0.16665101214369d0)))))
end function
public static double code(double x) {
	return (((((((((-0.000182690409228785 * x) * x) * x) * x) * x) * x) * x) + (((((((0.0083046022418679 * x) * x) * x) * x) * x) * x) * x)) - (((0.16665101214369 * x) * x) * x)) + x;
}
public static double code(double x) {
	return x + (((x * (x * (x * (x * (x * (x * (x * -0.000182690409228785))))))) + (x * (x * (x * (x * (x * (x * (x * 0.0083046022418679)))))))) + (x * (x * (x * -0.16665101214369))));
}
def code(x):
	return (((((((((-0.000182690409228785 * x) * x) * x) * x) * x) * x) * x) + (((((((0.0083046022418679 * x) * x) * x) * x) * x) * x) * x)) - (((0.16665101214369 * x) * x) * x)) + x
def code(x):
	return x + (((x * (x * (x * (x * (x * (x * (x * -0.000182690409228785))))))) + (x * (x * (x * (x * (x * (x * (x * 0.0083046022418679)))))))) + (x * (x * (x * -0.16665101214369))))
function code(x)
	return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(-0.000182690409228785) * x) * x) * x) * x) * x) * x) * x) + Float64(Float64(Float64(Float64(Float64(Float64(Float64(0.0083046022418679 * x) * x) * x) * x) * x) * x) * x)) - Float64(Float64(Float64(0.16665101214369 * x) * x) * x)) + x)
end
function code(x)
	return Float64(x + Float64(Float64(Float64(x * Float64(x * Float64(x * Float64(x * Float64(x * Float64(x * Float64(x * -0.000182690409228785))))))) + Float64(x * Float64(x * Float64(x * Float64(x * Float64(x * Float64(x * Float64(x * 0.0083046022418679)))))))) + Float64(x * Float64(x * Float64(x * -0.16665101214369)))))
end
function tmp = code(x)
	tmp = (((((((((-0.000182690409228785 * x) * x) * x) * x) * x) * x) * x) + (((((((0.0083046022418679 * x) * x) * x) * x) * x) * x) * x)) - (((0.16665101214369 * x) * x) * x)) + x;
end
function tmp = code(x)
	tmp = x + (((x * (x * (x * (x * (x * (x * (x * -0.000182690409228785))))))) + (x * (x * (x * (x * (x * (x * (x * 0.0083046022418679)))))))) + (x * (x * (x * -0.16665101214369))));
end
code[x_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(N[((-0.000182690409228785) * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] + N[(N[(N[(N[(N[(N[(N[(0.0083046022418679 * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(0.16665101214369 * x), $MachinePrecision] * x), $MachinePrecision] * x), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision]
code[x_] := N[(x + N[(N[(N[(x * N[(x * N[(x * N[(x * N[(x * N[(x * N[(x * -0.000182690409228785), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * N[(x * N[(x * N[(x * N[(x * N[(x * N[(x * 0.0083046022418679), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * N[(x * N[(x * -0.16665101214369), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\left(\left(\left(\left(\left(\left(\left(\left(\left(-0.000182690409228785\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x + \left(\left(\left(\left(\left(\left(0.0083046022418679 \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) - \left(\left(0.16665101214369 \cdot x\right) \cdot x\right) \cdot x\right) + x
x + \left(\left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot -0.000182690409228785\right)\right)\right)\right)\right)\right) + x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot 0.0083046022418679\right)\right)\right)\right)\right)\right)\right) + x \cdot \left(x \cdot \left(x \cdot -0.16665101214369\right)\right)\right)

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\left(\left(\left(\left(\left(\left(\left(\left(-0.000182690409228785\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x + \left(\left(\left(\left(\left(\left(0.0083046022418679 \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) - \left(\left(0.16665101214369 \cdot x\right) \cdot x\right) \cdot x\right) + x \]
  2. Taylor expanded in x around 0 0.0

    \[\leadsto \left(\left(\left(\left(\left(\left(\color{blue}{\left(-0.000182690409228785 \cdot {x}^{2}\right)} \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x + \left(\left(\left(\left(\left(\left(0.0083046022418679 \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) - \left(\left(0.16665101214369 \cdot x\right) \cdot x\right) \cdot x\right) + x \]
  3. Simplified0.0

    \[\leadsto \left(\left(\left(\left(\left(\left(\color{blue}{\left(x \cdot \left(x \cdot -0.000182690409228785\right)\right)} \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x + \left(\left(\left(\left(\left(\left(0.0083046022418679 \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) - \left(\left(0.16665101214369 \cdot x\right) \cdot x\right) \cdot x\right) + x \]
  4. Final simplification0.0

    \[\leadsto x + \left(\left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot -0.000182690409228785\right)\right)\right)\right)\right)\right) + x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot \left(x \cdot 0.0083046022418679\right)\right)\right)\right)\right)\right)\right) + x \cdot \left(x \cdot \left(x \cdot -0.16665101214369\right)\right)\right) \]

Reproduce

herbie shell --seed 1 
(FPCore (x)
  :name "-0.000182690409228785*x*x*x*x*x*x*x + 0.0083046022418679*x*x*x*x*x*x*x -0.166651012143690*x*x*x + x"
  :precision binary64
  :pre (and (<= -1000000000.0 x) (<= x 1000000000.0))
  (+ (- (+ (* (* (* (* (* (* (* (- 0.000182690409228785) x) x) x) x) x) x) x) (* (* (* (* (* (* (* 0.0083046022418679 x) x) x) x) x) x) x)) (* (* (* 0.16665101214369 x) x) x)) x))