
(FPCore (x y z t a) :precision binary64 (+ x (* (- y z) (/ (- t x) (- a z)))))
double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
real(8) function code(x, y, z, t, a)
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
code = x + ((y - z) * ((t - x) / (a - z)))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
def code(x, y, z, t, a): return x + ((y - z) * ((t - x) / (a - z)))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y - z) * ((t - x) / (a - z))); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 20 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (* (- y z) (/ (- t x) (- a z)))))
double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
real(8) function code(x, y, z, t, a)
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
code = x + ((y - z) * ((t - x) / (a - z)))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
def code(x, y, z, t, a): return x + ((y - z) * ((t - x) / (a - z)))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y - z) * ((t - x) / (a - z))); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (- t x) (/ (- a z) (- y z)))))
(t_2 (+ x (* (- y z) (/ (- t x) (- a z))))))
(if (<= t_2 -5e-305)
t_1
(if (<= t_2 0.0) (+ t (* (- t x) (- (/ a z) (/ y z)))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) / ((a - z) / (y - z)));
double t_2 = x + ((y - z) * ((t - x) / (a - z)));
double tmp;
if (t_2 <= -5e-305) {
tmp = t_1;
} else if (t_2 <= 0.0) {
tmp = t + ((t - x) * ((a / z) - (y / z)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + ((t - x) / ((a - z) / (y - z)))
t_2 = x + ((y - z) * ((t - x) / (a - z)))
if (t_2 <= (-5d-305)) then
tmp = t_1
else if (t_2 <= 0.0d0) then
tmp = t + ((t - x) * ((a / z) - (y / z)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) / ((a - z) / (y - z)));
double t_2 = x + ((y - z) * ((t - x) / (a - z)));
double tmp;
if (t_2 <= -5e-305) {
tmp = t_1;
} else if (t_2 <= 0.0) {
tmp = t + ((t - x) * ((a / z) - (y / z)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((t - x) / ((a - z) / (y - z))) t_2 = x + ((y - z) * ((t - x) / (a - z))) tmp = 0 if t_2 <= -5e-305: tmp = t_1 elif t_2 <= 0.0: tmp = t + ((t - x) * ((a / z) - (y / z))) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))) t_2 = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) tmp = 0.0 if (t_2 <= -5e-305) tmp = t_1; elseif (t_2 <= 0.0) tmp = Float64(t + Float64(Float64(t - x) * Float64(Float64(a / z) - Float64(y / z)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((t - x) / ((a - z) / (y - z))); t_2 = x + ((y - z) * ((t - x) / (a - z))); tmp = 0.0; if (t_2 <= -5e-305) tmp = t_1; elseif (t_2 <= 0.0) tmp = t + ((t - x) * ((a / z) - (y / z))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(t - x), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, -5e-305], t$95$1, If[LessEqual[t$95$2, 0.0], N[(t + N[(N[(t - x), $MachinePrecision] * N[(N[(a / z), $MachinePrecision] - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{t - x}{\frac{a - z}{y - z}}\\
t_2 := x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\mathbf{if}\;t\_2 \leq -5 \cdot 10^{-305}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t\_2 \leq 0:\\
\;\;\;\;t + \left(t - x\right) \cdot \left(\frac{a}{z} - \frac{y}{z}\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -4.99999999999999985e-305 or 0.0 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 90.8%
*-commutativeN/A
flip--N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f64N/A
clear-numN/A
flip--N/A
/-lowering-/.f64N/A
--lowering--.f6490.7%
Applied egg-rr90.7%
associate-/l/N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
*-commutativeN/A
div-invN/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6494.9%
Applied egg-rr94.9%
if -4.99999999999999985e-305 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 0.0Initial program 3.4%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6494.1%
Simplified94.1%
div-subN/A
--lowering--.f64N/A
/-lowering-/.f64N/A
/-lowering-/.f6494.2%
Applied egg-rr94.2%
Final simplification94.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (- t x) (/ (- a z) (- y z)))))
(t_2 (+ x (* (- y z) (/ (- t x) (- a z))))))
(if (<= t_2 -5e-305) t_1 (if (<= t_2 0.0) (+ t (* x (/ (- y a) z))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) / ((a - z) / (y - z)));
double t_2 = x + ((y - z) * ((t - x) / (a - z)));
double tmp;
if (t_2 <= -5e-305) {
tmp = t_1;
} else if (t_2 <= 0.0) {
tmp = t + (x * ((y - a) / z));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + ((t - x) / ((a - z) / (y - z)))
t_2 = x + ((y - z) * ((t - x) / (a - z)))
if (t_2 <= (-5d-305)) then
tmp = t_1
else if (t_2 <= 0.0d0) then
tmp = t + (x * ((y - a) / z))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) / ((a - z) / (y - z)));
double t_2 = x + ((y - z) * ((t - x) / (a - z)));
double tmp;
if (t_2 <= -5e-305) {
tmp = t_1;
} else if (t_2 <= 0.0) {
tmp = t + (x * ((y - a) / z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((t - x) / ((a - z) / (y - z))) t_2 = x + ((y - z) * ((t - x) / (a - z))) tmp = 0 if t_2 <= -5e-305: tmp = t_1 elif t_2 <= 0.0: tmp = t + (x * ((y - a) / z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))) t_2 = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) tmp = 0.0 if (t_2 <= -5e-305) tmp = t_1; elseif (t_2 <= 0.0) tmp = Float64(t + Float64(x * Float64(Float64(y - a) / z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((t - x) / ((a - z) / (y - z))); t_2 = x + ((y - z) * ((t - x) / (a - z))); tmp = 0.0; if (t_2 <= -5e-305) tmp = t_1; elseif (t_2 <= 0.0) tmp = t + (x * ((y - a) / z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(t - x), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, -5e-305], t$95$1, If[LessEqual[t$95$2, 0.0], N[(t + N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{t - x}{\frac{a - z}{y - z}}\\
t_2 := x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\mathbf{if}\;t\_2 \leq -5 \cdot 10^{-305}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t\_2 \leq 0:\\
\;\;\;\;t + x \cdot \frac{y - a}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -4.99999999999999985e-305 or 0.0 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 90.8%
*-commutativeN/A
flip--N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f64N/A
clear-numN/A
flip--N/A
/-lowering-/.f64N/A
--lowering--.f6490.7%
Applied egg-rr90.7%
associate-/l/N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
*-commutativeN/A
div-invN/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6494.9%
Applied egg-rr94.9%
if -4.99999999999999985e-305 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 0.0Initial program 3.4%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6494.1%
Simplified94.1%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6494.1%
Simplified94.1%
Final simplification94.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- y z) (/ (- t x) (- a z))))))
(if (<= t_1 -1e-226)
t_1
(if (<= t_1 1e-219) (+ t (* x (/ (- y a) z))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) * ((t - x) / (a - z)));
double tmp;
if (t_1 <= -1e-226) {
tmp = t_1;
} else if (t_1 <= 1e-219) {
tmp = t + (x * ((y - a) / z));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = x + ((y - z) * ((t - x) / (a - z)))
if (t_1 <= (-1d-226)) then
tmp = t_1
else if (t_1 <= 1d-219) then
tmp = t + (x * ((y - a) / z))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) * ((t - x) / (a - z)));
double tmp;
if (t_1 <= -1e-226) {
tmp = t_1;
} else if (t_1 <= 1e-219) {
tmp = t + (x * ((y - a) / z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y - z) * ((t - x) / (a - z))) tmp = 0 if t_1 <= -1e-226: tmp = t_1 elif t_1 <= 1e-219: tmp = t + (x * ((y - a) / z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) tmp = 0.0 if (t_1 <= -1e-226) tmp = t_1; elseif (t_1 <= 1e-219) tmp = Float64(t + Float64(x * Float64(Float64(y - a) / z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((y - z) * ((t - x) / (a - z))); tmp = 0.0; if (t_1 <= -1e-226) tmp = t_1; elseif (t_1 <= 1e-219) tmp = t + (x * ((y - a) / z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e-226], t$95$1, If[LessEqual[t$95$1, 1e-219], N[(t + N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\mathbf{if}\;t\_1 \leq -1 \cdot 10^{-226}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t\_1 \leq 10^{-219}:\\
\;\;\;\;t + x \cdot \frac{y - a}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -9.99999999999999921e-227 or 1e-219 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 92.4%
if -9.99999999999999921e-227 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 1e-219Initial program 12.4%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6487.9%
Simplified87.9%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6488.0%
Simplified88.0%
Final simplification91.7%
(FPCore (x y z t a)
:precision binary64
(if (<= a -2.35e+111)
x
(if (<= a -0.00092)
(* t (/ y (- a z)))
(if (<= a -2.8e-296)
t
(if (<= a 9.5e-111) (* x (/ y z)) (if (<= a 1.25e+81) t x))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.35e+111) {
tmp = x;
} else if (a <= -0.00092) {
tmp = t * (y / (a - z));
} else if (a <= -2.8e-296) {
tmp = t;
} else if (a <= 9.5e-111) {
tmp = x * (y / z);
} else if (a <= 1.25e+81) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (a <= (-2.35d+111)) then
tmp = x
else if (a <= (-0.00092d0)) then
tmp = t * (y / (a - z))
else if (a <= (-2.8d-296)) then
tmp = t
else if (a <= 9.5d-111) then
tmp = x * (y / z)
else if (a <= 1.25d+81) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.35e+111) {
tmp = x;
} else if (a <= -0.00092) {
tmp = t * (y / (a - z));
} else if (a <= -2.8e-296) {
tmp = t;
} else if (a <= 9.5e-111) {
tmp = x * (y / z);
} else if (a <= 1.25e+81) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -2.35e+111: tmp = x elif a <= -0.00092: tmp = t * (y / (a - z)) elif a <= -2.8e-296: tmp = t elif a <= 9.5e-111: tmp = x * (y / z) elif a <= 1.25e+81: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -2.35e+111) tmp = x; elseif (a <= -0.00092) tmp = Float64(t * Float64(y / Float64(a - z))); elseif (a <= -2.8e-296) tmp = t; elseif (a <= 9.5e-111) tmp = Float64(x * Float64(y / z)); elseif (a <= 1.25e+81) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -2.35e+111) tmp = x; elseif (a <= -0.00092) tmp = t * (y / (a - z)); elseif (a <= -2.8e-296) tmp = t; elseif (a <= 9.5e-111) tmp = x * (y / z); elseif (a <= 1.25e+81) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2.35e+111], x, If[LessEqual[a, -0.00092], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -2.8e-296], t, If[LessEqual[a, 9.5e-111], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.25e+81], t, x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -2.35 \cdot 10^{+111}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -0.00092:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{elif}\;a \leq -2.8 \cdot 10^{-296}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 9.5 \cdot 10^{-111}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 1.25 \cdot 10^{+81}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -2.35000000000000004e111 or 1.25e81 < a Initial program 91.2%
Taylor expanded in a around inf
Simplified54.4%
if -2.35000000000000004e111 < a < -9.2000000000000003e-4Initial program 75.7%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6439.6%
Simplified39.6%
Taylor expanded in y around inf
associate-/l*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
--lowering--.f6433.9%
Simplified33.9%
if -9.2000000000000003e-4 < a < -2.7999999999999999e-296 or 9.4999999999999995e-111 < a < 1.25e81Initial program 75.7%
Taylor expanded in z around inf
Simplified41.9%
if -2.7999999999999999e-296 < a < 9.4999999999999995e-111Initial program 71.7%
Taylor expanded in x around inf
*-lowering-*.f64N/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6441.1%
Simplified41.1%
Taylor expanded in a around 0
/-lowering-/.f6451.7%
Simplified51.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ t (* x (/ (- y a) z)))))
(if (<= z -7e+53)
t_1
(if (<= z -1.1e-67)
(+ x (* (- y z) (/ t (- a z))))
(if (<= z 5.4e+148) (+ x (* y (/ (- t x) (- a z)))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t + (x * ((y - a) / z));
double tmp;
if (z <= -7e+53) {
tmp = t_1;
} else if (z <= -1.1e-67) {
tmp = x + ((y - z) * (t / (a - z)));
} else if (z <= 5.4e+148) {
tmp = x + (y * ((t - x) / (a - z)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t + (x * ((y - a) / z))
if (z <= (-7d+53)) then
tmp = t_1
else if (z <= (-1.1d-67)) then
tmp = x + ((y - z) * (t / (a - z)))
else if (z <= 5.4d+148) then
tmp = x + (y * ((t - x) / (a - z)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t + (x * ((y - a) / z));
double tmp;
if (z <= -7e+53) {
tmp = t_1;
} else if (z <= -1.1e-67) {
tmp = x + ((y - z) * (t / (a - z)));
} else if (z <= 5.4e+148) {
tmp = x + (y * ((t - x) / (a - z)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t + (x * ((y - a) / z)) tmp = 0 if z <= -7e+53: tmp = t_1 elif z <= -1.1e-67: tmp = x + ((y - z) * (t / (a - z))) elif z <= 5.4e+148: tmp = x + (y * ((t - x) / (a - z))) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t + Float64(x * Float64(Float64(y - a) / z))) tmp = 0.0 if (z <= -7e+53) tmp = t_1; elseif (z <= -1.1e-67) tmp = Float64(x + Float64(Float64(y - z) * Float64(t / Float64(a - z)))); elseif (z <= 5.4e+148) tmp = Float64(x + Float64(y * Float64(Float64(t - x) / Float64(a - z)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t + (x * ((y - a) / z)); tmp = 0.0; if (z <= -7e+53) tmp = t_1; elseif (z <= -1.1e-67) tmp = x + ((y - z) * (t / (a - z))); elseif (z <= 5.4e+148) tmp = x + (y * ((t - x) / (a - z))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t + N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -7e+53], t$95$1, If[LessEqual[z, -1.1e-67], N[(x + N[(N[(y - z), $MachinePrecision] * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 5.4e+148], N[(x + N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t + x \cdot \frac{y - a}{z}\\
\mathbf{if}\;z \leq -7 \cdot 10^{+53}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.1 \cdot 10^{-67}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t}{a - z}\\
\mathbf{elif}\;z \leq 5.4 \cdot 10^{+148}:\\
\;\;\;\;x + y \cdot \frac{t - x}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -7.00000000000000038e53 or 5.40000000000000038e148 < z Initial program 62.4%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6479.9%
Simplified79.9%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6476.9%
Simplified76.9%
if -7.00000000000000038e53 < z < -1.1000000000000001e-67Initial program 88.9%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6480.8%
Simplified80.8%
if -1.1000000000000001e-67 < z < 5.40000000000000038e148Initial program 90.4%
Taylor expanded in y around inf
Simplified79.8%
Final simplification78.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ t (/ a (- y z))))))
(if (<= a -2.1e+137)
t_1
(if (<= a -1.58e+53)
(+ x (* y (/ (- t x) a)))
(if (<= a 1.7e+81) (+ t (* x (/ (- y a) z))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t / (a / (y - z)));
double tmp;
if (a <= -2.1e+137) {
tmp = t_1;
} else if (a <= -1.58e+53) {
tmp = x + (y * ((t - x) / a));
} else if (a <= 1.7e+81) {
tmp = t + (x * ((y - a) / z));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = x + (t / (a / (y - z)))
if (a <= (-2.1d+137)) then
tmp = t_1
else if (a <= (-1.58d+53)) then
tmp = x + (y * ((t - x) / a))
else if (a <= 1.7d+81) then
tmp = t + (x * ((y - a) / z))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t / (a / (y - z)));
double tmp;
if (a <= -2.1e+137) {
tmp = t_1;
} else if (a <= -1.58e+53) {
tmp = x + (y * ((t - x) / a));
} else if (a <= 1.7e+81) {
tmp = t + (x * ((y - a) / z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (t / (a / (y - z))) tmp = 0 if a <= -2.1e+137: tmp = t_1 elif a <= -1.58e+53: tmp = x + (y * ((t - x) / a)) elif a <= 1.7e+81: tmp = t + (x * ((y - a) / z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(t / Float64(a / Float64(y - z)))) tmp = 0.0 if (a <= -2.1e+137) tmp = t_1; elseif (a <= -1.58e+53) tmp = Float64(x + Float64(y * Float64(Float64(t - x) / a))); elseif (a <= 1.7e+81) tmp = Float64(t + Float64(x * Float64(Float64(y - a) / z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (t / (a / (y - z))); tmp = 0.0; if (a <= -2.1e+137) tmp = t_1; elseif (a <= -1.58e+53) tmp = x + (y * ((t - x) / a)); elseif (a <= 1.7e+81) tmp = t + (x * ((y - a) / z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(t / N[(a / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.1e+137], t$95$1, If[LessEqual[a, -1.58e+53], N[(x + N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.7e+81], N[(t + N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{t}{\frac{a}{y - z}}\\
\mathbf{if}\;a \leq -2.1 \cdot 10^{+137}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -1.58 \cdot 10^{+53}:\\
\;\;\;\;x + y \cdot \frac{t - x}{a}\\
\mathbf{elif}\;a \leq 1.7 \cdot 10^{+81}:\\
\;\;\;\;t + x \cdot \frac{y - a}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -2.0999999999999999e137 or 1.70000000000000001e81 < a Initial program 90.8%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6485.8%
Simplified85.8%
*-commutativeN/A
associate-/r/N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6487.8%
Applied egg-rr87.8%
Taylor expanded in a around inf
/-lowering-/.f64N/A
--lowering--.f6480.6%
Simplified80.6%
if -2.0999999999999999e137 < a < -1.57999999999999999e53Initial program 92.6%
Taylor expanded in z around 0
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
--lowering--.f6477.9%
Simplified77.9%
associate-/l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
--lowering--.f6485.0%
Applied egg-rr85.0%
if -1.57999999999999999e53 < a < 1.70000000000000001e81Initial program 73.8%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6478.3%
Simplified78.3%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6468.5%
Simplified68.5%
Final simplification73.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ t (/ a (- y z))))))
(if (<= a -1.4e+137)
t_1
(if (<= a -1.55e-10)
(+ x (* y (/ (- t x) a)))
(if (<= a 9.2e+80) (+ t (/ (* x y) z)) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t / (a / (y - z)));
double tmp;
if (a <= -1.4e+137) {
tmp = t_1;
} else if (a <= -1.55e-10) {
tmp = x + (y * ((t - x) / a));
} else if (a <= 9.2e+80) {
tmp = t + ((x * y) / z);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = x + (t / (a / (y - z)))
if (a <= (-1.4d+137)) then
tmp = t_1
else if (a <= (-1.55d-10)) then
tmp = x + (y * ((t - x) / a))
else if (a <= 9.2d+80) then
tmp = t + ((x * y) / z)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t / (a / (y - z)));
double tmp;
if (a <= -1.4e+137) {
tmp = t_1;
} else if (a <= -1.55e-10) {
tmp = x + (y * ((t - x) / a));
} else if (a <= 9.2e+80) {
tmp = t + ((x * y) / z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (t / (a / (y - z))) tmp = 0 if a <= -1.4e+137: tmp = t_1 elif a <= -1.55e-10: tmp = x + (y * ((t - x) / a)) elif a <= 9.2e+80: tmp = t + ((x * y) / z) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(t / Float64(a / Float64(y - z)))) tmp = 0.0 if (a <= -1.4e+137) tmp = t_1; elseif (a <= -1.55e-10) tmp = Float64(x + Float64(y * Float64(Float64(t - x) / a))); elseif (a <= 9.2e+80) tmp = Float64(t + Float64(Float64(x * y) / z)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (t / (a / (y - z))); tmp = 0.0; if (a <= -1.4e+137) tmp = t_1; elseif (a <= -1.55e-10) tmp = x + (y * ((t - x) / a)); elseif (a <= 9.2e+80) tmp = t + ((x * y) / z); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(t / N[(a / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.4e+137], t$95$1, If[LessEqual[a, -1.55e-10], N[(x + N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9.2e+80], N[(t + N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{t}{\frac{a}{y - z}}\\
\mathbf{if}\;a \leq -1.4 \cdot 10^{+137}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -1.55 \cdot 10^{-10}:\\
\;\;\;\;x + y \cdot \frac{t - x}{a}\\
\mathbf{elif}\;a \leq 9.2 \cdot 10^{+80}:\\
\;\;\;\;t + \frac{x \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.4e137 or 9.20000000000000016e80 < a Initial program 90.8%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6485.8%
Simplified85.8%
*-commutativeN/A
associate-/r/N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6487.8%
Applied egg-rr87.8%
Taylor expanded in a around inf
/-lowering-/.f64N/A
--lowering--.f6480.6%
Simplified80.6%
if -1.4e137 < a < -1.55000000000000008e-10Initial program 81.5%
Taylor expanded in z around 0
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
--lowering--.f6463.0%
Simplified63.0%
associate-/l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
--lowering--.f6467.3%
Applied egg-rr67.3%
if -1.55000000000000008e-10 < a < 9.20000000000000016e80Initial program 74.3%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6479.1%
Simplified79.1%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6468.7%
Simplified68.7%
Taylor expanded in a around 0
sub-negN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6461.3%
Simplified61.3%
Final simplification68.0%
(FPCore (x y z t a)
:precision binary64
(if (<= z -2.15e+107)
t
(if (<= z 1.2e-51)
(* x (- 1.0 (/ y a)))
(if (<= z 3.3e+122) (* x (/ (- y a) z)) t))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.15e+107) {
tmp = t;
} else if (z <= 1.2e-51) {
tmp = x * (1.0 - (y / a));
} else if (z <= 3.3e+122) {
tmp = x * ((y - a) / z);
} else {
tmp = t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-2.15d+107)) then
tmp = t
else if (z <= 1.2d-51) then
tmp = x * (1.0d0 - (y / a))
else if (z <= 3.3d+122) then
tmp = x * ((y - a) / z)
else
tmp = t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.15e+107) {
tmp = t;
} else if (z <= 1.2e-51) {
tmp = x * (1.0 - (y / a));
} else if (z <= 3.3e+122) {
tmp = x * ((y - a) / z);
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -2.15e+107: tmp = t elif z <= 1.2e-51: tmp = x * (1.0 - (y / a)) elif z <= 3.3e+122: tmp = x * ((y - a) / z) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -2.15e+107) tmp = t; elseif (z <= 1.2e-51) tmp = Float64(x * Float64(1.0 - Float64(y / a))); elseif (z <= 3.3e+122) tmp = Float64(x * Float64(Float64(y - a) / z)); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -2.15e+107) tmp = t; elseif (z <= 1.2e-51) tmp = x * (1.0 - (y / a)); elseif (z <= 3.3e+122) tmp = x * ((y - a) / z); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -2.15e+107], t, If[LessEqual[z, 1.2e-51], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 3.3e+122], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], t]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.15 \cdot 10^{+107}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 1.2 \cdot 10^{-51}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{elif}\;z \leq 3.3 \cdot 10^{+122}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -2.15e107 or 3.2999999999999999e122 < z Initial program 66.7%
Taylor expanded in z around inf
Simplified58.3%
if -2.15e107 < z < 1.2e-51Initial program 84.0%
Taylor expanded in z around 0
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
--lowering--.f6466.1%
Simplified66.1%
Taylor expanded in x around inf
mul-1-negN/A
sub-negN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f6452.0%
Simplified52.0%
if 1.2e-51 < z < 3.2999999999999999e122Initial program 92.3%
Taylor expanded in x around inf
*-lowering-*.f64N/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6457.1%
Simplified57.1%
Taylor expanded in z around inf
mul-1-negN/A
sub-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
distribute-lft-inN/A
neg-mul-1N/A
mul-1-negN/A
remove-double-negN/A
+-commutativeN/A
mul-1-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6441.7%
Simplified41.7%
(FPCore (x y z t a)
:precision binary64
(if (<= a -7.4e-34)
(* x (+ (/ z a) 1.0))
(if (<= a -1.15e-295)
t
(if (<= a 4.8e-110) (* x (/ y z)) (if (<= a 9.5e+80) t x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -7.4e-34) {
tmp = x * ((z / a) + 1.0);
} else if (a <= -1.15e-295) {
tmp = t;
} else if (a <= 4.8e-110) {
tmp = x * (y / z);
} else if (a <= 9.5e+80) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (a <= (-7.4d-34)) then
tmp = x * ((z / a) + 1.0d0)
else if (a <= (-1.15d-295)) then
tmp = t
else if (a <= 4.8d-110) then
tmp = x * (y / z)
else if (a <= 9.5d+80) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -7.4e-34) {
tmp = x * ((z / a) + 1.0);
} else if (a <= -1.15e-295) {
tmp = t;
} else if (a <= 4.8e-110) {
tmp = x * (y / z);
} else if (a <= 9.5e+80) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -7.4e-34: tmp = x * ((z / a) + 1.0) elif a <= -1.15e-295: tmp = t elif a <= 4.8e-110: tmp = x * (y / z) elif a <= 9.5e+80: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -7.4e-34) tmp = Float64(x * Float64(Float64(z / a) + 1.0)); elseif (a <= -1.15e-295) tmp = t; elseif (a <= 4.8e-110) tmp = Float64(x * Float64(y / z)); elseif (a <= 9.5e+80) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -7.4e-34) tmp = x * ((z / a) + 1.0); elseif (a <= -1.15e-295) tmp = t; elseif (a <= 4.8e-110) tmp = x * (y / z); elseif (a <= 9.5e+80) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -7.4e-34], N[(x * N[(N[(z / a), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.15e-295], t, If[LessEqual[a, 4.8e-110], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9.5e+80], t, x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -7.4 \cdot 10^{-34}:\\
\;\;\;\;x \cdot \left(\frac{z}{a} + 1\right)\\
\mathbf{elif}\;a \leq -1.15 \cdot 10^{-295}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 4.8 \cdot 10^{-110}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 9.5 \cdot 10^{+80}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -7.39999999999999976e-34Initial program 84.0%
Taylor expanded in x around inf
*-lowering-*.f64N/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6455.1%
Simplified55.1%
Taylor expanded in y around 0
*-lowering-*.f64N/A
+-lowering-+.f64N/A
/-lowering-/.f64N/A
--lowering--.f6439.0%
Simplified39.0%
Taylor expanded in a around inf
Simplified40.1%
if -7.39999999999999976e-34 < a < -1.15e-295 or 4.80000000000000013e-110 < a < 9.499999999999999e80Initial program 75.3%
Taylor expanded in z around inf
Simplified43.0%
if -1.15e-295 < a < 4.80000000000000013e-110Initial program 71.7%
Taylor expanded in x around inf
*-lowering-*.f64N/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6441.1%
Simplified41.1%
Taylor expanded in a around 0
/-lowering-/.f6451.7%
Simplified51.7%
if 9.499999999999999e80 < a Initial program 94.3%
Taylor expanded in a around inf
Simplified55.3%
Final simplification46.2%
(FPCore (x y z t a)
:precision binary64
(if (<= a -1.55e-10)
x
(if (<= a -7.5e-303)
t
(if (<= a 2.3e-110) (* x (/ y z)) (if (<= a 9.4e+80) t x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.55e-10) {
tmp = x;
} else if (a <= -7.5e-303) {
tmp = t;
} else if (a <= 2.3e-110) {
tmp = x * (y / z);
} else if (a <= 9.4e+80) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (a <= (-1.55d-10)) then
tmp = x
else if (a <= (-7.5d-303)) then
tmp = t
else if (a <= 2.3d-110) then
tmp = x * (y / z)
else if (a <= 9.4d+80) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.55e-10) {
tmp = x;
} else if (a <= -7.5e-303) {
tmp = t;
} else if (a <= 2.3e-110) {
tmp = x * (y / z);
} else if (a <= 9.4e+80) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.55e-10: tmp = x elif a <= -7.5e-303: tmp = t elif a <= 2.3e-110: tmp = x * (y / z) elif a <= 9.4e+80: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.55e-10) tmp = x; elseif (a <= -7.5e-303) tmp = t; elseif (a <= 2.3e-110) tmp = Float64(x * Float64(y / z)); elseif (a <= 9.4e+80) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.55e-10) tmp = x; elseif (a <= -7.5e-303) tmp = t; elseif (a <= 2.3e-110) tmp = x * (y / z); elseif (a <= 9.4e+80) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.55e-10], x, If[LessEqual[a, -7.5e-303], t, If[LessEqual[a, 2.3e-110], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9.4e+80], t, x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.55 \cdot 10^{-10}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -7.5 \cdot 10^{-303}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 2.3 \cdot 10^{-110}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 9.4 \cdot 10^{+80}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.55000000000000008e-10 or 9.40000000000000019e80 < a Initial program 88.9%
Taylor expanded in a around inf
Simplified46.7%
if -1.55000000000000008e-10 < a < -7.49999999999999972e-303 or 2.3000000000000001e-110 < a < 9.40000000000000019e80Initial program 75.5%
Taylor expanded in z around inf
Simplified42.2%
if -7.49999999999999972e-303 < a < 2.3000000000000001e-110Initial program 71.7%
Taylor expanded in x around inf
*-lowering-*.f64N/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6441.1%
Simplified41.1%
Taylor expanded in a around 0
/-lowering-/.f6451.7%
Simplified51.7%
(FPCore (x y z t a)
:precision binary64
(if (<= a -1.86e+50)
(+ x (* (- t x) (/ (- y z) a)))
(if (<= a 6.2e-55)
(+ t (* (- t x) (/ (- a y) z)))
(+ x (/ t (/ (- a z) (- y z)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.86e+50) {
tmp = x + ((t - x) * ((y - z) / a));
} else if (a <= 6.2e-55) {
tmp = t + ((t - x) * ((a - y) / z));
} else {
tmp = x + (t / ((a - z) / (y - z)));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (a <= (-1.86d+50)) then
tmp = x + ((t - x) * ((y - z) / a))
else if (a <= 6.2d-55) then
tmp = t + ((t - x) * ((a - y) / z))
else
tmp = x + (t / ((a - z) / (y - z)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.86e+50) {
tmp = x + ((t - x) * ((y - z) / a));
} else if (a <= 6.2e-55) {
tmp = t + ((t - x) * ((a - y) / z));
} else {
tmp = x + (t / ((a - z) / (y - z)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.86e+50: tmp = x + ((t - x) * ((y - z) / a)) elif a <= 6.2e-55: tmp = t + ((t - x) * ((a - y) / z)) else: tmp = x + (t / ((a - z) / (y - z))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.86e+50) tmp = Float64(x + Float64(Float64(t - x) * Float64(Float64(y - z) / a))); elseif (a <= 6.2e-55) tmp = Float64(t + Float64(Float64(t - x) * Float64(Float64(a - y) / z))); else tmp = Float64(x + Float64(t / Float64(Float64(a - z) / Float64(y - z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.86e+50) tmp = x + ((t - x) * ((y - z) / a)); elseif (a <= 6.2e-55) tmp = t + ((t - x) * ((a - y) / z)); else tmp = x + (t / ((a - z) / (y - z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.86e+50], N[(x + N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6.2e-55], N[(t + N[(N[(t - x), $MachinePrecision] * N[(N[(a - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(t / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.86 \cdot 10^{+50}:\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y - z}{a}\\
\mathbf{elif}\;a \leq 6.2 \cdot 10^{-55}:\\
\;\;\;\;t + \left(t - x\right) \cdot \frac{a - y}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t}{\frac{a - z}{y - z}}\\
\end{array}
\end{array}
if a < -1.86000000000000006e50Initial program 87.8%
*-commutativeN/A
flip--N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f64N/A
clear-numN/A
flip--N/A
/-lowering-/.f64N/A
--lowering--.f6487.8%
Applied egg-rr87.8%
Taylor expanded in a around inf
+-lowering-+.f64N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6482.1%
Simplified82.1%
if -1.86000000000000006e50 < a < 6.19999999999999993e-55Initial program 71.6%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6483.4%
Simplified83.4%
if 6.19999999999999993e-55 < a Initial program 89.3%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6475.3%
Simplified75.3%
*-commutativeN/A
associate-/r/N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6478.6%
Applied egg-rr78.6%
Final simplification81.7%
(FPCore (x y z t a)
:precision binary64
(if (<= y -32500000000000.0)
(+ x (* y (/ (- t x) (- a z))))
(if (<= y 2.3e+159)
(+ x (/ t (/ (- a z) (- y z))))
(+ x (/ (- t x) (/ (- a z) y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -32500000000000.0) {
tmp = x + (y * ((t - x) / (a - z)));
} else if (y <= 2.3e+159) {
tmp = x + (t / ((a - z) / (y - z)));
} else {
tmp = x + ((t - x) / ((a - z) / y));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (y <= (-32500000000000.0d0)) then
tmp = x + (y * ((t - x) / (a - z)))
else if (y <= 2.3d+159) then
tmp = x + (t / ((a - z) / (y - z)))
else
tmp = x + ((t - x) / ((a - z) / y))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -32500000000000.0) {
tmp = x + (y * ((t - x) / (a - z)));
} else if (y <= 2.3e+159) {
tmp = x + (t / ((a - z) / (y - z)));
} else {
tmp = x + ((t - x) / ((a - z) / y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -32500000000000.0: tmp = x + (y * ((t - x) / (a - z))) elif y <= 2.3e+159: tmp = x + (t / ((a - z) / (y - z))) else: tmp = x + ((t - x) / ((a - z) / y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -32500000000000.0) tmp = Float64(x + Float64(y * Float64(Float64(t - x) / Float64(a - z)))); elseif (y <= 2.3e+159) tmp = Float64(x + Float64(t / Float64(Float64(a - z) / Float64(y - z)))); else tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -32500000000000.0) tmp = x + (y * ((t - x) / (a - z))); elseif (y <= 2.3e+159) tmp = x + (t / ((a - z) / (y - z))); else tmp = x + ((t - x) / ((a - z) / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -32500000000000.0], N[(x + N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.3e+159], N[(x + N[(t / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(t - x), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -32500000000000:\\
\;\;\;\;x + y \cdot \frac{t - x}{a - z}\\
\mathbf{elif}\;y \leq 2.3 \cdot 10^{+159}:\\
\;\;\;\;x + \frac{t}{\frac{a - z}{y - z}}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y}}\\
\end{array}
\end{array}
if y < -3.25e13Initial program 91.5%
Taylor expanded in y around inf
Simplified83.6%
if -3.25e13 < y < 2.29999999999999995e159Initial program 74.6%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6469.2%
Simplified69.2%
*-commutativeN/A
associate-/r/N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6474.8%
Applied egg-rr74.8%
if 2.29999999999999995e159 < y Initial program 88.7%
*-commutativeN/A
flip--N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f64N/A
clear-numN/A
flip--N/A
/-lowering-/.f64N/A
--lowering--.f6488.6%
Applied egg-rr88.6%
associate-/l/N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
*-commutativeN/A
div-invN/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6491.6%
Applied egg-rr91.6%
Taylor expanded in y around inf
/-lowering-/.f64N/A
--lowering--.f6490.6%
Simplified90.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* y (/ (- t x) (- a z))))))
(if (<= y -1.2e+20)
t_1
(if (<= y 3.1e+159) (+ x (/ t (/ (- a z) (- y z)))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y * ((t - x) / (a - z)));
double tmp;
if (y <= -1.2e+20) {
tmp = t_1;
} else if (y <= 3.1e+159) {
tmp = x + (t / ((a - z) / (y - z)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = x + (y * ((t - x) / (a - z)))
if (y <= (-1.2d+20)) then
tmp = t_1
else if (y <= 3.1d+159) then
tmp = x + (t / ((a - z) / (y - z)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y * ((t - x) / (a - z)));
double tmp;
if (y <= -1.2e+20) {
tmp = t_1;
} else if (y <= 3.1e+159) {
tmp = x + (t / ((a - z) / (y - z)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y * ((t - x) / (a - z))) tmp = 0 if y <= -1.2e+20: tmp = t_1 elif y <= 3.1e+159: tmp = x + (t / ((a - z) / (y - z))) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y * Float64(Float64(t - x) / Float64(a - z)))) tmp = 0.0 if (y <= -1.2e+20) tmp = t_1; elseif (y <= 3.1e+159) tmp = Float64(x + Float64(t / Float64(Float64(a - z) / Float64(y - z)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (y * ((t - x) / (a - z))); tmp = 0.0; if (y <= -1.2e+20) tmp = t_1; elseif (y <= 3.1e+159) tmp = x + (t / ((a - z) / (y - z))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.2e+20], t$95$1, If[LessEqual[y, 3.1e+159], N[(x + N[(t / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + y \cdot \frac{t - x}{a - z}\\
\mathbf{if}\;y \leq -1.2 \cdot 10^{+20}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 3.1 \cdot 10^{+159}:\\
\;\;\;\;x + \frac{t}{\frac{a - z}{y - z}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -1.2e20 or 3.0999999999999998e159 < y Initial program 90.6%
Taylor expanded in y around inf
Simplified85.0%
if -1.2e20 < y < 3.0999999999999998e159Initial program 74.6%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6469.2%
Simplified69.2%
*-commutativeN/A
associate-/r/N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
--lowering--.f64N/A
--lowering--.f6474.8%
Applied egg-rr74.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ t (* x (/ (- y a) z)))))
(if (<= z -3.1e+53)
t_1
(if (<= z 5.5e+148) (+ x (* y (/ (- t x) (- a z)))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t + (x * ((y - a) / z));
double tmp;
if (z <= -3.1e+53) {
tmp = t_1;
} else if (z <= 5.5e+148) {
tmp = x + (y * ((t - x) / (a - z)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t + (x * ((y - a) / z))
if (z <= (-3.1d+53)) then
tmp = t_1
else if (z <= 5.5d+148) then
tmp = x + (y * ((t - x) / (a - z)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t + (x * ((y - a) / z));
double tmp;
if (z <= -3.1e+53) {
tmp = t_1;
} else if (z <= 5.5e+148) {
tmp = x + (y * ((t - x) / (a - z)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t + (x * ((y - a) / z)) tmp = 0 if z <= -3.1e+53: tmp = t_1 elif z <= 5.5e+148: tmp = x + (y * ((t - x) / (a - z))) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t + Float64(x * Float64(Float64(y - a) / z))) tmp = 0.0 if (z <= -3.1e+53) tmp = t_1; elseif (z <= 5.5e+148) tmp = Float64(x + Float64(y * Float64(Float64(t - x) / Float64(a - z)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t + (x * ((y - a) / z)); tmp = 0.0; if (z <= -3.1e+53) tmp = t_1; elseif (z <= 5.5e+148) tmp = x + (y * ((t - x) / (a - z))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t + N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -3.1e+53], t$95$1, If[LessEqual[z, 5.5e+148], N[(x + N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t + x \cdot \frac{y - a}{z}\\
\mathbf{if}\;z \leq -3.1 \cdot 10^{+53}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 5.5 \cdot 10^{+148}:\\
\;\;\;\;x + y \cdot \frac{t - x}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -3.10000000000000019e53 or 5.5e148 < z Initial program 62.4%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6479.9%
Simplified79.9%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6476.9%
Simplified76.9%
if -3.10000000000000019e53 < z < 5.5e148Initial program 90.2%
Taylor expanded in y around inf
Simplified77.1%
Final simplification77.0%
(FPCore (x y z t a) :precision binary64 (if (<= a -3.3e-11) (+ x (* y (/ (- t x) a))) (if (<= a 8.4e+80) (+ t (/ (* x y) z)) (+ x (* (- y z) (/ t a))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -3.3e-11) {
tmp = x + (y * ((t - x) / a));
} else if (a <= 8.4e+80) {
tmp = t + ((x * y) / z);
} else {
tmp = x + ((y - z) * (t / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (a <= (-3.3d-11)) then
tmp = x + (y * ((t - x) / a))
else if (a <= 8.4d+80) then
tmp = t + ((x * y) / z)
else
tmp = x + ((y - z) * (t / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -3.3e-11) {
tmp = x + (y * ((t - x) / a));
} else if (a <= 8.4e+80) {
tmp = t + ((x * y) / z);
} else {
tmp = x + ((y - z) * (t / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -3.3e-11: tmp = x + (y * ((t - x) / a)) elif a <= 8.4e+80: tmp = t + ((x * y) / z) else: tmp = x + ((y - z) * (t / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -3.3e-11) tmp = Float64(x + Float64(y * Float64(Float64(t - x) / a))); elseif (a <= 8.4e+80) tmp = Float64(t + Float64(Float64(x * y) / z)); else tmp = Float64(x + Float64(Float64(y - z) * Float64(t / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -3.3e-11) tmp = x + (y * ((t - x) / a)); elseif (a <= 8.4e+80) tmp = t + ((x * y) / z); else tmp = x + ((y - z) * (t / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -3.3e-11], N[(x + N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.4e+80], N[(t + N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(y - z), $MachinePrecision] * N[(t / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.3 \cdot 10^{-11}:\\
\;\;\;\;x + y \cdot \frac{t - x}{a}\\
\mathbf{elif}\;a \leq 8.4 \cdot 10^{+80}:\\
\;\;\;\;t + \frac{x \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t}{a}\\
\end{array}
\end{array}
if a < -3.3000000000000002e-11Initial program 84.4%
Taylor expanded in z around 0
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
--lowering--.f6463.0%
Simplified63.0%
associate-/l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
--lowering--.f6466.4%
Applied egg-rr66.4%
if -3.3000000000000002e-11 < a < 8.40000000000000005e80Initial program 74.3%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6479.1%
Simplified79.1%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6468.7%
Simplified68.7%
Taylor expanded in a around 0
sub-negN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6461.3%
Simplified61.3%
if 8.40000000000000005e80 < a Initial program 94.3%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6488.3%
Simplified88.3%
Taylor expanded in a around inf
/-lowering-/.f6481.5%
Simplified81.5%
Final simplification66.1%
(FPCore (x y z t a) :precision binary64 (let* ((t_1 (+ x (* (- y z) (/ t a))))) (if (<= a -2.35e-11) t_1 (if (<= a 8.4e+80) (+ t (/ (* x y) z)) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) * (t / a));
double tmp;
if (a <= -2.35e-11) {
tmp = t_1;
} else if (a <= 8.4e+80) {
tmp = t + ((x * y) / z);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = x + ((y - z) * (t / a))
if (a <= (-2.35d-11)) then
tmp = t_1
else if (a <= 8.4d+80) then
tmp = t + ((x * y) / z)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) * (t / a));
double tmp;
if (a <= -2.35e-11) {
tmp = t_1;
} else if (a <= 8.4e+80) {
tmp = t + ((x * y) / z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y - z) * (t / a)) tmp = 0 if a <= -2.35e-11: tmp = t_1 elif a <= 8.4e+80: tmp = t + ((x * y) / z) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y - z) * Float64(t / a))) tmp = 0.0 if (a <= -2.35e-11) tmp = t_1; elseif (a <= 8.4e+80) tmp = Float64(t + Float64(Float64(x * y) / z)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((y - z) * (t / a)); tmp = 0.0; if (a <= -2.35e-11) tmp = t_1; elseif (a <= 8.4e+80) tmp = t + ((x * y) / z); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y - z), $MachinePrecision] * N[(t / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.35e-11], t$95$1, If[LessEqual[a, 8.4e+80], N[(t + N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(y - z\right) \cdot \frac{t}{a}\\
\mathbf{if}\;a \leq -2.35 \cdot 10^{-11}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 8.4 \cdot 10^{+80}:\\
\;\;\;\;t + \frac{x \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -2.34999999999999996e-11 or 8.40000000000000005e80 < a Initial program 88.9%
Taylor expanded in t around inf
/-lowering-/.f64N/A
--lowering--.f6478.8%
Simplified78.8%
Taylor expanded in a around inf
/-lowering-/.f6472.4%
Simplified72.4%
if -2.34999999999999996e-11 < a < 8.40000000000000005e80Initial program 74.3%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6479.1%
Simplified79.1%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6468.7%
Simplified68.7%
Taylor expanded in a around 0
sub-negN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6461.3%
Simplified61.3%
Final simplification65.8%
(FPCore (x y z t a) :precision binary64 (let* ((t_1 (* x (- 1.0 (/ y a))))) (if (<= a -1.55e-34) t_1 (if (<= a 1.55e+81) (+ t (/ (* x y) z)) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * (1.0 - (y / a));
double tmp;
if (a <= -1.55e-34) {
tmp = t_1;
} else if (a <= 1.55e+81) {
tmp = t + ((x * y) / z);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = x * (1.0d0 - (y / a))
if (a <= (-1.55d-34)) then
tmp = t_1
else if (a <= 1.55d+81) then
tmp = t + ((x * y) / z)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x * (1.0 - (y / a));
double tmp;
if (a <= -1.55e-34) {
tmp = t_1;
} else if (a <= 1.55e+81) {
tmp = t + ((x * y) / z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * (1.0 - (y / a)) tmp = 0 if a <= -1.55e-34: tmp = t_1 elif a <= 1.55e+81: tmp = t + ((x * y) / z) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(1.0 - Float64(y / a))) tmp = 0.0 if (a <= -1.55e-34) tmp = t_1; elseif (a <= 1.55e+81) tmp = Float64(t + Float64(Float64(x * y) / z)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * (1.0 - (y / a)); tmp = 0.0; if (a <= -1.55e-34) tmp = t_1; elseif (a <= 1.55e+81) tmp = t + ((x * y) / z); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.55e-34], t$95$1, If[LessEqual[a, 1.55e+81], N[(t + N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{if}\;a \leq -1.55 \cdot 10^{-34}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 1.55 \cdot 10^{+81}:\\
\;\;\;\;t + \frac{x \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.5499999999999999e-34 or 1.55e81 < a Initial program 88.5%
Taylor expanded in z around 0
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
--lowering--.f6465.9%
Simplified65.9%
Taylor expanded in x around inf
mul-1-negN/A
sub-negN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f6458.4%
Simplified58.4%
if -1.5499999999999999e-34 < a < 1.55e81Initial program 74.1%
Taylor expanded in z around inf
associate--l+N/A
distribute-lft-out--N/A
div-subN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
distribute-rgt-out--N/A
associate-/l*N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f64N/A
--lowering--.f6479.7%
Simplified79.7%
Taylor expanded in t around 0
mul-1-negN/A
associate-/l*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
div-subN/A
sub-negN/A
mul-1-negN/A
+-commutativeN/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
sub-negN/A
div-subN/A
/-lowering-/.f64N/A
--lowering--.f6469.6%
Simplified69.6%
Taylor expanded in a around 0
sub-negN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6461.9%
Simplified61.9%
Final simplification60.4%
(FPCore (x y z t a) :precision binary64 (if (<= z -3.9e+105) t (if (<= z 6e+148) (* x (- 1.0 (/ y a))) t)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -3.9e+105) {
tmp = t;
} else if (z <= 6e+148) {
tmp = x * (1.0 - (y / a));
} else {
tmp = t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-3.9d+105)) then
tmp = t
else if (z <= 6d+148) then
tmp = x * (1.0d0 - (y / a))
else
tmp = t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -3.9e+105) {
tmp = t;
} else if (z <= 6e+148) {
tmp = x * (1.0 - (y / a));
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -3.9e+105: tmp = t elif z <= 6e+148: tmp = x * (1.0 - (y / a)) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -3.9e+105) tmp = t; elseif (z <= 6e+148) tmp = Float64(x * Float64(1.0 - Float64(y / a))); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -3.9e+105) tmp = t; elseif (z <= 6e+148) tmp = x * (1.0 - (y / a)); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -3.9e+105], t, If[LessEqual[z, 6e+148], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.9 \cdot 10^{+105}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 6 \cdot 10^{+148}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -3.89999999999999978e105 or 6.00000000000000029e148 < z Initial program 66.2%
Taylor expanded in z around inf
Simplified59.9%
if -3.89999999999999978e105 < z < 6.00000000000000029e148Initial program 85.9%
Taylor expanded in z around 0
+-lowering-+.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
--lowering--.f6457.4%
Simplified57.4%
Taylor expanded in x around inf
mul-1-negN/A
sub-negN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f6446.6%
Simplified46.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -1.6e-10) x (if (<= a 9e+80) t x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.6e-10) {
tmp = x;
} else if (a <= 9e+80) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (a <= (-1.6d-10)) then
tmp = x
else if (a <= 9d+80) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.6e-10) {
tmp = x;
} else if (a <= 9e+80) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.6e-10: tmp = x elif a <= 9e+80: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.6e-10) tmp = x; elseif (a <= 9e+80) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.6e-10) tmp = x; elseif (a <= 9e+80) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.6e-10], x, If[LessEqual[a, 9e+80], t, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.6 \cdot 10^{-10}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 9 \cdot 10^{+80}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.5999999999999999e-10 or 9.00000000000000013e80 < a Initial program 88.9%
Taylor expanded in a around inf
Simplified46.7%
if -1.5999999999999999e-10 < a < 9.00000000000000013e80Initial program 74.3%
Taylor expanded in z around inf
Simplified37.4%
(FPCore (x y z t a) :precision binary64 t)
double code(double x, double y, double z, double t, double a) {
return t;
}
real(8) function code(x, y, z, t, a)
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
code = t
end function
public static double code(double x, double y, double z, double t, double a) {
return t;
}
def code(x, y, z, t, a): return t
function code(x, y, z, t, a) return t end
function tmp = code(x, y, z, t, a) tmp = t; end
code[x_, y_, z_, t_, a_] := t
\begin{array}{l}
\\
t
\end{array}
Initial program 80.2%
Taylor expanded in z around inf
Simplified26.7%
herbie shell --seed 2024158
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
:precision binary64
(+ x (* (- y z) (/ (- t x) (- a z)))))