
(FPCore (x y z t) :precision binary64 (/ x (* (- y z) (- t z))))
double code(double x, double y, double z, double t) {
return x / ((y - z) * (t - z));
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = x / ((y - z) * (t - z))
end function
public static double code(double x, double y, double z, double t) {
return x / ((y - z) * (t - z));
}
def code(x, y, z, t): return x / ((y - z) * (t - z))
function code(x, y, z, t) return Float64(x / Float64(Float64(y - z) * Float64(t - z))) end
function tmp = code(x, y, z, t) tmp = x / ((y - z) * (t - z)); end
code[x_, y_, z_, t_] := N[(x / N[(N[(y - z), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 21 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t) :precision binary64 (/ x (* (- y z) (- t z))))
double code(double x, double y, double z, double t) {
return x / ((y - z) * (t - z));
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = x / ((y - z) * (t - z))
end function
public static double code(double x, double y, double z, double t) {
return x / ((y - z) * (t - z));
}
def code(x, y, z, t): return x / ((y - z) * (t - z))
function code(x, y, z, t) return Float64(x / Float64(Float64(y - z) * Float64(t - z))) end
function tmp = code(x, y, z, t) tmp = x / ((y - z) * (t - z)); end
code[x_, y_, z_, t_] := N[(x / N[(N[(y - z), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}
\end{array}
(FPCore (x y z t) :precision binary64 (* (/ (pow (cbrt x) 2.0) (- y z)) (/ (cbrt x) (- t z))))
double code(double x, double y, double z, double t) {
return (pow(cbrt(x), 2.0) / (y - z)) * (cbrt(x) / (t - z));
}
public static double code(double x, double y, double z, double t) {
return (Math.pow(Math.cbrt(x), 2.0) / (y - z)) * (Math.cbrt(x) / (t - z));
}
function code(x, y, z, t) return Float64(Float64((cbrt(x) ^ 2.0) / Float64(y - z)) * Float64(cbrt(x) / Float64(t - z))) end
code[x_, y_, z_, t_] := N[(N[(N[Power[N[Power[x, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision] * N[(N[Power[x, 1/3], $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{{\left(\sqrt[3]{x}\right)}^{2}}{y - z} \cdot \frac{\sqrt[3]{x}}{t - z}
\end{array}
Initial program 89.7%
add-cube-cbrt88.9%
times-frac98.1%
pow298.1%
Applied egg-rr98.1%
Final simplification98.1%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (* (/ x z) (/ (- -1.0) z))))
(if (<= y -2.7e+77)
(/ (/ x (- t z)) y)
(if (<= y -1.35e+36)
t_1
(if (<= y -490000.0)
(/ (/ x y) (- t z))
(if (<= y -6.5e-125)
t_1
(if (<= y -1.35e-160)
(/ (/ x t) (- y z))
(if (<= y -4.8e-292) t_1 (/ x (* (- y z) t))))))))))
double code(double x, double y, double z, double t) {
double t_1 = (x / z) * (-(-1.0) / z);
double tmp;
if (y <= -2.7e+77) {
tmp = (x / (t - z)) / y;
} else if (y <= -1.35e+36) {
tmp = t_1;
} else if (y <= -490000.0) {
tmp = (x / y) / (t - z);
} else if (y <= -6.5e-125) {
tmp = t_1;
} else if (y <= -1.35e-160) {
tmp = (x / t) / (y - z);
} else if (y <= -4.8e-292) {
tmp = t_1;
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: tmp
t_1 = (x / z) * (-(-1.0d0) / z)
if (y <= (-2.7d+77)) then
tmp = (x / (t - z)) / y
else if (y <= (-1.35d+36)) then
tmp = t_1
else if (y <= (-490000.0d0)) then
tmp = (x / y) / (t - z)
else if (y <= (-6.5d-125)) then
tmp = t_1
else if (y <= (-1.35d-160)) then
tmp = (x / t) / (y - z)
else if (y <= (-4.8d-292)) then
tmp = t_1
else
tmp = x / ((y - z) * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = (x / z) * (-(-1.0) / z);
double tmp;
if (y <= -2.7e+77) {
tmp = (x / (t - z)) / y;
} else if (y <= -1.35e+36) {
tmp = t_1;
} else if (y <= -490000.0) {
tmp = (x / y) / (t - z);
} else if (y <= -6.5e-125) {
tmp = t_1;
} else if (y <= -1.35e-160) {
tmp = (x / t) / (y - z);
} else if (y <= -4.8e-292) {
tmp = t_1;
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
def code(x, y, z, t): t_1 = (x / z) * (-(-1.0) / z) tmp = 0 if y <= -2.7e+77: tmp = (x / (t - z)) / y elif y <= -1.35e+36: tmp = t_1 elif y <= -490000.0: tmp = (x / y) / (t - z) elif y <= -6.5e-125: tmp = t_1 elif y <= -1.35e-160: tmp = (x / t) / (y - z) elif y <= -4.8e-292: tmp = t_1 else: tmp = x / ((y - z) * t) return tmp
function code(x, y, z, t) t_1 = Float64(Float64(x / z) * Float64(Float64(-(-1.0)) / z)) tmp = 0.0 if (y <= -2.7e+77) tmp = Float64(Float64(x / Float64(t - z)) / y); elseif (y <= -1.35e+36) tmp = t_1; elseif (y <= -490000.0) tmp = Float64(Float64(x / y) / Float64(t - z)); elseif (y <= -6.5e-125) tmp = t_1; elseif (y <= -1.35e-160) tmp = Float64(Float64(x / t) / Float64(y - z)); elseif (y <= -4.8e-292) tmp = t_1; else tmp = Float64(x / Float64(Float64(y - z) * t)); end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = (x / z) * (-(-1.0) / z); tmp = 0.0; if (y <= -2.7e+77) tmp = (x / (t - z)) / y; elseif (y <= -1.35e+36) tmp = t_1; elseif (y <= -490000.0) tmp = (x / y) / (t - z); elseif (y <= -6.5e-125) tmp = t_1; elseif (y <= -1.35e-160) tmp = (x / t) / (y - z); elseif (y <= -4.8e-292) tmp = t_1; else tmp = x / ((y - z) * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(N[(x / z), $MachinePrecision] * N[((--1.0) / z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.7e+77], N[(N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, -1.35e+36], t$95$1, If[LessEqual[y, -490000.0], N[(N[(x / y), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -6.5e-125], t$95$1, If[LessEqual[y, -1.35e-160], N[(N[(x / t), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -4.8e-292], t$95$1, N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{z} \cdot \frac{--1}{z}\\
\mathbf{if}\;y \leq -2.7 \cdot 10^{+77}:\\
\;\;\;\;\frac{\frac{x}{t - z}}{y}\\
\mathbf{elif}\;y \leq -1.35 \cdot 10^{+36}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -490000:\\
\;\;\;\;\frac{\frac{x}{y}}{t - z}\\
\mathbf{elif}\;y \leq -6.5 \cdot 10^{-125}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -1.35 \cdot 10^{-160}:\\
\;\;\;\;\frac{\frac{x}{t}}{y - z}\\
\mathbf{elif}\;y \leq -4.8 \cdot 10^{-292}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\end{array}
\end{array}
if y < -2.6999999999999998e77Initial program 85.1%
Taylor expanded in y around inf 85.1%
*-commutative85.1%
associate-/r*94.3%
Simplified94.3%
if -2.6999999999999998e77 < y < -1.35e36 or -4.9e5 < y < -6.4999999999999999e-125 or -1.35000000000000005e-160 < y < -4.8000000000000002e-292Initial program 87.6%
clear-num86.6%
inv-pow86.6%
associate-/l*95.1%
Applied egg-rr95.1%
unpow-195.1%
clear-num96.9%
div-inv96.9%
Applied egg-rr96.9%
Taylor expanded in y around 0 74.1%
Taylor expanded in t around 0 59.4%
associate-*r/25.9%
neg-mul-125.9%
Simplified59.4%
if -1.35e36 < y < -4.9e5Initial program 99.8%
add-cube-cbrt99.3%
times-frac99.2%
pow299.2%
Applied egg-rr99.2%
associate-*r/99.1%
associate-*l/99.3%
unpow299.3%
add-cube-cbrt100.0%
Applied egg-rr100.0%
Taylor expanded in y around inf 86.8%
associate-/r*87.0%
Simplified87.0%
if -6.4999999999999999e-125 < y < -1.35000000000000005e-160Initial program 82.6%
add-cube-cbrt82.1%
times-frac99.0%
pow299.0%
Applied egg-rr99.0%
associate-*r/98.8%
associate-*l/99.1%
unpow299.1%
add-cube-cbrt99.6%
Applied egg-rr99.6%
Taylor expanded in t around inf 60.3%
associate-/r*66.0%
Simplified66.0%
if -4.8000000000000002e-292 < y Initial program 93.4%
Taylor expanded in t around inf 57.2%
Final simplification66.5%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (/ (- x) (* z (- y z)))) (t_2 (/ (/ (- x) z) (- t z))))
(if (<= y -3.7e+80)
(/ (/ x (- t z)) y)
(if (<= y -2.75e+23)
t_1
(if (<= y -750000.0)
(/ (/ x y) (- t z))
(if (<= y -4.3e-79)
t_2
(if (<= y -2.55e-126)
t_1
(if (<= y 1.25e-203) t_2 (/ x (* (- y z) t))))))))))
double code(double x, double y, double z, double t) {
double t_1 = -x / (z * (y - z));
double t_2 = (-x / z) / (t - z);
double tmp;
if (y <= -3.7e+80) {
tmp = (x / (t - z)) / y;
} else if (y <= -2.75e+23) {
tmp = t_1;
} else if (y <= -750000.0) {
tmp = (x / y) / (t - z);
} else if (y <= -4.3e-79) {
tmp = t_2;
} else if (y <= -2.55e-126) {
tmp = t_1;
} else if (y <= 1.25e-203) {
tmp = t_2;
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = -x / (z * (y - z))
t_2 = (-x / z) / (t - z)
if (y <= (-3.7d+80)) then
tmp = (x / (t - z)) / y
else if (y <= (-2.75d+23)) then
tmp = t_1
else if (y <= (-750000.0d0)) then
tmp = (x / y) / (t - z)
else if (y <= (-4.3d-79)) then
tmp = t_2
else if (y <= (-2.55d-126)) then
tmp = t_1
else if (y <= 1.25d-203) then
tmp = t_2
else
tmp = x / ((y - z) * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = -x / (z * (y - z));
double t_2 = (-x / z) / (t - z);
double tmp;
if (y <= -3.7e+80) {
tmp = (x / (t - z)) / y;
} else if (y <= -2.75e+23) {
tmp = t_1;
} else if (y <= -750000.0) {
tmp = (x / y) / (t - z);
} else if (y <= -4.3e-79) {
tmp = t_2;
} else if (y <= -2.55e-126) {
tmp = t_1;
} else if (y <= 1.25e-203) {
tmp = t_2;
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
def code(x, y, z, t): t_1 = -x / (z * (y - z)) t_2 = (-x / z) / (t - z) tmp = 0 if y <= -3.7e+80: tmp = (x / (t - z)) / y elif y <= -2.75e+23: tmp = t_1 elif y <= -750000.0: tmp = (x / y) / (t - z) elif y <= -4.3e-79: tmp = t_2 elif y <= -2.55e-126: tmp = t_1 elif y <= 1.25e-203: tmp = t_2 else: tmp = x / ((y - z) * t) return tmp
function code(x, y, z, t) t_1 = Float64(Float64(-x) / Float64(z * Float64(y - z))) t_2 = Float64(Float64(Float64(-x) / z) / Float64(t - z)) tmp = 0.0 if (y <= -3.7e+80) tmp = Float64(Float64(x / Float64(t - z)) / y); elseif (y <= -2.75e+23) tmp = t_1; elseif (y <= -750000.0) tmp = Float64(Float64(x / y) / Float64(t - z)); elseif (y <= -4.3e-79) tmp = t_2; elseif (y <= -2.55e-126) tmp = t_1; elseif (y <= 1.25e-203) tmp = t_2; else tmp = Float64(x / Float64(Float64(y - z) * t)); end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = -x / (z * (y - z)); t_2 = (-x / z) / (t - z); tmp = 0.0; if (y <= -3.7e+80) tmp = (x / (t - z)) / y; elseif (y <= -2.75e+23) tmp = t_1; elseif (y <= -750000.0) tmp = (x / y) / (t - z); elseif (y <= -4.3e-79) tmp = t_2; elseif (y <= -2.55e-126) tmp = t_1; elseif (y <= 1.25e-203) tmp = t_2; else tmp = x / ((y - z) * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[((-x) / N[(z * N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[((-x) / z), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.7e+80], N[(N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, -2.75e+23], t$95$1, If[LessEqual[y, -750000.0], N[(N[(x / y), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -4.3e-79], t$95$2, If[LessEqual[y, -2.55e-126], t$95$1, If[LessEqual[y, 1.25e-203], t$95$2, N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{-x}{z \cdot \left(y - z\right)}\\
t_2 := \frac{\frac{-x}{z}}{t - z}\\
\mathbf{if}\;y \leq -3.7 \cdot 10^{+80}:\\
\;\;\;\;\frac{\frac{x}{t - z}}{y}\\
\mathbf{elif}\;y \leq -2.75 \cdot 10^{+23}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -750000:\\
\;\;\;\;\frac{\frac{x}{y}}{t - z}\\
\mathbf{elif}\;y \leq -4.3 \cdot 10^{-79}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -2.55 \cdot 10^{-126}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq 1.25 \cdot 10^{-203}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\end{array}
\end{array}
if y < -3.69999999999999996e80Initial program 84.4%
Taylor expanded in y around inf 84.4%
*-commutative84.4%
associate-/r*94.0%
Simplified94.0%
if -3.69999999999999996e80 < y < -2.75000000000000002e23 or -4.29999999999999982e-79 < y < -2.55000000000000001e-126Initial program 100.0%
Taylor expanded in t around 0 81.7%
associate-*r/81.7%
neg-mul-181.7%
Simplified81.7%
if -2.75000000000000002e23 < y < -7.5e5Initial program 99.7%
add-cube-cbrt99.2%
times-frac99.1%
pow299.1%
Applied egg-rr99.1%
associate-*r/99.0%
associate-*l/99.2%
unpow299.2%
add-cube-cbrt100.0%
Applied egg-rr100.0%
Taylor expanded in y around inf 84.6%
associate-/r*84.8%
Simplified84.8%
if -7.5e5 < y < -4.29999999999999982e-79 or -2.55000000000000001e-126 < y < 1.25e-203Initial program 85.0%
add-cube-cbrt84.2%
times-frac98.6%
pow298.6%
Applied egg-rr98.6%
associate-*r/98.6%
associate-*l/98.6%
unpow298.6%
add-cube-cbrt99.7%
Applied egg-rr99.7%
Taylor expanded in y around 0 74.3%
mul-1-neg74.3%
associate-/r*86.5%
distribute-neg-frac86.5%
Simplified86.5%
if 1.25e-203 < y Initial program 93.0%
Taylor expanded in t around inf 55.2%
Final simplification75.9%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (/ (- x) (* z (- t z)))))
(if (<= y -3.4e+77)
(/ (/ x (- t z)) y)
(if (<= y -1.4e+36)
t_1
(if (<= y -490000.0)
(/ (/ x y) (- t z))
(if (<= y -2.35e-60)
(* (/ x z) (/ (- -1.0) z))
(if (<= y 1.25e-203) t_1 (/ x (* (- y z) t)))))))))
double code(double x, double y, double z, double t) {
double t_1 = -x / (z * (t - z));
double tmp;
if (y <= -3.4e+77) {
tmp = (x / (t - z)) / y;
} else if (y <= -1.4e+36) {
tmp = t_1;
} else if (y <= -490000.0) {
tmp = (x / y) / (t - z);
} else if (y <= -2.35e-60) {
tmp = (x / z) * (-(-1.0) / z);
} else if (y <= 1.25e-203) {
tmp = t_1;
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: tmp
t_1 = -x / (z * (t - z))
if (y <= (-3.4d+77)) then
tmp = (x / (t - z)) / y
else if (y <= (-1.4d+36)) then
tmp = t_1
else if (y <= (-490000.0d0)) then
tmp = (x / y) / (t - z)
else if (y <= (-2.35d-60)) then
tmp = (x / z) * (-(-1.0d0) / z)
else if (y <= 1.25d-203) then
tmp = t_1
else
tmp = x / ((y - z) * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = -x / (z * (t - z));
double tmp;
if (y <= -3.4e+77) {
tmp = (x / (t - z)) / y;
} else if (y <= -1.4e+36) {
tmp = t_1;
} else if (y <= -490000.0) {
tmp = (x / y) / (t - z);
} else if (y <= -2.35e-60) {
tmp = (x / z) * (-(-1.0) / z);
} else if (y <= 1.25e-203) {
tmp = t_1;
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
def code(x, y, z, t): t_1 = -x / (z * (t - z)) tmp = 0 if y <= -3.4e+77: tmp = (x / (t - z)) / y elif y <= -1.4e+36: tmp = t_1 elif y <= -490000.0: tmp = (x / y) / (t - z) elif y <= -2.35e-60: tmp = (x / z) * (-(-1.0) / z) elif y <= 1.25e-203: tmp = t_1 else: tmp = x / ((y - z) * t) return tmp
function code(x, y, z, t) t_1 = Float64(Float64(-x) / Float64(z * Float64(t - z))) tmp = 0.0 if (y <= -3.4e+77) tmp = Float64(Float64(x / Float64(t - z)) / y); elseif (y <= -1.4e+36) tmp = t_1; elseif (y <= -490000.0) tmp = Float64(Float64(x / y) / Float64(t - z)); elseif (y <= -2.35e-60) tmp = Float64(Float64(x / z) * Float64(Float64(-(-1.0)) / z)); elseif (y <= 1.25e-203) tmp = t_1; else tmp = Float64(x / Float64(Float64(y - z) * t)); end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = -x / (z * (t - z)); tmp = 0.0; if (y <= -3.4e+77) tmp = (x / (t - z)) / y; elseif (y <= -1.4e+36) tmp = t_1; elseif (y <= -490000.0) tmp = (x / y) / (t - z); elseif (y <= -2.35e-60) tmp = (x / z) * (-(-1.0) / z); elseif (y <= 1.25e-203) tmp = t_1; else tmp = x / ((y - z) * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[((-x) / N[(z * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.4e+77], N[(N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, -1.4e+36], t$95$1, If[LessEqual[y, -490000.0], N[(N[(x / y), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2.35e-60], N[(N[(x / z), $MachinePrecision] * N[((--1.0) / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.25e-203], t$95$1, N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{-x}{z \cdot \left(t - z\right)}\\
\mathbf{if}\;y \leq -3.4 \cdot 10^{+77}:\\
\;\;\;\;\frac{\frac{x}{t - z}}{y}\\
\mathbf{elif}\;y \leq -1.4 \cdot 10^{+36}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -490000:\\
\;\;\;\;\frac{\frac{x}{y}}{t - z}\\
\mathbf{elif}\;y \leq -2.35 \cdot 10^{-60}:\\
\;\;\;\;\frac{x}{z} \cdot \frac{--1}{z}\\
\mathbf{elif}\;y \leq 1.25 \cdot 10^{-203}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\end{array}
\end{array}
if y < -3.39999999999999997e77Initial program 85.1%
Taylor expanded in y around inf 85.1%
*-commutative85.1%
associate-/r*94.3%
Simplified94.3%
if -3.39999999999999997e77 < y < -1.4e36 or -2.35e-60 < y < 1.25e-203Initial program 88.5%
Taylor expanded in y around 0 76.4%
associate-*r/76.4%
neg-mul-176.4%
Simplified76.4%
if -1.4e36 < y < -4.9e5Initial program 99.8%
add-cube-cbrt99.3%
times-frac99.2%
pow299.2%
Applied egg-rr99.2%
associate-*r/99.1%
associate-*l/99.3%
unpow299.3%
add-cube-cbrt100.0%
Applied egg-rr100.0%
Taylor expanded in y around inf 86.8%
associate-/r*87.0%
Simplified87.0%
if -4.9e5 < y < -2.35e-60Initial program 87.6%
clear-num87.7%
inv-pow87.7%
associate-/l*99.6%
Applied egg-rr99.6%
unpow-199.6%
clear-num99.6%
div-inv99.6%
Applied egg-rr99.6%
Taylor expanded in y around 0 63.4%
Taylor expanded in t around 0 51.3%
associate-*r/22.1%
neg-mul-122.1%
Simplified51.3%
if 1.25e-203 < y Initial program 93.0%
Taylor expanded in t around inf 55.2%
Final simplification70.9%
(FPCore (x y z t)
:precision binary64
(if (<= y -5.2e+79)
(/ (/ x (- t z)) y)
(if (<= y -2.55e-126)
(/ (- x) (* z (- y z)))
(if (<= y 1.25e-203) (/ (- x) (* z (- t z))) (/ x (* (- y z) t))))))
double code(double x, double y, double z, double t) {
double tmp;
if (y <= -5.2e+79) {
tmp = (x / (t - z)) / y;
} else if (y <= -2.55e-126) {
tmp = -x / (z * (y - z));
} else if (y <= 1.25e-203) {
tmp = -x / (z * (t - z));
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (y <= (-5.2d+79)) then
tmp = (x / (t - z)) / y
else if (y <= (-2.55d-126)) then
tmp = -x / (z * (y - z))
else if (y <= 1.25d-203) then
tmp = -x / (z * (t - z))
else
tmp = x / ((y - z) * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (y <= -5.2e+79) {
tmp = (x / (t - z)) / y;
} else if (y <= -2.55e-126) {
tmp = -x / (z * (y - z));
} else if (y <= 1.25e-203) {
tmp = -x / (z * (t - z));
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if y <= -5.2e+79: tmp = (x / (t - z)) / y elif y <= -2.55e-126: tmp = -x / (z * (y - z)) elif y <= 1.25e-203: tmp = -x / (z * (t - z)) else: tmp = x / ((y - z) * t) return tmp
function code(x, y, z, t) tmp = 0.0 if (y <= -5.2e+79) tmp = Float64(Float64(x / Float64(t - z)) / y); elseif (y <= -2.55e-126) tmp = Float64(Float64(-x) / Float64(z * Float64(y - z))); elseif (y <= 1.25e-203) tmp = Float64(Float64(-x) / Float64(z * Float64(t - z))); else tmp = Float64(x / Float64(Float64(y - z) * t)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (y <= -5.2e+79) tmp = (x / (t - z)) / y; elseif (y <= -2.55e-126) tmp = -x / (z * (y - z)); elseif (y <= 1.25e-203) tmp = -x / (z * (t - z)); else tmp = x / ((y - z) * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[y, -5.2e+79], N[(N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, -2.55e-126], N[((-x) / N[(z * N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.25e-203], N[((-x) / N[(z * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -5.2 \cdot 10^{+79}:\\
\;\;\;\;\frac{\frac{x}{t - z}}{y}\\
\mathbf{elif}\;y \leq -2.55 \cdot 10^{-126}:\\
\;\;\;\;\frac{-x}{z \cdot \left(y - z\right)}\\
\mathbf{elif}\;y \leq 1.25 \cdot 10^{-203}:\\
\;\;\;\;\frac{-x}{z \cdot \left(t - z\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\end{array}
\end{array}
if y < -5.20000000000000029e79Initial program 84.4%
Taylor expanded in y around inf 84.4%
*-commutative84.4%
associate-/r*94.0%
Simplified94.0%
if -5.20000000000000029e79 < y < -2.55000000000000001e-126Initial program 95.9%
Taylor expanded in t around 0 70.6%
associate-*r/70.6%
neg-mul-170.6%
Simplified70.6%
if -2.55000000000000001e-126 < y < 1.25e-203Initial program 84.1%
Taylor expanded in y around 0 79.5%
associate-*r/79.5%
neg-mul-179.5%
Simplified79.5%
if 1.25e-203 < y Initial program 93.0%
Taylor expanded in t around inf 55.2%
Final simplification71.6%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (/ (- x) z)))
(if (<= y -5.2e+79)
(/ (/ x (- t z)) y)
(if (<= y -2.9e-127)
(/ t_1 (- y z))
(if (<= y 1.25e-203) (/ t_1 (- t z)) (/ x (* (- y z) t)))))))
double code(double x, double y, double z, double t) {
double t_1 = -x / z;
double tmp;
if (y <= -5.2e+79) {
tmp = (x / (t - z)) / y;
} else if (y <= -2.9e-127) {
tmp = t_1 / (y - z);
} else if (y <= 1.25e-203) {
tmp = t_1 / (t - z);
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: tmp
t_1 = -x / z
if (y <= (-5.2d+79)) then
tmp = (x / (t - z)) / y
else if (y <= (-2.9d-127)) then
tmp = t_1 / (y - z)
else if (y <= 1.25d-203) then
tmp = t_1 / (t - z)
else
tmp = x / ((y - z) * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = -x / z;
double tmp;
if (y <= -5.2e+79) {
tmp = (x / (t - z)) / y;
} else if (y <= -2.9e-127) {
tmp = t_1 / (y - z);
} else if (y <= 1.25e-203) {
tmp = t_1 / (t - z);
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
def code(x, y, z, t): t_1 = -x / z tmp = 0 if y <= -5.2e+79: tmp = (x / (t - z)) / y elif y <= -2.9e-127: tmp = t_1 / (y - z) elif y <= 1.25e-203: tmp = t_1 / (t - z) else: tmp = x / ((y - z) * t) return tmp
function code(x, y, z, t) t_1 = Float64(Float64(-x) / z) tmp = 0.0 if (y <= -5.2e+79) tmp = Float64(Float64(x / Float64(t - z)) / y); elseif (y <= -2.9e-127) tmp = Float64(t_1 / Float64(y - z)); elseif (y <= 1.25e-203) tmp = Float64(t_1 / Float64(t - z)); else tmp = Float64(x / Float64(Float64(y - z) * t)); end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = -x / z; tmp = 0.0; if (y <= -5.2e+79) tmp = (x / (t - z)) / y; elseif (y <= -2.9e-127) tmp = t_1 / (y - z); elseif (y <= 1.25e-203) tmp = t_1 / (t - z); else tmp = x / ((y - z) * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[((-x) / z), $MachinePrecision]}, If[LessEqual[y, -5.2e+79], N[(N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, -2.9e-127], N[(t$95$1 / N[(y - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.25e-203], N[(t$95$1 / N[(t - z), $MachinePrecision]), $MachinePrecision], N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{-x}{z}\\
\mathbf{if}\;y \leq -5.2 \cdot 10^{+79}:\\
\;\;\;\;\frac{\frac{x}{t - z}}{y}\\
\mathbf{elif}\;y \leq -2.9 \cdot 10^{-127}:\\
\;\;\;\;\frac{t_1}{y - z}\\
\mathbf{elif}\;y \leq 1.25 \cdot 10^{-203}:\\
\;\;\;\;\frac{t_1}{t - z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\end{array}
\end{array}
if y < -5.20000000000000029e79Initial program 84.4%
Taylor expanded in y around inf 84.4%
*-commutative84.4%
associate-/r*94.0%
Simplified94.0%
if -5.20000000000000029e79 < y < -2.9e-127Initial program 96.0%
add-cube-cbrt94.9%
times-frac98.6%
pow298.6%
Applied egg-rr98.6%
Taylor expanded in t around 0 69.2%
mul-1-neg69.2%
associate-/r*71.1%
distribute-neg-frac71.1%
distribute-frac-neg71.1%
Simplified71.1%
if -2.9e-127 < y < 1.25e-203Initial program 83.9%
add-cube-cbrt83.2%
times-frac98.8%
pow298.8%
Applied egg-rr98.8%
associate-*r/98.7%
associate-*l/98.7%
unpow298.7%
add-cube-cbrt99.7%
Applied egg-rr99.7%
Taylor expanded in y around 0 80.8%
mul-1-neg80.8%
associate-/r*93.6%
distribute-neg-frac93.6%
Simplified93.6%
if 1.25e-203 < y Initial program 93.0%
Taylor expanded in t around inf 55.2%
Final simplification75.2%
(FPCore (x y z t)
:precision binary64
(if (<= z -300000.0)
(/ (- x) (* z t))
(if (or (<= z -2.5e-50) (not (<= z 5.2e-67)))
(/ (- x) (* y z))
(/ x (* y t)))))
double code(double x, double y, double z, double t) {
double tmp;
if (z <= -300000.0) {
tmp = -x / (z * t);
} else if ((z <= -2.5e-50) || !(z <= 5.2e-67)) {
tmp = -x / (y * z);
} else {
tmp = x / (y * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (z <= (-300000.0d0)) then
tmp = -x / (z * t)
else if ((z <= (-2.5d-50)) .or. (.not. (z <= 5.2d-67))) then
tmp = -x / (y * z)
else
tmp = x / (y * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (z <= -300000.0) {
tmp = -x / (z * t);
} else if ((z <= -2.5e-50) || !(z <= 5.2e-67)) {
tmp = -x / (y * z);
} else {
tmp = x / (y * t);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if z <= -300000.0: tmp = -x / (z * t) elif (z <= -2.5e-50) or not (z <= 5.2e-67): tmp = -x / (y * z) else: tmp = x / (y * t) return tmp
function code(x, y, z, t) tmp = 0.0 if (z <= -300000.0) tmp = Float64(Float64(-x) / Float64(z * t)); elseif ((z <= -2.5e-50) || !(z <= 5.2e-67)) tmp = Float64(Float64(-x) / Float64(y * z)); else tmp = Float64(x / Float64(y * t)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (z <= -300000.0) tmp = -x / (z * t); elseif ((z <= -2.5e-50) || ~((z <= 5.2e-67))) tmp = -x / (y * z); else tmp = x / (y * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[z, -300000.0], N[((-x) / N[(z * t), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[z, -2.5e-50], N[Not[LessEqual[z, 5.2e-67]], $MachinePrecision]], N[((-x) / N[(y * z), $MachinePrecision]), $MachinePrecision], N[(x / N[(y * t), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -300000:\\
\;\;\;\;\frac{-x}{z \cdot t}\\
\mathbf{elif}\;z \leq -2.5 \cdot 10^{-50} \lor \neg \left(z \leq 5.2 \cdot 10^{-67}\right):\\
\;\;\;\;\frac{-x}{y \cdot z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot t}\\
\end{array}
\end{array}
if z < -3e5Initial program 90.2%
add-cube-cbrt89.8%
times-frac99.4%
pow299.4%
Applied egg-rr99.4%
associate-*r/99.4%
associate-*l/99.4%
unpow299.4%
add-cube-cbrt99.9%
Applied egg-rr99.9%
Taylor expanded in t around inf 47.1%
associate-/r*45.8%
Simplified45.8%
Taylor expanded in y around 0 45.0%
associate-*r/45.0%
neg-mul-145.0%
*-commutative45.0%
Simplified45.0%
if -3e5 < z < -2.49999999999999984e-50 or 5.1999999999999998e-67 < z Initial program 86.6%
Taylor expanded in y around inf 42.3%
*-commutative42.3%
associate-/r*49.8%
Simplified49.8%
Taylor expanded in t around 0 37.8%
associate-*r/37.8%
neg-mul-137.8%
*-commutative37.8%
Simplified37.8%
if -2.49999999999999984e-50 < z < 5.1999999999999998e-67Initial program 93.2%
Taylor expanded in z around 0 65.9%
Final simplification49.1%
(FPCore (x y z t) :precision binary64 (if (or (<= t -1.05e-131) (not (<= t 1.05e-167))) (/ x (* (- y z) t)) (/ (/ (- x) z) y)))
double code(double x, double y, double z, double t) {
double tmp;
if ((t <= -1.05e-131) || !(t <= 1.05e-167)) {
tmp = x / ((y - z) * t);
} else {
tmp = (-x / z) / y;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if ((t <= (-1.05d-131)) .or. (.not. (t <= 1.05d-167))) then
tmp = x / ((y - z) * t)
else
tmp = (-x / z) / y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if ((t <= -1.05e-131) || !(t <= 1.05e-167)) {
tmp = x / ((y - z) * t);
} else {
tmp = (-x / z) / y;
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if (t <= -1.05e-131) or not (t <= 1.05e-167): tmp = x / ((y - z) * t) else: tmp = (-x / z) / y return tmp
function code(x, y, z, t) tmp = 0.0 if ((t <= -1.05e-131) || !(t <= 1.05e-167)) tmp = Float64(x / Float64(Float64(y - z) * t)); else tmp = Float64(Float64(Float64(-x) / z) / y); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if ((t <= -1.05e-131) || ~((t <= 1.05e-167))) tmp = x / ((y - z) * t); else tmp = (-x / z) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[Or[LessEqual[t, -1.05e-131], N[Not[LessEqual[t, 1.05e-167]], $MachinePrecision]], N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision], N[(N[((-x) / z), $MachinePrecision] / y), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.05 \cdot 10^{-131} \lor \neg \left(t \leq 1.05 \cdot 10^{-167}\right):\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{-x}{z}}{y}\\
\end{array}
\end{array}
if t < -1.04999999999999999e-131 or 1.05000000000000009e-167 < t Initial program 87.8%
Taylor expanded in t around inf 67.9%
if -1.04999999999999999e-131 < t < 1.05000000000000009e-167Initial program 93.9%
Taylor expanded in y around inf 64.6%
*-commutative64.6%
associate-/r*67.2%
Simplified67.2%
Taylor expanded in t around 0 59.6%
associate-*r/59.6%
neg-mul-159.6%
Simplified59.6%
Final simplification65.3%
(FPCore (x y z t) :precision binary64 (if (<= t -5e-130) (/ x (* y t)) (if (<= t 2.9e+67) (/ (/ (- x) z) y) (* (/ -1.0 z) (/ x t)))))
double code(double x, double y, double z, double t) {
double tmp;
if (t <= -5e-130) {
tmp = x / (y * t);
} else if (t <= 2.9e+67) {
tmp = (-x / z) / y;
} else {
tmp = (-1.0 / z) * (x / t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (t <= (-5d-130)) then
tmp = x / (y * t)
else if (t <= 2.9d+67) then
tmp = (-x / z) / y
else
tmp = ((-1.0d0) / z) * (x / t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (t <= -5e-130) {
tmp = x / (y * t);
} else if (t <= 2.9e+67) {
tmp = (-x / z) / y;
} else {
tmp = (-1.0 / z) * (x / t);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if t <= -5e-130: tmp = x / (y * t) elif t <= 2.9e+67: tmp = (-x / z) / y else: tmp = (-1.0 / z) * (x / t) return tmp
function code(x, y, z, t) tmp = 0.0 if (t <= -5e-130) tmp = Float64(x / Float64(y * t)); elseif (t <= 2.9e+67) tmp = Float64(Float64(Float64(-x) / z) / y); else tmp = Float64(Float64(-1.0 / z) * Float64(x / t)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (t <= -5e-130) tmp = x / (y * t); elseif (t <= 2.9e+67) tmp = (-x / z) / y; else tmp = (-1.0 / z) * (x / t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[t, -5e-130], N[(x / N[(y * t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.9e+67], N[(N[((-x) / z), $MachinePrecision] / y), $MachinePrecision], N[(N[(-1.0 / z), $MachinePrecision] * N[(x / t), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -5 \cdot 10^{-130}:\\
\;\;\;\;\frac{x}{y \cdot t}\\
\mathbf{elif}\;t \leq 2.9 \cdot 10^{+67}:\\
\;\;\;\;\frac{\frac{-x}{z}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{z} \cdot \frac{x}{t}\\
\end{array}
\end{array}
if t < -4.9999999999999996e-130Initial program 89.9%
Taylor expanded in z around 0 43.5%
if -4.9999999999999996e-130 < t < 2.90000000000000023e67Initial program 92.3%
Taylor expanded in y around inf 62.2%
*-commutative62.2%
associate-/r*64.6%
Simplified64.6%
Taylor expanded in t around 0 49.8%
associate-*r/49.8%
neg-mul-149.8%
Simplified49.8%
if 2.90000000000000023e67 < t Initial program 82.6%
clear-num81.8%
inv-pow81.8%
associate-/l*89.7%
Applied egg-rr89.7%
unpow-189.7%
clear-num92.3%
div-inv92.4%
Applied egg-rr92.4%
Taylor expanded in y around 0 63.8%
Taylor expanded in t around inf 58.2%
Final simplification49.4%
(FPCore (x y z t) :precision binary64 (if (<= t 1.36e-167) (/ x (* y (- t z))) (if (<= t 2.3e+215) (/ x (* (- y z) t)) (/ (/ x t) (- y z)))))
double code(double x, double y, double z, double t) {
double tmp;
if (t <= 1.36e-167) {
tmp = x / (y * (t - z));
} else if (t <= 2.3e+215) {
tmp = x / ((y - z) * t);
} else {
tmp = (x / t) / (y - z);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (t <= 1.36d-167) then
tmp = x / (y * (t - z))
else if (t <= 2.3d+215) then
tmp = x / ((y - z) * t)
else
tmp = (x / t) / (y - z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (t <= 1.36e-167) {
tmp = x / (y * (t - z));
} else if (t <= 2.3e+215) {
tmp = x / ((y - z) * t);
} else {
tmp = (x / t) / (y - z);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if t <= 1.36e-167: tmp = x / (y * (t - z)) elif t <= 2.3e+215: tmp = x / ((y - z) * t) else: tmp = (x / t) / (y - z) return tmp
function code(x, y, z, t) tmp = 0.0 if (t <= 1.36e-167) tmp = Float64(x / Float64(y * Float64(t - z))); elseif (t <= 2.3e+215) tmp = Float64(x / Float64(Float64(y - z) * t)); else tmp = Float64(Float64(x / t) / Float64(y - z)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (t <= 1.36e-167) tmp = x / (y * (t - z)); elseif (t <= 2.3e+215) tmp = x / ((y - z) * t); else tmp = (x / t) / (y - z); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[t, 1.36e-167], N[(x / N[(y * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.3e+215], N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision], N[(N[(x / t), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.36 \cdot 10^{-167}:\\
\;\;\;\;\frac{x}{y \cdot \left(t - z\right)}\\
\mathbf{elif}\;t \leq 2.3 \cdot 10^{+215}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{t}}{y - z}\\
\end{array}
\end{array}
if t < 1.36000000000000009e-167Initial program 91.9%
Taylor expanded in y around inf 60.1%
*-commutative60.1%
Simplified60.1%
if 1.36000000000000009e-167 < t < 2.3000000000000001e215Initial program 86.3%
Taylor expanded in t around inf 64.7%
if 2.3000000000000001e215 < t Initial program 84.4%
add-cube-cbrt84.3%
times-frac99.7%
pow299.7%
Applied egg-rr99.7%
associate-*r/99.7%
associate-*l/99.6%
unpow299.6%
add-cube-cbrt99.8%
Applied egg-rr99.8%
Taylor expanded in t around inf 84.4%
associate-/r*95.0%
Simplified95.0%
Final simplification63.9%
(FPCore (x y z t) :precision binary64 (if (<= t 1.6e-71) (/ (/ x (- t z)) y) (if (<= t 3e+215) (/ x (* (- y z) t)) (/ (/ x t) (- y z)))))
double code(double x, double y, double z, double t) {
double tmp;
if (t <= 1.6e-71) {
tmp = (x / (t - z)) / y;
} else if (t <= 3e+215) {
tmp = x / ((y - z) * t);
} else {
tmp = (x / t) / (y - z);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (t <= 1.6d-71) then
tmp = (x / (t - z)) / y
else if (t <= 3d+215) then
tmp = x / ((y - z) * t)
else
tmp = (x / t) / (y - z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (t <= 1.6e-71) {
tmp = (x / (t - z)) / y;
} else if (t <= 3e+215) {
tmp = x / ((y - z) * t);
} else {
tmp = (x / t) / (y - z);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if t <= 1.6e-71: tmp = (x / (t - z)) / y elif t <= 3e+215: tmp = x / ((y - z) * t) else: tmp = (x / t) / (y - z) return tmp
function code(x, y, z, t) tmp = 0.0 if (t <= 1.6e-71) tmp = Float64(Float64(x / Float64(t - z)) / y); elseif (t <= 3e+215) tmp = Float64(x / Float64(Float64(y - z) * t)); else tmp = Float64(Float64(x / t) / Float64(y - z)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (t <= 1.6e-71) tmp = (x / (t - z)) / y; elseif (t <= 3e+215) tmp = x / ((y - z) * t); else tmp = (x / t) / (y - z); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[t, 1.6e-71], N[(N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[t, 3e+215], N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision], N[(N[(x / t), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.6 \cdot 10^{-71}:\\
\;\;\;\;\frac{\frac{x}{t - z}}{y}\\
\mathbf{elif}\;t \leq 3 \cdot 10^{+215}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{t}}{y - z}\\
\end{array}
\end{array}
if t < 1.5999999999999999e-71Initial program 92.0%
Taylor expanded in y around inf 60.0%
*-commutative60.0%
associate-/r*61.8%
Simplified61.8%
if 1.5999999999999999e-71 < t < 2.9999999999999999e215Initial program 84.8%
Taylor expanded in t around inf 69.1%
if 2.9999999999999999e215 < t Initial program 84.4%
add-cube-cbrt84.3%
times-frac99.7%
pow299.7%
Applied egg-rr99.7%
associate-*r/99.7%
associate-*l/99.6%
unpow299.6%
add-cube-cbrt99.8%
Applied egg-rr99.8%
Taylor expanded in t around inf 84.4%
associate-/r*95.0%
Simplified95.0%
Final simplification66.0%
(FPCore (x y z t) :precision binary64 (if (<= y -4.95e+185) (/ (/ x y) (- t z)) (/ x (* (- y z) (- t z)))))
double code(double x, double y, double z, double t) {
double tmp;
if (y <= -4.95e+185) {
tmp = (x / y) / (t - z);
} else {
tmp = x / ((y - z) * (t - z));
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (y <= (-4.95d+185)) then
tmp = (x / y) / (t - z)
else
tmp = x / ((y - z) * (t - z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (y <= -4.95e+185) {
tmp = (x / y) / (t - z);
} else {
tmp = x / ((y - z) * (t - z));
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if y <= -4.95e+185: tmp = (x / y) / (t - z) else: tmp = x / ((y - z) * (t - z)) return tmp
function code(x, y, z, t) tmp = 0.0 if (y <= -4.95e+185) tmp = Float64(Float64(x / y) / Float64(t - z)); else tmp = Float64(x / Float64(Float64(y - z) * Float64(t - z))); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (y <= -4.95e+185) tmp = (x / y) / (t - z); else tmp = x / ((y - z) * (t - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[y, -4.95e+185], N[(N[(x / y), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision], N[(x / N[(N[(y - z), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -4.95 \cdot 10^{+185}:\\
\;\;\;\;\frac{\frac{x}{y}}{t - z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}\\
\end{array}
\end{array}
if y < -4.9499999999999999e185Initial program 79.2%
add-cube-cbrt78.8%
times-frac96.2%
pow296.2%
Applied egg-rr96.2%
associate-*r/96.1%
associate-*l/96.2%
unpow296.2%
add-cube-cbrt96.9%
Applied egg-rr96.9%
Taylor expanded in y around inf 79.2%
associate-/r*96.9%
Simplified96.9%
if -4.9499999999999999e185 < y Initial program 91.2%
Final simplification91.9%
(FPCore (x y z t) :precision binary64 (if (<= t -6e-125) (/ x (* y t)) (if (<= t 7e+66) (/ (/ (- x) z) y) (/ (- x) (* z t)))))
double code(double x, double y, double z, double t) {
double tmp;
if (t <= -6e-125) {
tmp = x / (y * t);
} else if (t <= 7e+66) {
tmp = (-x / z) / y;
} else {
tmp = -x / (z * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (t <= (-6d-125)) then
tmp = x / (y * t)
else if (t <= 7d+66) then
tmp = (-x / z) / y
else
tmp = -x / (z * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (t <= -6e-125) {
tmp = x / (y * t);
} else if (t <= 7e+66) {
tmp = (-x / z) / y;
} else {
tmp = -x / (z * t);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if t <= -6e-125: tmp = x / (y * t) elif t <= 7e+66: tmp = (-x / z) / y else: tmp = -x / (z * t) return tmp
function code(x, y, z, t) tmp = 0.0 if (t <= -6e-125) tmp = Float64(x / Float64(y * t)); elseif (t <= 7e+66) tmp = Float64(Float64(Float64(-x) / z) / y); else tmp = Float64(Float64(-x) / Float64(z * t)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (t <= -6e-125) tmp = x / (y * t); elseif (t <= 7e+66) tmp = (-x / z) / y; else tmp = -x / (z * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[t, -6e-125], N[(x / N[(y * t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 7e+66], N[(N[((-x) / z), $MachinePrecision] / y), $MachinePrecision], N[((-x) / N[(z * t), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -6 \cdot 10^{-125}:\\
\;\;\;\;\frac{x}{y \cdot t}\\
\mathbf{elif}\;t \leq 7 \cdot 10^{+66}:\\
\;\;\;\;\frac{\frac{-x}{z}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{-x}{z \cdot t}\\
\end{array}
\end{array}
if t < -5.99999999999999981e-125Initial program 89.9%
Taylor expanded in z around 0 43.5%
if -5.99999999999999981e-125 < t < 6.9999999999999994e66Initial program 92.3%
Taylor expanded in y around inf 62.2%
*-commutative62.2%
associate-/r*64.6%
Simplified64.6%
Taylor expanded in t around 0 49.8%
associate-*r/49.8%
neg-mul-149.8%
Simplified49.8%
if 6.9999999999999994e66 < t Initial program 82.6%
add-cube-cbrt82.1%
times-frac99.1%
pow299.1%
Applied egg-rr99.1%
associate-*r/99.0%
associate-*l/99.1%
unpow299.1%
add-cube-cbrt99.8%
Applied egg-rr99.8%
Taylor expanded in t around inf 82.5%
associate-/r*81.0%
Simplified81.0%
Taylor expanded in y around 0 59.2%
associate-*r/59.2%
neg-mul-159.2%
*-commutative59.2%
Simplified59.2%
Final simplification49.6%
(FPCore (x y z t) :precision binary64 (if (or (<= z -220000000.0) (not (<= z 1.72e+131))) (/ x (* y z)) (/ x (* y t))))
double code(double x, double y, double z, double t) {
double tmp;
if ((z <= -220000000.0) || !(z <= 1.72e+131)) {
tmp = x / (y * z);
} else {
tmp = x / (y * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if ((z <= (-220000000.0d0)) .or. (.not. (z <= 1.72d+131))) then
tmp = x / (y * z)
else
tmp = x / (y * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if ((z <= -220000000.0) || !(z <= 1.72e+131)) {
tmp = x / (y * z);
} else {
tmp = x / (y * t);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if (z <= -220000000.0) or not (z <= 1.72e+131): tmp = x / (y * z) else: tmp = x / (y * t) return tmp
function code(x, y, z, t) tmp = 0.0 if ((z <= -220000000.0) || !(z <= 1.72e+131)) tmp = Float64(x / Float64(y * z)); else tmp = Float64(x / Float64(y * t)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if ((z <= -220000000.0) || ~((z <= 1.72e+131))) tmp = x / (y * z); else tmp = x / (y * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[Or[LessEqual[z, -220000000.0], N[Not[LessEqual[z, 1.72e+131]], $MachinePrecision]], N[(x / N[(y * z), $MachinePrecision]), $MachinePrecision], N[(x / N[(y * t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -220000000 \lor \neg \left(z \leq 1.72 \cdot 10^{+131}\right):\\
\;\;\;\;\frac{x}{y \cdot z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot t}\\
\end{array}
\end{array}
if z < -2.2e8 or 1.71999999999999994e131 < z Initial program 84.5%
Taylor expanded in y around inf 45.5%
*-commutative45.5%
associate-/r*57.3%
Simplified57.3%
Taylor expanded in t around 0 53.1%
associate-*r/53.1%
neg-mul-153.1%
Simplified53.1%
expm1-log1p-u52.9%
expm1-udef70.3%
associate-/l/70.3%
add-sqr-sqrt28.9%
sqrt-unprod64.2%
sqr-neg64.2%
sqrt-unprod41.0%
add-sqr-sqrt69.9%
Applied egg-rr69.9%
expm1-def42.1%
expm1-log1p42.3%
*-commutative42.3%
Simplified42.3%
if -2.2e8 < z < 1.71999999999999994e131Initial program 93.4%
Taylor expanded in z around 0 46.5%
Final simplification44.8%
(FPCore (x y z t) :precision binary64 (if (or (<= z -7.6e+25) (not (<= z 7.6e+132))) (/ x (* y z)) (/ (/ x t) y)))
double code(double x, double y, double z, double t) {
double tmp;
if ((z <= -7.6e+25) || !(z <= 7.6e+132)) {
tmp = x / (y * z);
} else {
tmp = (x / t) / y;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if ((z <= (-7.6d+25)) .or. (.not. (z <= 7.6d+132))) then
tmp = x / (y * z)
else
tmp = (x / t) / y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if ((z <= -7.6e+25) || !(z <= 7.6e+132)) {
tmp = x / (y * z);
} else {
tmp = (x / t) / y;
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if (z <= -7.6e+25) or not (z <= 7.6e+132): tmp = x / (y * z) else: tmp = (x / t) / y return tmp
function code(x, y, z, t) tmp = 0.0 if ((z <= -7.6e+25) || !(z <= 7.6e+132)) tmp = Float64(x / Float64(y * z)); else tmp = Float64(Float64(x / t) / y); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if ((z <= -7.6e+25) || ~((z <= 7.6e+132))) tmp = x / (y * z); else tmp = (x / t) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[Or[LessEqual[z, -7.6e+25], N[Not[LessEqual[z, 7.6e+132]], $MachinePrecision]], N[(x / N[(y * z), $MachinePrecision]), $MachinePrecision], N[(N[(x / t), $MachinePrecision] / y), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -7.6 \cdot 10^{+25} \lor \neg \left(z \leq 7.6 \cdot 10^{+132}\right):\\
\;\;\;\;\frac{x}{y \cdot z}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{t}}{y}\\
\end{array}
\end{array}
if z < -7.6000000000000001e25 or 7.60000000000000012e132 < z Initial program 84.2%
Taylor expanded in y around inf 45.3%
*-commutative45.3%
associate-/r*56.5%
Simplified56.5%
Taylor expanded in t around 0 53.1%
associate-*r/53.1%
neg-mul-153.1%
Simplified53.1%
expm1-log1p-u52.9%
expm1-udef70.1%
associate-/l/70.1%
add-sqr-sqrt28.5%
sqrt-unprod64.5%
sqr-neg64.5%
sqrt-unprod41.8%
add-sqr-sqrt70.2%
Applied egg-rr70.2%
expm1-def42.8%
expm1-log1p43.1%
*-commutative43.1%
Simplified43.1%
if -7.6000000000000001e25 < z < 7.60000000000000012e132Initial program 93.5%
Taylor expanded in y around inf 66.3%
*-commutative66.3%
associate-/r*66.3%
Simplified66.3%
Taylor expanded in t around inf 47.5%
Final simplification45.7%
(FPCore (x y z t) :precision binary64 (if (<= z -1.35e-29) (/ (- x) (* z t)) (if (<= z 6.8e+131) (/ (/ x t) y) (/ x (* y z)))))
double code(double x, double y, double z, double t) {
double tmp;
if (z <= -1.35e-29) {
tmp = -x / (z * t);
} else if (z <= 6.8e+131) {
tmp = (x / t) / y;
} else {
tmp = x / (y * z);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (z <= (-1.35d-29)) then
tmp = -x / (z * t)
else if (z <= 6.8d+131) then
tmp = (x / t) / y
else
tmp = x / (y * z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (z <= -1.35e-29) {
tmp = -x / (z * t);
} else if (z <= 6.8e+131) {
tmp = (x / t) / y;
} else {
tmp = x / (y * z);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if z <= -1.35e-29: tmp = -x / (z * t) elif z <= 6.8e+131: tmp = (x / t) / y else: tmp = x / (y * z) return tmp
function code(x, y, z, t) tmp = 0.0 if (z <= -1.35e-29) tmp = Float64(Float64(-x) / Float64(z * t)); elseif (z <= 6.8e+131) tmp = Float64(Float64(x / t) / y); else tmp = Float64(x / Float64(y * z)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (z <= -1.35e-29) tmp = -x / (z * t); elseif (z <= 6.8e+131) tmp = (x / t) / y; else tmp = x / (y * z); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[z, -1.35e-29], N[((-x) / N[(z * t), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 6.8e+131], N[(N[(x / t), $MachinePrecision] / y), $MachinePrecision], N[(x / N[(y * z), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.35 \cdot 10^{-29}:\\
\;\;\;\;\frac{-x}{z \cdot t}\\
\mathbf{elif}\;z \leq 6.8 \cdot 10^{+131}:\\
\;\;\;\;\frac{\frac{x}{t}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot z}\\
\end{array}
\end{array}
if z < -1.35000000000000011e-29Initial program 91.6%
add-cube-cbrt91.0%
times-frac99.2%
pow299.2%
Applied egg-rr99.2%
associate-*r/99.2%
associate-*l/99.2%
unpow299.2%
add-cube-cbrt99.9%
Applied egg-rr99.9%
Taylor expanded in t around inf 47.3%
associate-/r*46.1%
Simplified46.1%
Taylor expanded in y around 0 43.1%
associate-*r/43.1%
neg-mul-143.1%
*-commutative43.1%
Simplified43.1%
if -1.35000000000000011e-29 < z < 6.79999999999999972e131Initial program 92.8%
Taylor expanded in y around inf 68.4%
*-commutative68.4%
associate-/r*67.5%
Simplified67.5%
Taylor expanded in t around inf 49.2%
if 6.79999999999999972e131 < z Initial program 78.7%
Taylor expanded in y around inf 47.0%
*-commutative47.0%
associate-/r*57.8%
Simplified57.8%
Taylor expanded in t around 0 54.8%
associate-*r/54.8%
neg-mul-154.8%
Simplified54.8%
expm1-log1p-u54.6%
expm1-udef70.4%
associate-/l/70.4%
add-sqr-sqrt30.8%
sqrt-unprod60.5%
sqr-neg60.5%
sqrt-unprod39.6%
add-sqr-sqrt70.6%
Applied egg-rr70.6%
expm1-def46.8%
expm1-log1p46.8%
*-commutative46.8%
Simplified46.8%
Final simplification47.1%
(FPCore (x y z t) :precision binary64 (if (<= t 1.36e-167) (/ x (* y (- t z))) (/ x (* (- y z) t))))
double code(double x, double y, double z, double t) {
double tmp;
if (t <= 1.36e-167) {
tmp = x / (y * (t - z));
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (t <= 1.36d-167) then
tmp = x / (y * (t - z))
else
tmp = x / ((y - z) * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (t <= 1.36e-167) {
tmp = x / (y * (t - z));
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if t <= 1.36e-167: tmp = x / (y * (t - z)) else: tmp = x / ((y - z) * t) return tmp
function code(x, y, z, t) tmp = 0.0 if (t <= 1.36e-167) tmp = Float64(x / Float64(y * Float64(t - z))); else tmp = Float64(x / Float64(Float64(y - z) * t)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (t <= 1.36e-167) tmp = x / (y * (t - z)); else tmp = x / ((y - z) * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[t, 1.36e-167], N[(x / N[(y * N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.36 \cdot 10^{-167}:\\
\;\;\;\;\frac{x}{y \cdot \left(t - z\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\end{array}
\end{array}
if t < 1.36000000000000009e-167Initial program 91.9%
Taylor expanded in y around inf 60.1%
*-commutative60.1%
Simplified60.1%
if 1.36000000000000009e-167 < t Initial program 86.0%
Taylor expanded in t around inf 68.4%
Final simplification63.2%
(FPCore (x y z t) :precision binary64 (if (<= y -2.25e-94) (/ (/ x y) (- t z)) (/ x (* (- y z) t))))
double code(double x, double y, double z, double t) {
double tmp;
if (y <= -2.25e-94) {
tmp = (x / y) / (t - z);
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (y <= (-2.25d-94)) then
tmp = (x / y) / (t - z)
else
tmp = x / ((y - z) * t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (y <= -2.25e-94) {
tmp = (x / y) / (t - z);
} else {
tmp = x / ((y - z) * t);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if y <= -2.25e-94: tmp = (x / y) / (t - z) else: tmp = x / ((y - z) * t) return tmp
function code(x, y, z, t) tmp = 0.0 if (y <= -2.25e-94) tmp = Float64(Float64(x / y) / Float64(t - z)); else tmp = Float64(x / Float64(Float64(y - z) * t)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (y <= -2.25e-94) tmp = (x / y) / (t - z); else tmp = x / ((y - z) * t); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[y, -2.25e-94], N[(N[(x / y), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision], N[(x / N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.25 \cdot 10^{-94}:\\
\;\;\;\;\frac{\frac{x}{y}}{t - z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\left(y - z\right) \cdot t}\\
\end{array}
\end{array}
if y < -2.2500000000000001e-94Initial program 89.1%
add-cube-cbrt88.2%
times-frac96.6%
pow296.6%
Applied egg-rr96.6%
associate-*r/95.6%
associate-*l/95.7%
unpow295.7%
add-cube-cbrt96.7%
Applied egg-rr96.7%
Taylor expanded in y around inf 74.8%
associate-/r*79.1%
Simplified79.1%
if -2.2500000000000001e-94 < y Initial program 90.0%
Taylor expanded in t around inf 53.4%
Final simplification62.3%
(FPCore (x y z t) :precision binary64 (/ (/ x (- t z)) (- y z)))
double code(double x, double y, double z, double t) {
return (x / (t - z)) / (y - z);
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = (x / (t - z)) / (y - z)
end function
public static double code(double x, double y, double z, double t) {
return (x / (t - z)) / (y - z);
}
def code(x, y, z, t): return (x / (t - z)) / (y - z)
function code(x, y, z, t) return Float64(Float64(x / Float64(t - z)) / Float64(y - z)) end
function tmp = code(x, y, z, t) tmp = (x / (t - z)) / (y - z); end
code[x_, y_, z_, t_] := N[(N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{\frac{x}{t - z}}{y - z}
\end{array}
Initial program 89.7%
add-cube-cbrt88.9%
times-frac98.1%
pow298.1%
Applied egg-rr98.1%
frac-times88.9%
unpow288.9%
add-cube-cbrt89.7%
associate-/l/96.1%
Applied egg-rr96.1%
Final simplification96.1%
(FPCore (x y z t) :precision binary64 (/ (/ x (- y z)) (- t z)))
double code(double x, double y, double z, double t) {
return (x / (y - z)) / (t - z);
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = (x / (y - z)) / (t - z)
end function
public static double code(double x, double y, double z, double t) {
return (x / (y - z)) / (t - z);
}
def code(x, y, z, t): return (x / (y - z)) / (t - z)
function code(x, y, z, t) return Float64(Float64(x / Float64(y - z)) / Float64(t - z)) end
function tmp = code(x, y, z, t) tmp = (x / (y - z)) / (t - z); end
code[x_, y_, z_, t_] := N[(N[(x / N[(y - z), $MachinePrecision]), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{\frac{x}{y - z}}{t - z}
\end{array}
Initial program 89.7%
add-cube-cbrt88.9%
times-frac98.1%
pow298.1%
Applied egg-rr98.1%
associate-*r/97.4%
associate-*l/97.4%
unpow297.4%
add-cube-cbrt98.4%
Applied egg-rr98.4%
Final simplification98.4%
(FPCore (x y z t) :precision binary64 (/ x (* y t)))
double code(double x, double y, double z, double t) {
return x / (y * t);
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = x / (y * t)
end function
public static double code(double x, double y, double z, double t) {
return x / (y * t);
}
def code(x, y, z, t): return x / (y * t)
function code(x, y, z, t) return Float64(x / Float64(y * t)) end
function tmp = code(x, y, z, t) tmp = x / (y * t); end
code[x_, y_, z_, t_] := N[(x / N[(y * t), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{y \cdot t}
\end{array}
Initial program 89.7%
Taylor expanded in z around 0 34.9%
Final simplification34.9%
(FPCore (x y z t) :precision binary64 (let* ((t_1 (* (- y z) (- t z)))) (if (< (/ x t_1) 0.0) (/ (/ x (- y z)) (- t z)) (* x (/ 1.0 t_1)))))
double code(double x, double y, double z, double t) {
double t_1 = (y - z) * (t - z);
double tmp;
if ((x / t_1) < 0.0) {
tmp = (x / (y - z)) / (t - z);
} else {
tmp = x * (1.0 / t_1);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: tmp
t_1 = (y - z) * (t - z)
if ((x / t_1) < 0.0d0) then
tmp = (x / (y - z)) / (t - z)
else
tmp = x * (1.0d0 / t_1)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = (y - z) * (t - z);
double tmp;
if ((x / t_1) < 0.0) {
tmp = (x / (y - z)) / (t - z);
} else {
tmp = x * (1.0 / t_1);
}
return tmp;
}
def code(x, y, z, t): t_1 = (y - z) * (t - z) tmp = 0 if (x / t_1) < 0.0: tmp = (x / (y - z)) / (t - z) else: tmp = x * (1.0 / t_1) return tmp
function code(x, y, z, t) t_1 = Float64(Float64(y - z) * Float64(t - z)) tmp = 0.0 if (Float64(x / t_1) < 0.0) tmp = Float64(Float64(x / Float64(y - z)) / Float64(t - z)); else tmp = Float64(x * Float64(1.0 / t_1)); end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = (y - z) * (t - z); tmp = 0.0; if ((x / t_1) < 0.0) tmp = (x / (y - z)) / (t - z); else tmp = x * (1.0 / t_1); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(N[(y - z), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision]}, If[Less[N[(x / t$95$1), $MachinePrecision], 0.0], N[(N[(x / N[(y - z), $MachinePrecision]), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision], N[(x * N[(1.0 / t$95$1), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(y - z\right) \cdot \left(t - z\right)\\
\mathbf{if}\;\frac{x}{t_1} < 0:\\
\;\;\;\;\frac{\frac{x}{y - z}}{t - z}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{1}{t_1}\\
\end{array}
\end{array}
herbie shell --seed 2023310
(FPCore (x y z t)
:name "Data.Random.Distribution.Triangular:triangularCDF from random-fu-0.2.6.2, B"
:precision binary64
:herbie-target
(if (< (/ x (* (- y z) (- t z))) 0.0) (/ (/ x (- y z)) (- t z)) (* x (/ 1.0 (* (- y z) (- t z)))))
(/ x (* (- y z) (- t z))))