Rump's expression from Stadtherr's award speech

Percentage Accurate: 9.2% → 8.2%
Time: 11.0s
Alternatives: 4
Speedup: N/A×

Specification

?
\[x = 77617 \land y = 33096\]
\[\begin{array}{l} \\ -0.8273960599468214 \end{array} \]
(FPCore (x y) :precision binary64 -0.8273960599468214)
double code(double x, double y) {
	return -0.8273960599468214;
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = -0.8273960599468214d0
end function
public static double code(double x, double y) {
	return -0.8273960599468214;
}
def code(x, y):
	return -0.8273960599468214
function code(x, y)
	return -0.8273960599468214
end
function tmp = code(x, y)
	tmp = -0.8273960599468214;
end
code[x_, y_] := -0.8273960599468214
\begin{array}{l}

\\
-0.8273960599468214
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 4 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 9.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \end{array} \]
(FPCore (x y)
 :precision binary64
 (+
  (+
   (+
    (* 333.75 (pow y 6.0))
    (*
     (* x x)
     (-
      (- (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0)) (* 121.0 (pow y 4.0)))
      2.0)))
   (* 5.5 (pow y 8.0)))
  (/ x (* 2.0 y))))
double code(double x, double y) {
	return (((333.75 * pow(y, 6.0)) + ((x * x) * (((((((11.0 * x) * x) * y) * y) - pow(y, 6.0)) - (121.0 * pow(y, 4.0))) - 2.0))) + (5.5 * pow(y, 8.0))) + (x / (2.0 * y));
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = (((333.75d0 * (y ** 6.0d0)) + ((x * x) * (((((((11.0d0 * x) * x) * y) * y) - (y ** 6.0d0)) - (121.0d0 * (y ** 4.0d0))) - 2.0d0))) + (5.5d0 * (y ** 8.0d0))) + (x / (2.0d0 * y))
end function
public static double code(double x, double y) {
	return (((333.75 * Math.pow(y, 6.0)) + ((x * x) * (((((((11.0 * x) * x) * y) * y) - Math.pow(y, 6.0)) - (121.0 * Math.pow(y, 4.0))) - 2.0))) + (5.5 * Math.pow(y, 8.0))) + (x / (2.0 * y));
}
def code(x, y):
	return (((333.75 * math.pow(y, 6.0)) + ((x * x) * (((((((11.0 * x) * x) * y) * y) - math.pow(y, 6.0)) - (121.0 * math.pow(y, 4.0))) - 2.0))) + (5.5 * math.pow(y, 8.0))) + (x / (2.0 * y))
function code(x, y)
	return Float64(Float64(Float64(Float64(333.75 * (y ^ 6.0)) + Float64(Float64(x * x) * Float64(Float64(Float64(Float64(Float64(Float64(Float64(11.0 * x) * x) * y) * y) - (y ^ 6.0)) - Float64(121.0 * (y ^ 4.0))) - 2.0))) + Float64(5.5 * (y ^ 8.0))) + Float64(x / Float64(2.0 * y)))
end
function tmp = code(x, y)
	tmp = (((333.75 * (y ^ 6.0)) + ((x * x) * (((((((11.0 * x) * x) * y) * y) - (y ^ 6.0)) - (121.0 * (y ^ 4.0))) - 2.0))) + (5.5 * (y ^ 8.0))) + (x / (2.0 * y));
end
code[x_, y_] := N[(N[(N[(N[(333.75 * N[Power[y, 6.0], $MachinePrecision]), $MachinePrecision] + N[(N[(x * x), $MachinePrecision] * N[(N[(N[(N[(N[(N[(N[(11.0 * x), $MachinePrecision] * x), $MachinePrecision] * y), $MachinePrecision] * y), $MachinePrecision] - N[Power[y, 6.0], $MachinePrecision]), $MachinePrecision] - N[(121.0 * N[Power[y, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(5.5 * N[Power[y, 8.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x / N[(2.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}
\end{array}

Alternative 1: 8.2% accurate, 0.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)}\\ \left(\left(333.75 - x\right) \cdot {y}^{6} + t\_0 \cdot \left(t\_0 \cdot 5.5\right)\right) + \frac{x}{2 \cdot y} \end{array} \end{array} \]
(FPCore (x y)
 :precision binary64
 (let* ((t_0 (pow (exp 6.0) (* (log y) 0.5))))
   (+ (+ (* (- 333.75 x) (pow y 6.0)) (* t_0 (* t_0 5.5))) (/ x (* 2.0 y)))))
double code(double x, double y) {
	double t_0 = pow(exp(6.0), (log(y) * 0.5));
	return (((333.75 - x) * pow(y, 6.0)) + (t_0 * (t_0 * 5.5))) + (x / (2.0 * y));
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8) :: t_0
    t_0 = exp(6.0d0) ** (log(y) * 0.5d0)
    code = (((333.75d0 - x) * (y ** 6.0d0)) + (t_0 * (t_0 * 5.5d0))) + (x / (2.0d0 * y))
end function
public static double code(double x, double y) {
	double t_0 = Math.pow(Math.exp(6.0), (Math.log(y) * 0.5));
	return (((333.75 - x) * Math.pow(y, 6.0)) + (t_0 * (t_0 * 5.5))) + (x / (2.0 * y));
}
def code(x, y):
	t_0 = math.pow(math.exp(6.0), (math.log(y) * 0.5))
	return (((333.75 - x) * math.pow(y, 6.0)) + (t_0 * (t_0 * 5.5))) + (x / (2.0 * y))
function code(x, y)
	t_0 = exp(6.0) ^ Float64(log(y) * 0.5)
	return Float64(Float64(Float64(Float64(333.75 - x) * (y ^ 6.0)) + Float64(t_0 * Float64(t_0 * 5.5))) + Float64(x / Float64(2.0 * y)))
end
function tmp = code(x, y)
	t_0 = exp(6.0) ^ (log(y) * 0.5);
	tmp = (((333.75 - x) * (y ^ 6.0)) + (t_0 * (t_0 * 5.5))) + (x / (2.0 * y));
end
code[x_, y_] := Block[{t$95$0 = N[Power[N[Exp[6.0], $MachinePrecision], N[(N[Log[y], $MachinePrecision] * 0.5), $MachinePrecision]], $MachinePrecision]}, N[(N[(N[(N[(333.75 - x), $MachinePrecision] * N[Power[y, 6.0], $MachinePrecision]), $MachinePrecision] + N[(t$95$0 * N[(t$95$0 * 5.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x / N[(2.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)}\\
\left(\left(333.75 - x\right) \cdot {y}^{6} + t\_0 \cdot \left(t\_0 \cdot 5.5\right)\right) + \frac{x}{2 \cdot y}
\end{array}
\end{array}
Derivation
  1. Initial program 9.2%

    \[\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{121 \cdot {y}^{4}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    2. lift-pow.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot \color{blue}{{y}^{4}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    3. sqr-powN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    4. associate-*r*N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left(121 \cdot {y}^{\left(\frac{4}{2}\right)}\right) \cdot {y}^{\left(\frac{4}{2}\right)}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    5. *-commutativeN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    6. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    7. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    8. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left({y}^{\color{blue}{2}} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    9. unpow2N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\color{blue}{\left(y \cdot y\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    10. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\color{blue}{\left(y \cdot y\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    11. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot {y}^{\color{blue}{2}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    12. unpow2N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \color{blue}{\left(y \cdot y\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    13. lower-*.f649.2

      \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \color{blue}{\left(y \cdot y\right)}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  4. Applied rewrites9.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  5. Applied rewrites7.9%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + \color{blue}{{\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot 5.5\right)}\right) + \frac{x}{2 \cdot y} \]
  6. Applied rewrites8.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \color{blue}{x} \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot 5.5\right)\right) + \frac{x}{2 \cdot y} \]
  7. Taylor expanded in y around inf

    \[\leadsto \left(\color{blue}{{y}^{6} \cdot \left(\frac{1335}{4} + -1 \cdot x\right)} + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
  8. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\color{blue}{\left(\frac{1335}{4} + -1 \cdot x\right) \cdot {y}^{6}} + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    2. lower-*.f64N/A

      \[\leadsto \left(\color{blue}{\left(\frac{1335}{4} + -1 \cdot x\right) \cdot {y}^{6}} + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    3. mul-1-negN/A

      \[\leadsto \left(\left(\frac{1335}{4} + \color{blue}{\left(\mathsf{neg}\left(x\right)\right)}\right) \cdot {y}^{6} + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    4. unsub-negN/A

      \[\leadsto \left(\color{blue}{\left(\frac{1335}{4} - x\right)} \cdot {y}^{6} + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    5. lower--.f64N/A

      \[\leadsto \left(\color{blue}{\left(\frac{1335}{4} - x\right)} \cdot {y}^{6} + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    6. lower-pow.f648.2

      \[\leadsto \left(\left(333.75 - x\right) \cdot \color{blue}{{y}^{6}} + {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot 5.5\right)\right) + \frac{x}{2 \cdot y} \]
  9. Applied rewrites8.2%

    \[\leadsto \left(\color{blue}{\left(333.75 - x\right) \cdot {y}^{6}} + {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot 5.5\right)\right) + \frac{x}{2 \cdot y} \]
  10. Add Preprocessing

Alternative 2: 8.2% accurate, 0.8× speedup?

\[\begin{array}{l} \\ \left(\left(333.75 \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left(\left(\left(y \cdot y\right) \cdot y\right) \cdot 5.5\right)\right) + \frac{x}{2 \cdot y} \end{array} \]
(FPCore (x y)
 :precision binary64
 (+
  (+
   (+
    (* 333.75 (pow y 6.0))
    (*
     x
     (-
      (-
       (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0))
       (* (* (* y y) 121.0) (* y y)))
      2.0)))
   (* (pow (exp 6.0) (* (log y) 0.5)) (* (* (* y y) y) 5.5)))
  (/ x (* 2.0 y))))
double code(double x, double y) {
	return (((333.75 * pow(y, 6.0)) + (x * (((((((11.0 * x) * x) * y) * y) - pow(y, 6.0)) - (((y * y) * 121.0) * (y * y))) - 2.0))) + (pow(exp(6.0), (log(y) * 0.5)) * (((y * y) * y) * 5.5))) + (x / (2.0 * y));
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = (((333.75d0 * (y ** 6.0d0)) + (x * (((((((11.0d0 * x) * x) * y) * y) - (y ** 6.0d0)) - (((y * y) * 121.0d0) * (y * y))) - 2.0d0))) + ((exp(6.0d0) ** (log(y) * 0.5d0)) * (((y * y) * y) * 5.5d0))) + (x / (2.0d0 * y))
end function
public static double code(double x, double y) {
	return (((333.75 * Math.pow(y, 6.0)) + (x * (((((((11.0 * x) * x) * y) * y) - Math.pow(y, 6.0)) - (((y * y) * 121.0) * (y * y))) - 2.0))) + (Math.pow(Math.exp(6.0), (Math.log(y) * 0.5)) * (((y * y) * y) * 5.5))) + (x / (2.0 * y));
}
def code(x, y):
	return (((333.75 * math.pow(y, 6.0)) + (x * (((((((11.0 * x) * x) * y) * y) - math.pow(y, 6.0)) - (((y * y) * 121.0) * (y * y))) - 2.0))) + (math.pow(math.exp(6.0), (math.log(y) * 0.5)) * (((y * y) * y) * 5.5))) + (x / (2.0 * y))
function code(x, y)
	return Float64(Float64(Float64(Float64(333.75 * (y ^ 6.0)) + Float64(x * Float64(Float64(Float64(Float64(Float64(Float64(Float64(11.0 * x) * x) * y) * y) - (y ^ 6.0)) - Float64(Float64(Float64(y * y) * 121.0) * Float64(y * y))) - 2.0))) + Float64((exp(6.0) ^ Float64(log(y) * 0.5)) * Float64(Float64(Float64(y * y) * y) * 5.5))) + Float64(x / Float64(2.0 * y)))
end
function tmp = code(x, y)
	tmp = (((333.75 * (y ^ 6.0)) + (x * (((((((11.0 * x) * x) * y) * y) - (y ^ 6.0)) - (((y * y) * 121.0) * (y * y))) - 2.0))) + ((exp(6.0) ^ (log(y) * 0.5)) * (((y * y) * y) * 5.5))) + (x / (2.0 * y));
end
code[x_, y_] := N[(N[(N[(N[(333.75 * N[Power[y, 6.0], $MachinePrecision]), $MachinePrecision] + N[(x * N[(N[(N[(N[(N[(N[(N[(11.0 * x), $MachinePrecision] * x), $MachinePrecision] * y), $MachinePrecision] * y), $MachinePrecision] - N[Power[y, 6.0], $MachinePrecision]), $MachinePrecision] - N[(N[(N[(y * y), $MachinePrecision] * 121.0), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[Power[N[Exp[6.0], $MachinePrecision], N[(N[Log[y], $MachinePrecision] * 0.5), $MachinePrecision]], $MachinePrecision] * N[(N[(N[(y * y), $MachinePrecision] * y), $MachinePrecision] * 5.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x / N[(2.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\left(\left(333.75 \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left(\left(\left(y \cdot y\right) \cdot y\right) \cdot 5.5\right)\right) + \frac{x}{2 \cdot y}
\end{array}
Derivation
  1. Initial program 9.2%

    \[\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{121 \cdot {y}^{4}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    2. lift-pow.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot \color{blue}{{y}^{4}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    3. sqr-powN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    4. associate-*r*N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left(121 \cdot {y}^{\left(\frac{4}{2}\right)}\right) \cdot {y}^{\left(\frac{4}{2}\right)}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    5. *-commutativeN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    6. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    7. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    8. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left({y}^{\color{blue}{2}} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    9. unpow2N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\color{blue}{\left(y \cdot y\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    10. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\color{blue}{\left(y \cdot y\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    11. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot {y}^{\color{blue}{2}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    12. unpow2N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \color{blue}{\left(y \cdot y\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    13. lower-*.f649.2

      \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \color{blue}{\left(y \cdot y\right)}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  4. Applied rewrites9.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  5. Applied rewrites7.9%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + \color{blue}{{\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot 5.5\right)}\right) + \frac{x}{2 \cdot y} \]
  6. Applied rewrites8.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \color{blue}{x} \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left({\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot 5.5\right)\right) + \frac{x}{2 \cdot y} \]
  7. Step-by-step derivation
    1. lift-pow.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left(\color{blue}{{\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    2. lift-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{6}\right)}^{\color{blue}{\left(\log y \cdot \frac{1}{2}\right)}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    3. pow-unpowN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left(\color{blue}{{\left({\left(e^{6}\right)}^{\log y}\right)}^{\frac{1}{2}}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    4. lift-exp.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left({\color{blue}{\left(e^{6}\right)}}^{\log y}\right)}^{\frac{1}{2}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    5. pow-expN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\color{blue}{\left(e^{6 \cdot \log y}\right)}}^{\frac{1}{2}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    6. *-commutativeN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{\color{blue}{\log y \cdot 6}}\right)}^{\frac{1}{2}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    7. lift-log.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\left(e^{\color{blue}{\log y} \cdot 6}\right)}^{\frac{1}{2}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    8. pow-to-expN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({\color{blue}{\left({y}^{6}\right)}}^{\frac{1}{2}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    9. pow-powN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left(\color{blue}{{y}^{\left(6 \cdot \frac{1}{2}\right)}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    10. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left({y}^{\color{blue}{3}} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    11. unpow3N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left(\color{blue}{\left(\left(y \cdot y\right) \cdot y\right)} \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    12. lift-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot \frac{1}{2}\right)} \cdot \left(\left(\color{blue}{\left(y \cdot y\right)} \cdot y\right) \cdot \frac{11}{2}\right)\right) + \frac{x}{2 \cdot y} \]
    13. lower-*.f648.2

      \[\leadsto \left(\left(333.75 \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left(\color{blue}{\left(\left(y \cdot y\right) \cdot y\right)} \cdot 5.5\right)\right) + \frac{x}{2 \cdot y} \]
  8. Applied rewrites8.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + x \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + {\left(e^{6}\right)}^{\left(\log y \cdot 0.5\right)} \cdot \left(\color{blue}{\left(\left(y \cdot y\right) \cdot y\right)} \cdot 5.5\right)\right) + \frac{x}{2 \cdot y} \]
  9. Add Preprocessing

Alternative 3: 8.2% accurate, 3.5× speedup?

\[\begin{array}{l} \\ \left(\left(333.75 - x\right) \cdot {y}^{6} + y \cdot 5.5\right) + \frac{x}{2 \cdot y} \end{array} \]
(FPCore (x y)
 :precision binary64
 (+ (+ (* (- 333.75 x) (pow y 6.0)) (* y 5.5)) (/ x (* 2.0 y))))
double code(double x, double y) {
	return (((333.75 - x) * pow(y, 6.0)) + (y * 5.5)) + (x / (2.0 * y));
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = (((333.75d0 - x) * (y ** 6.0d0)) + (y * 5.5d0)) + (x / (2.0d0 * y))
end function
public static double code(double x, double y) {
	return (((333.75 - x) * Math.pow(y, 6.0)) + (y * 5.5)) + (x / (2.0 * y));
}
def code(x, y):
	return (((333.75 - x) * math.pow(y, 6.0)) + (y * 5.5)) + (x / (2.0 * y))
function code(x, y)
	return Float64(Float64(Float64(Float64(333.75 - x) * (y ^ 6.0)) + Float64(y * 5.5)) + Float64(x / Float64(2.0 * y)))
end
function tmp = code(x, y)
	tmp = (((333.75 - x) * (y ^ 6.0)) + (y * 5.5)) + (x / (2.0 * y));
end
code[x_, y_] := N[(N[(N[(N[(333.75 - x), $MachinePrecision] * N[Power[y, 6.0], $MachinePrecision]), $MachinePrecision] + N[(y * 5.5), $MachinePrecision]), $MachinePrecision] + N[(x / N[(2.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\left(\left(333.75 - x\right) \cdot {y}^{6} + y \cdot 5.5\right) + \frac{x}{2 \cdot y}
\end{array}
Derivation
  1. Initial program 9.2%

    \[\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{121 \cdot {y}^{4}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    2. lift-pow.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot \color{blue}{{y}^{4}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    3. sqr-powN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    4. associate-*r*N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left(121 \cdot {y}^{\left(\frac{4}{2}\right)}\right) \cdot {y}^{\left(\frac{4}{2}\right)}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    5. *-commutativeN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    6. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    7. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    8. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left({y}^{\color{blue}{2}} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    9. unpow2N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\color{blue}{\left(y \cdot y\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    10. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\color{blue}{\left(y \cdot y\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    11. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot {y}^{\color{blue}{2}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    12. unpow2N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \color{blue}{\left(y \cdot y\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    13. lower-*.f649.2

      \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \color{blue}{\left(y \cdot y\right)}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  4. Applied rewrites9.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  5. Applied rewrites7.9%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + \color{blue}{y \cdot 5.5}\right) + \frac{x}{2 \cdot y} \]
  6. Applied rewrites8.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \color{blue}{x} \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + y \cdot 5.5\right) + \frac{x}{2 \cdot y} \]
  7. Taylor expanded in y around inf

    \[\leadsto \left(\color{blue}{{y}^{6} \cdot \left(\frac{1335}{4} + -1 \cdot x\right)} + y \cdot \frac{11}{2}\right) + \frac{x}{2 \cdot y} \]
  8. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\color{blue}{\left(\frac{1335}{4} + -1 \cdot x\right) \cdot {y}^{6}} + y \cdot \frac{11}{2}\right) + \frac{x}{2 \cdot y} \]
    2. lower-*.f64N/A

      \[\leadsto \left(\color{blue}{\left(\frac{1335}{4} + -1 \cdot x\right) \cdot {y}^{6}} + y \cdot \frac{11}{2}\right) + \frac{x}{2 \cdot y} \]
    3. mul-1-negN/A

      \[\leadsto \left(\left(\frac{1335}{4} + \color{blue}{\left(\mathsf{neg}\left(x\right)\right)}\right) \cdot {y}^{6} + y \cdot \frac{11}{2}\right) + \frac{x}{2 \cdot y} \]
    4. unsub-negN/A

      \[\leadsto \left(\color{blue}{\left(\frac{1335}{4} - x\right)} \cdot {y}^{6} + y \cdot \frac{11}{2}\right) + \frac{x}{2 \cdot y} \]
    5. lower--.f64N/A

      \[\leadsto \left(\color{blue}{\left(\frac{1335}{4} - x\right)} \cdot {y}^{6} + y \cdot \frac{11}{2}\right) + \frac{x}{2 \cdot y} \]
    6. lower-pow.f648.2

      \[\leadsto \left(\left(333.75 - x\right) \cdot \color{blue}{{y}^{6}} + y \cdot 5.5\right) + \frac{x}{2 \cdot y} \]
  9. Applied rewrites8.2%

    \[\leadsto \left(\color{blue}{\left(333.75 - x\right) \cdot {y}^{6}} + y \cdot 5.5\right) + \frac{x}{2 \cdot y} \]
  10. Add Preprocessing

Alternative 4: 1.5% accurate, 3.6× speedup?

\[\begin{array}{l} \\ \left(333.75 \cdot {y}^{6} + y \cdot 5.5\right) + \frac{x}{2 \cdot y} \end{array} \]
(FPCore (x y)
 :precision binary64
 (+ (+ (* 333.75 (pow y 6.0)) (* y 5.5)) (/ x (* 2.0 y))))
double code(double x, double y) {
	return ((333.75 * pow(y, 6.0)) + (y * 5.5)) + (x / (2.0 * y));
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = ((333.75d0 * (y ** 6.0d0)) + (y * 5.5d0)) + (x / (2.0d0 * y))
end function
public static double code(double x, double y) {
	return ((333.75 * Math.pow(y, 6.0)) + (y * 5.5)) + (x / (2.0 * y));
}
def code(x, y):
	return ((333.75 * math.pow(y, 6.0)) + (y * 5.5)) + (x / (2.0 * y))
function code(x, y)
	return Float64(Float64(Float64(333.75 * (y ^ 6.0)) + Float64(y * 5.5)) + Float64(x / Float64(2.0 * y)))
end
function tmp = code(x, y)
	tmp = ((333.75 * (y ^ 6.0)) + (y * 5.5)) + (x / (2.0 * y));
end
code[x_, y_] := N[(N[(N[(333.75 * N[Power[y, 6.0], $MachinePrecision]), $MachinePrecision] + N[(y * 5.5), $MachinePrecision]), $MachinePrecision] + N[(x / N[(2.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\left(333.75 \cdot {y}^{6} + y \cdot 5.5\right) + \frac{x}{2 \cdot y}
\end{array}
Derivation
  1. Initial program 9.2%

    \[\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{121 \cdot {y}^{4}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    2. lift-pow.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot \color{blue}{{y}^{4}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    3. sqr-powN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    4. associate-*r*N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left(121 \cdot {y}^{\left(\frac{4}{2}\right)}\right) \cdot {y}^{\left(\frac{4}{2}\right)}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    5. *-commutativeN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    6. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    7. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left({y}^{\left(\frac{4}{2}\right)} \cdot 121\right)} \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    8. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left({y}^{\color{blue}{2}} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    9. unpow2N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\color{blue}{\left(y \cdot y\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    10. lower-*.f64N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\color{blue}{\left(y \cdot y\right)} \cdot 121\right) \cdot {y}^{\left(\frac{4}{2}\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    11. metadata-evalN/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot {y}^{\color{blue}{2}}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    12. unpow2N/A

      \[\leadsto \left(\left(\frac{1335}{4} \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \color{blue}{\left(y \cdot y\right)}\right) - 2\right)\right) + \frac{11}{2} \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
    13. lower-*.f649.2

      \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \color{blue}{\left(y \cdot y\right)}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  4. Applied rewrites9.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \color{blue}{\left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y} \]
  5. Applied rewrites7.9%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + \color{blue}{y \cdot 5.5}\right) + \frac{x}{2 \cdot y} \]
  6. Applied rewrites8.2%

    \[\leadsto \left(\left(333.75 \cdot {y}^{6} + \color{blue}{x} \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \left(\left(y \cdot y\right) \cdot 121\right) \cdot \left(y \cdot y\right)\right) - 2\right)\right) + y \cdot 5.5\right) + \frac{x}{2 \cdot y} \]
  7. Taylor expanded in x around 0

    \[\leadsto \left(\color{blue}{\frac{1335}{4} \cdot {y}^{6}} + y \cdot \frac{11}{2}\right) + \frac{x}{2 \cdot y} \]
  8. Step-by-step derivation
    1. lower-*.f64N/A

      \[\leadsto \left(\color{blue}{\frac{1335}{4} \cdot {y}^{6}} + y \cdot \frac{11}{2}\right) + \frac{x}{2 \cdot y} \]
    2. lower-pow.f641.5

      \[\leadsto \left(333.75 \cdot \color{blue}{{y}^{6}} + y \cdot 5.5\right) + \frac{x}{2 \cdot y} \]
  9. Applied rewrites1.5%

    \[\leadsto \left(\color{blue}{333.75 \cdot {y}^{6}} + y \cdot 5.5\right) + \frac{x}{2 \cdot y} \]
  10. Add Preprocessing

Reproduce

?
herbie shell --seed 2024298 
(FPCore (x y)
  :name "Rump's expression from Stadtherr's award speech"
  :precision binary64
  :pre (and (== x 77617.0) (== y 33096.0))
  (+ (+ (+ (* 333.75 (pow y 6.0)) (* (* x x) (- (- (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0)) (* 121.0 (pow y 4.0))) 2.0))) (* 5.5 (pow y 8.0))) (/ x (* 2.0 y))))