Average Error: 16.6 → 10.0
Time: 23.2s
Precision: 64
$\left(\left(\left(x \cdot x - 7 \cdot x\right) \cdot x + 28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\right) \cdot x$
$x \cdot \left(\left(\left({x}^{4} + 28 \cdot \left(\left(\left(x \cdot y\right) \cdot y\right) \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right)\right) - 7 \cdot {x}^{3}\right) - 56 \cdot {z}^{3}\right)$
\left(\left(\left(x \cdot x - 7 \cdot x\right) \cdot x + 28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\right) \cdot x
x \cdot \left(\left(\left({x}^{4} + 28 \cdot \left(\left(\left(x \cdot y\right) \cdot y\right) \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right)\right) - 7 \cdot {x}^{3}\right) - 56 \cdot {z}^{3}\right)
double f(double x, double y, double z) {
double r320647 = x;
double r320648 = r320647 * r320647;
double r320649 = 7.0;
double r320650 = r320649 * r320647;
double r320651 = r320648 - r320650;
double r320652 = r320651 * r320647;
double r320653 = 28.0;
double r320654 = y;
double r320655 = 2.0;
double r320656 = pow(r320654, r320655);
double r320657 = r320653 * r320656;
double r320658 = r320652 + r320657;
double r320659 = r320658 * r320647;
double r320660 = 56.0;
double r320661 = z;
double r320662 = 3.0;
double r320663 = pow(r320661, r320662);
double r320664 = r320660 * r320663;
double r320665 = r320659 - r320664;
double r320666 = r320665 * r320647;
return r320666;
}


double f(double x, double y, double z) {
double r320667 = x;
double r320668 = 4.0;
double r320669 = pow(r320667, r320668);
double r320670 = 28.0;
double r320671 = y;
double r320672 = r320667 * r320671;
double r320673 = r320672 * r320671;
double r320674 = 1.0;
double r320675 = -1.0;
double r320676 = 2.0;
double r320677 = pow(r320675, r320676);
double r320678 = r320674 / r320677;
double r320679 = 1.0;
double r320680 = pow(r320678, r320679);
double r320681 = r320673 * r320680;
double r320682 = r320670 * r320681;
double r320683 = r320669 + r320682;
double r320684 = 7.0;
double r320685 = 3.0;
double r320686 = pow(r320667, r320685);
double r320687 = r320684 * r320686;
double r320688 = r320683 - r320687;
double r320689 = 56.0;
double r320690 = z;
double r320691 = 3.0;
double r320692 = pow(r320690, r320691);
double r320693 = r320689 * r320692;
double r320694 = r320688 - r320693;
double r320695 = r320667 * r320694;
return r320695;
}



# Try it out

Results

 In Out
Enter valid numbers for all inputs

# Derivation

1. Initial program 16.6

$\left(\left(\left(x \cdot x - 7 \cdot x\right) \cdot x + 28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\right) \cdot x$
2. Simplified16.6

$\leadsto \color{blue}{x \cdot \left(\left(28 \cdot {y}^{2} + x \cdot \left(x \cdot \left(x - 7\right)\right)\right) \cdot x - 56 \cdot {z}^{3}\right)}$
3. Taylor expanded around -inf 16.5

$\leadsto x \cdot \left(\color{blue}{\left(\left({x}^{4} + 28 \cdot \left(\left(x \cdot {y}^{2}\right) \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right)\right) - 7 \cdot {x}^{3}\right)} - 56 \cdot {z}^{3}\right)$
4. Using strategy rm
5. Applied unpow216.5

$\leadsto x \cdot \left(\left(\left({x}^{4} + 28 \cdot \left(\left(x \cdot \color{blue}{\left(y \cdot y\right)}\right) \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right)\right) - 7 \cdot {x}^{3}\right) - 56 \cdot {z}^{3}\right)$
6. Applied associate-*r*10.0

$\leadsto x \cdot \left(\left(\left({x}^{4} + 28 \cdot \left(\color{blue}{\left(\left(x \cdot y\right) \cdot y\right)} \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right)\right) - 7 \cdot {x}^{3}\right) - 56 \cdot {z}^{3}\right)$
7. Final simplification10.0

$\leadsto x \cdot \left(\left(\left({x}^{4} + 28 \cdot \left(\left(\left(x \cdot y\right) \cdot y\right) \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right)\right) - 7 \cdot {x}^{3}\right) - 56 \cdot {z}^{3}\right)$

# Reproduce

herbie shell --seed 1
(FPCore (x y z)
:name "(((x*x-7*x)*x+28*pow(y,2))*x - 56*pow(z,3))*x"
:precision binary64
(* (- (* (+ (* (- (* x x) (* 7 x)) x) (* 28 (pow y 2))) x) (* 56 (pow z 3))) x))