Average Error: 28.9 → 10.1
Time: 49.6s
Precision: binary64
Cost: 5316
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
\[\begin{array}{l} t_1 := i + y \cdot \left(c + y \cdot \left(y \cdot \left(y + a\right) + b\right)\right)\\ t_2 := y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right)\\ \mathbf{if}\;\frac{t_2 + t}{t_1} \leq 2 \cdot 10^{+294}:\\ \;\;\;\;\frac{t}{t_1} + \frac{t_2}{t_1}\\ \mathbf{else}:\\ \;\;\;\;x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \end{array} \]
(FPCore (x y z t a b c i)
 :precision binary64
 (/
  (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)
  (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
(FPCore (x y z t a b c i)
 :precision binary64
 (let* ((t_1 (+ i (* y (+ c (* y (+ (* y (+ y a)) b))))))
        (t_2
         (* y (+ (* y (+ (* y (+ (* x y) z)) 27464.7644705)) 230661.510616))))
   (if (<= (/ (+ t_2 t) t_1) 2e+294)
     (+ (/ t t_1) (/ t_2 t_1))
     (+ x (- (/ z y) (/ x (/ y a)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = i + (y * (c + (y * ((y * (y + a)) + b))));
	double t_2 = y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616);
	double tmp;
	if (((t_2 + t) / t_1) <= 2e+294) {
		tmp = (t / t_1) + (t_2 / t_1);
	} else {
		tmp = x + ((z / y) - (x / (y / a)));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8), intent (in) :: i
    code = ((((((((x * y) + z) * y) + 27464.7644705d0) * y) + 230661.510616d0) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
end function
real(8) function code(x, y, z, t, a, b, c, i)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8), intent (in) :: i
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = i + (y * (c + (y * ((y * (y + a)) + b))))
    t_2 = y * ((y * ((y * ((x * y) + z)) + 27464.7644705d0)) + 230661.510616d0)
    if (((t_2 + t) / t_1) <= 2d+294) then
        tmp = (t / t_1) + (t_2 / t_1)
    else
        tmp = x + ((z / y) - (x / (y / a)))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i) {
	double t_1 = i + (y * (c + (y * ((y * (y + a)) + b))));
	double t_2 = y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616);
	double tmp;
	if (((t_2 + t) / t_1) <= 2e+294) {
		tmp = (t / t_1) + (t_2 / t_1);
	} else {
		tmp = x + ((z / y) - (x / (y / a)));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c, i):
	return ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i)
def code(x, y, z, t, a, b, c, i):
	t_1 = i + (y * (c + (y * ((y * (y + a)) + b))))
	t_2 = y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616)
	tmp = 0
	if ((t_2 + t) / t_1) <= 2e+294:
		tmp = (t / t_1) + (t_2 / t_1)
	else:
		tmp = x + ((z / y) - (x / (y / a)))
	return tmp
function code(x, y, z, t, a, b, c, i)
	return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / Float64(Float64(Float64(Float64(Float64(Float64(Float64(y + a) * y) + b) * y) + c) * y) + i))
end
function code(x, y, z, t, a, b, c, i)
	t_1 = Float64(i + Float64(y * Float64(c + Float64(y * Float64(Float64(y * Float64(y + a)) + b)))))
	t_2 = Float64(y * Float64(Float64(y * Float64(Float64(y * Float64(Float64(x * y) + z)) + 27464.7644705)) + 230661.510616))
	tmp = 0.0
	if (Float64(Float64(t_2 + t) / t_1) <= 2e+294)
		tmp = Float64(Float64(t / t_1) + Float64(t_2 / t_1));
	else
		tmp = Float64(x + Float64(Float64(z / y) - Float64(x / Float64(y / a))));
	end
	return tmp
end
function tmp = code(x, y, z, t, a, b, c, i)
	tmp = ((((((((x * y) + z) * y) + 27464.7644705) * y) + 230661.510616) * y) + t) / (((((((y + a) * y) + b) * y) + c) * y) + i);
end
function tmp_2 = code(x, y, z, t, a, b, c, i)
	t_1 = i + (y * (c + (y * ((y * (y + a)) + b))));
	t_2 = y * ((y * ((y * ((x * y) + z)) + 27464.7644705)) + 230661.510616);
	tmp = 0.0;
	if (((t_2 + t) / t_1) <= 2e+294)
		tmp = (t / t_1) + (t_2 / t_1);
	else
		tmp = x + ((z / y) - (x / (y / a)));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_, i_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision] * y), $MachinePrecision] + 27464.7644705), $MachinePrecision] * y), $MachinePrecision] + 230661.510616), $MachinePrecision] * y), $MachinePrecision] + t), $MachinePrecision] / N[(N[(N[(N[(N[(N[(N[(y + a), $MachinePrecision] * y), $MachinePrecision] + b), $MachinePrecision] * y), $MachinePrecision] + c), $MachinePrecision] * y), $MachinePrecision] + i), $MachinePrecision]), $MachinePrecision]
code[x_, y_, z_, t_, a_, b_, c_, i_] := Block[{t$95$1 = N[(i + N[(y * N[(c + N[(y * N[(N[(y * N[(y + a), $MachinePrecision]), $MachinePrecision] + b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(N[(y * N[(N[(y * N[(N[(x * y), $MachinePrecision] + z), $MachinePrecision]), $MachinePrecision] + 27464.7644705), $MachinePrecision]), $MachinePrecision] + 230661.510616), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(t$95$2 + t), $MachinePrecision] / t$95$1), $MachinePrecision], 2e+294], N[(N[(t / t$95$1), $MachinePrecision] + N[(t$95$2 / t$95$1), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(z / y), $MachinePrecision] - N[(x / N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\begin{array}{l}
t_1 := i + y \cdot \left(c + y \cdot \left(y \cdot \left(y + a\right) + b\right)\right)\\
t_2 := y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right)\\
\mathbf{if}\;\frac{t_2 + t}{t_1} \leq 2 \cdot 10^{+294}:\\
\;\;\;\;\frac{t}{t_1} + \frac{t_2}{t_1}\\

\mathbf{else}:\\
\;\;\;\;x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\


\end{array}

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i)) < 2.00000000000000013e294

    1. Initial program 5.3

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Simplified5.3

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right), 230661.510616\right), t\right)}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, y + a, b\right), c\right), i\right)}} \]
      Proof
      (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 x y) z)) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (fma.f64 y (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 x y) z)) 54929528941/2000000)) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (fma.f64 y (fma.f64 y (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 x y) z) y)) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000)) 28832688827/125000)) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 1 points increase in error, 1 points decrease in error
      (/.f64 (fma.f64 y (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y)) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000)) t)) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 1 points decrease in error
      (/.f64 (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y)) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (fma.f64 y (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 y a)) b)) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (fma.f64 y (fma.f64 y (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 y a) y)) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 (+.f64 y a) y) b)) c)) i)): 1 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (fma.f64 y (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y)) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c)) i))): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y)) i)): 0 points increase in error, 0 points decrease in error
    3. Taylor expanded in t around inf 5.3

      \[\leadsto \color{blue}{\frac{t}{y \cdot \left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) + i} + \frac{\left(230661.510616 + y \cdot \left(27464.7644705 + \left(y \cdot x + z\right) \cdot y\right)\right) \cdot y}{y \cdot \left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) + i}} \]

    if 2.00000000000000013e294 < (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i))

    1. Initial program 63.8

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \]
    2. Simplified63.8

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right), 230661.510616\right), t\right)}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, y + a, b\right), c\right), i\right)}} \]
      Proof
      (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 x y) z)) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (fma.f64 y (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 x y) z)) 54929528941/2000000)) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (fma.f64 y (fma.f64 y (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 x y) z) y)) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000)) 28832688827/125000)) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 1 points increase in error, 1 points decrease in error
      (/.f64 (fma.f64 y (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y)) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000)) t)) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 1 points decrease in error
      (/.f64 (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y)) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (fma.f64 y (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 y a)) b)) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (fma.f64 y (fma.f64 y (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 y a) y)) b) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (fma.f64 y (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 (+.f64 y a) y) b)) c)) i)): 1 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (fma.f64 y (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y)) c) i)): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c)) i))): 0 points increase in error, 0 points decrease in error
      (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y)) i)): 0 points increase in error, 0 points decrease in error
    3. Taylor expanded in y around inf 19.9

      \[\leadsto \color{blue}{\left(\frac{z}{y} + x\right) - \frac{a \cdot x}{y}} \]
    4. Simplified17.0

      \[\leadsto \color{blue}{x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)} \]
      Proof
      (+.f64 x (-.f64 (/.f64 z y) (/.f64 x (/.f64 y a)))): 0 points increase in error, 0 points decrease in error
      (+.f64 x (-.f64 (/.f64 z y) (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 x a) y)))): 22 points increase in error, 12 points decrease in error
      (+.f64 x (-.f64 (/.f64 z y) (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 a x)) y))): 0 points increase in error, 0 points decrease in error
      (Rewrite<= associate--l+_binary64 (-.f64 (+.f64 x (/.f64 z y)) (/.f64 (*.f64 a x) y))): 0 points increase in error, 0 points decrease in error
      (-.f64 (Rewrite<= +-commutative_binary64 (+.f64 (/.f64 z y) x)) (/.f64 (*.f64 a x) y)): 0 points increase in error, 0 points decrease in error
  3. Recombined 2 regimes into one program.
  4. Final simplification10.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right) + t}{i + y \cdot \left(c + y \cdot \left(y \cdot \left(y + a\right) + b\right)\right)} \leq 2 \cdot 10^{+294}:\\ \;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot \left(y \cdot \left(y + a\right) + b\right)\right)} + \frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right)}{i + y \cdot \left(c + y \cdot \left(y \cdot \left(y + a\right) + b\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \end{array} \]

Alternatives

Alternative 1
Error10.1
Cost4292
\[\begin{array}{l} t_1 := \frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right) + t}{i + y \cdot \left(c + y \cdot \left(y \cdot \left(y + a\right) + b\right)\right)}\\ \mathbf{if}\;t_1 \leq 2 \cdot 10^{+294}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \end{array} \]
Alternative 2
Error12.5
Cost2248
\[\begin{array}{l} t_1 := i + y \cdot \left(c + y \cdot \left(y \cdot \left(y + a\right) + b\right)\right)\\ t_2 := x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \mathbf{if}\;y \leq -8.10414200648988 \cdot 10^{+66}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;y \leq -1.944299199385901 \cdot 10^{-14}:\\ \;\;\;\;\frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right)}{t_1}\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(y \cdot z\right)\right)}{t_1}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 3
Error13.3
Cost1992
\[\begin{array}{l} t_1 := x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \mathbf{if}\;y \leq -129685372638629700:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{y \cdot \left(y \cdot \left(y \cdot \left(x \cdot y + z\right) + 27464.7644705\right) + 230661.510616\right) + t}{i + y \cdot \left(c + y \cdot b\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 4
Error12.8
Cost1992
\[\begin{array}{l} t_1 := x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \mathbf{if}\;y \leq -1.8113897935910955 \cdot 10^{+64}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(y \cdot z\right)\right)}{i + y \cdot \left(c + y \cdot \left(y \cdot \left(y + a\right) + b\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 5
Error14.8
Cost1608
\[\begin{array}{l} t_1 := x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \mathbf{if}\;y \leq -129685372638629700:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot \left(y \cdot z\right)\right)}{i + y \cdot \left(c + y \cdot b\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 6
Error16.6
Cost1480
\[\begin{array}{l} t_1 := x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \mathbf{if}\;y \leq -129685372638629700:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + y \cdot \left(230661.510616 + y \cdot 27464.7644705\right)}{i + y \cdot \left(c + y \cdot b\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 7
Error16.8
Cost1352
\[\begin{array}{l} t_1 := x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \mathbf{if}\;y \leq -129685372638629700:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i + \left(y \cdot \left(y \cdot b\right) + y \cdot c\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 8
Error16.8
Cost1224
\[\begin{array}{l} t_1 := x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \mathbf{if}\;y \leq -129685372638629700:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i + y \cdot \left(c + y \cdot b\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 9
Error22.2
Cost968
\[\begin{array}{l} t_1 := x + \frac{z - x \cdot a}{y}\\ \mathbf{if}\;y \leq -129685372638629700:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot b\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 10
Error21.1
Cost968
\[\begin{array}{l} t_1 := x + \left(\frac{z}{y} - \frac{x}{\frac{y}{a}}\right)\\ \mathbf{if}\;y \leq -129685372638629700:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t}{i + y \cdot \left(c + y \cdot b\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 11
Error26.4
Cost840
\[\begin{array}{l} t_1 := x + \frac{z - x \cdot a}{y}\\ \mathbf{if}\;y \leq -129685372638629700:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 4.6269476091697906 \cdot 10^{+22}:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 12
Error30.1
Cost712
\[\begin{array}{l} \mathbf{if}\;y \leq -1.944299199385901 \cdot 10^{-14}:\\ \;\;\;\;x\\ \mathbf{elif}\;y \leq 5.2692812630431444 \cdot 10^{-17}:\\ \;\;\;\;\frac{t + y \cdot 230661.510616}{i}\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \]
Alternative 13
Error47.1
Cost588
\[\begin{array}{l} \mathbf{if}\;z \leq -8.639085136878994 \cdot 10^{+173}:\\ \;\;\;\;\frac{z}{y}\\ \mathbf{elif}\;z \leq 1.8084060476835373 \cdot 10^{+200}:\\ \;\;\;\;x\\ \mathbf{elif}\;z \leq 3.664177737695498 \cdot 10^{+262}:\\ \;\;\;\;\frac{z}{y}\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \]
Alternative 14
Error32.2
Cost456
\[\begin{array}{l} \mathbf{if}\;y \leq -1.944299199385901 \cdot 10^{-14}:\\ \;\;\;\;x\\ \mathbf{elif}\;y \leq 16937724647966.594:\\ \;\;\;\;\frac{t}{i}\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \]
Alternative 15
Error47.3
Cost64
\[x \]

Error

Reproduce

herbie shell --seed 2022308 
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
  :precision binary64
  (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))