
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y x) (- z t)) (- a t))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - 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 = x + (((y - x) * (z - t)) / (a - t))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
def code(x, y, z, t, a): return x + (((y - x) * (z - t)) / (a - t))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - x) * (z - t)) / (a - t)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 20 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y x) (- z t)) (- a t))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - 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 = x + (((y - x) * (z - t)) / (a - t))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
def code(x, y, z, t, a): return x + (((y - x) * (z - t)) / (a - t))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - x) * (z - t)) / (a - t)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y x) (- t z)) (- t a)))))
(if (or (<= t_1 -5e-306) (not (<= t_1 0.0)))
(fma (- y x) (/ (- z t) (- a t)) x)
(+ y (/ (* (- y x) (- a z)) t)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) * (t - z)) / (t - a));
double tmp;
if ((t_1 <= -5e-306) || !(t_1 <= 0.0)) {
tmp = fma((y - x), ((z - t) / (a - t)), x);
} else {
tmp = y + (((y - x) * (a - z)) / t);
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - x) * Float64(t - z)) / Float64(t - a))) tmp = 0.0 if ((t_1 <= -5e-306) || !(t_1 <= 0.0)) tmp = fma(Float64(y - x), Float64(Float64(z - t) / Float64(a - t)), x); else tmp = Float64(y + Float64(Float64(Float64(y - x) * Float64(a - z)) / t)); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision] / N[(t - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -5e-306], N[Not[LessEqual[t$95$1, 0.0]], $MachinePrecision]], N[(N[(y - x), $MachinePrecision] * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], N[(y + N[(N[(N[(y - x), $MachinePrecision] * N[(a - z), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - x\right) \cdot \left(t - z\right)}{t - a}\\
\mathbf{if}\;t\_1 \leq -5 \cdot 10^{-306} \lor \neg \left(t\_1 \leq 0\right):\\
\;\;\;\;\mathsf{fma}\left(y - x, \frac{z - t}{a - t}, x\right)\\
\mathbf{else}:\\
\;\;\;\;y + \frac{\left(y - x\right) \cdot \left(a - z\right)}{t}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -4.99999999999999998e-306 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) Initial program 74.8%
+-commutative74.8%
associate-/l*89.2%
fma-define89.2%
Simplified89.2%
if -4.99999999999999998e-306 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 0.0Initial program 4.7%
clear-num4.3%
inv-pow4.3%
*-commutative4.3%
associate-/r*4.5%
Applied egg-rr4.5%
unpow-14.5%
associate-/l/4.3%
*-commutative4.3%
Simplified4.3%
Taylor expanded in t around inf 99.5%
associate--l+99.5%
associate-*r/99.5%
associate-*r/99.5%
mul-1-neg99.5%
div-sub99.5%
mul-1-neg99.5%
distribute-lft-out--99.5%
associate-*r/99.5%
mul-1-neg99.5%
unsub-neg99.5%
distribute-rgt-out--99.6%
Simplified99.6%
Final simplification90.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* y (/ z a))))
(t_2 (* y (/ (- t z) t)))
(t_3 (* z (/ (- y x) (- a t)))))
(if (<= t -4.8e+217)
t_2
(if (<= t -5e+171)
(* x (/ (- z a) t))
(if (<= t -1.75e+92)
t_2
(if (<= t -3.4e-91)
t_3
(if (<= t 6.8e-106)
t_1
(if (<= t 1.9e-29) t_3 (if (<= t 5.2e+72) t_1 t_2)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y * (z / a));
double t_2 = y * ((t - z) / t);
double t_3 = z * ((y - x) / (a - t));
double tmp;
if (t <= -4.8e+217) {
tmp = t_2;
} else if (t <= -5e+171) {
tmp = x * ((z - a) / t);
} else if (t <= -1.75e+92) {
tmp = t_2;
} else if (t <= -3.4e-91) {
tmp = t_3;
} else if (t <= 6.8e-106) {
tmp = t_1;
} else if (t <= 1.9e-29) {
tmp = t_3;
} else if (t <= 5.2e+72) {
tmp = t_1;
} else {
tmp = t_2;
}
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) :: t_3
real(8) :: tmp
t_1 = x + (y * (z / a))
t_2 = y * ((t - z) / t)
t_3 = z * ((y - x) / (a - t))
if (t <= (-4.8d+217)) then
tmp = t_2
else if (t <= (-5d+171)) then
tmp = x * ((z - a) / t)
else if (t <= (-1.75d+92)) then
tmp = t_2
else if (t <= (-3.4d-91)) then
tmp = t_3
else if (t <= 6.8d-106) then
tmp = t_1
else if (t <= 1.9d-29) then
tmp = t_3
else if (t <= 5.2d+72) then
tmp = t_1
else
tmp = t_2
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 / a));
double t_2 = y * ((t - z) / t);
double t_3 = z * ((y - x) / (a - t));
double tmp;
if (t <= -4.8e+217) {
tmp = t_2;
} else if (t <= -5e+171) {
tmp = x * ((z - a) / t);
} else if (t <= -1.75e+92) {
tmp = t_2;
} else if (t <= -3.4e-91) {
tmp = t_3;
} else if (t <= 6.8e-106) {
tmp = t_1;
} else if (t <= 1.9e-29) {
tmp = t_3;
} else if (t <= 5.2e+72) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y * (z / a)) t_2 = y * ((t - z) / t) t_3 = z * ((y - x) / (a - t)) tmp = 0 if t <= -4.8e+217: tmp = t_2 elif t <= -5e+171: tmp = x * ((z - a) / t) elif t <= -1.75e+92: tmp = t_2 elif t <= -3.4e-91: tmp = t_3 elif t <= 6.8e-106: tmp = t_1 elif t <= 1.9e-29: tmp = t_3 elif t <= 5.2e+72: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y * Float64(z / a))) t_2 = Float64(y * Float64(Float64(t - z) / t)) t_3 = Float64(z * Float64(Float64(y - x) / Float64(a - t))) tmp = 0.0 if (t <= -4.8e+217) tmp = t_2; elseif (t <= -5e+171) tmp = Float64(x * Float64(Float64(z - a) / t)); elseif (t <= -1.75e+92) tmp = t_2; elseif (t <= -3.4e-91) tmp = t_3; elseif (t <= 6.8e-106) tmp = t_1; elseif (t <= 1.9e-29) tmp = t_3; elseif (t <= 5.2e+72) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (y * (z / a)); t_2 = y * ((t - z) / t); t_3 = z * ((y - x) / (a - t)); tmp = 0.0; if (t <= -4.8e+217) tmp = t_2; elseif (t <= -5e+171) tmp = x * ((z - a) / t); elseif (t <= -1.75e+92) tmp = t_2; elseif (t <= -3.4e-91) tmp = t_3; elseif (t <= 6.8e-106) tmp = t_1; elseif (t <= 1.9e-29) tmp = t_3; elseif (t <= 5.2e+72) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.8e+217], t$95$2, If[LessEqual[t, -5e+171], N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.75e+92], t$95$2, If[LessEqual[t, -3.4e-91], t$95$3, If[LessEqual[t, 6.8e-106], t$95$1, If[LessEqual[t, 1.9e-29], t$95$3, If[LessEqual[t, 5.2e+72], t$95$1, t$95$2]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + y \cdot \frac{z}{a}\\
t_2 := y \cdot \frac{t - z}{t}\\
t_3 := z \cdot \frac{y - x}{a - t}\\
\mathbf{if}\;t \leq -4.8 \cdot 10^{+217}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -5 \cdot 10^{+171}:\\
\;\;\;\;x \cdot \frac{z - a}{t}\\
\mathbf{elif}\;t \leq -1.75 \cdot 10^{+92}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -3.4 \cdot 10^{-91}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;t \leq 6.8 \cdot 10^{-106}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.9 \cdot 10^{-29}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;t \leq 5.2 \cdot 10^{+72}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -4.7999999999999996e217 or -5.0000000000000004e171 < t < -1.74999999999999993e92 or 5.19999999999999963e72 < t Initial program 42.3%
clear-num42.2%
inv-pow42.2%
*-commutative42.2%
associate-/r*63.5%
Applied egg-rr63.5%
Taylor expanded in x around 0 51.2%
*-commutative51.2%
associate-*r/45.8%
Simplified45.8%
Taylor expanded in a around 0 44.7%
mul-1-neg44.7%
Simplified44.7%
Taylor expanded in y around 0 50.1%
mul-1-neg50.1%
distribute-frac-neg250.1%
associate-/l*67.1%
Simplified67.1%
if -4.7999999999999996e217 < t < -5.0000000000000004e171Initial program 3.0%
Taylor expanded in x around -inf 52.2%
associate-*r*52.2%
neg-mul-152.2%
+-commutative52.2%
Simplified52.2%
Taylor expanded in t around -inf 68.5%
associate-/l*99.0%
Simplified99.0%
if -1.74999999999999993e92 < t < -3.40000000000000027e-91 or 6.79999999999999965e-106 < t < 1.89999999999999988e-29Initial program 75.2%
clear-num75.0%
inv-pow75.0%
*-commutative75.0%
associate-/r*88.4%
Applied egg-rr88.4%
Taylor expanded in z around inf 56.2%
div-sub57.9%
Simplified57.9%
if -3.40000000000000027e-91 < t < 6.79999999999999965e-106 or 1.89999999999999988e-29 < t < 5.19999999999999963e72Initial program 85.6%
Taylor expanded in t around 0 70.4%
Taylor expanded in y around inf 66.8%
associate-/l*72.6%
Simplified72.6%
Final simplification68.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- t z) t))))
(if (<= t -4.8e+217)
t_1
(if (<= t -3.15e+171)
(* x (/ (- z a) t))
(if (<= t -3e+101)
t_1
(if (<= t -2e-91)
(* z (/ (- y x) (- a t)))
(if (<= t 4.8e-28)
(- x (* z (/ (- x y) a)))
(if (<= t 1.55e+193) (* (- z t) (/ y (- a t))) t_1))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((t - z) / t);
double tmp;
if (t <= -4.8e+217) {
tmp = t_1;
} else if (t <= -3.15e+171) {
tmp = x * ((z - a) / t);
} else if (t <= -3e+101) {
tmp = t_1;
} else if (t <= -2e-91) {
tmp = z * ((y - x) / (a - t));
} else if (t <= 4.8e-28) {
tmp = x - (z * ((x - y) / a));
} else if (t <= 1.55e+193) {
tmp = (z - t) * (y / (a - t));
} 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 = y * ((t - z) / t)
if (t <= (-4.8d+217)) then
tmp = t_1
else if (t <= (-3.15d+171)) then
tmp = x * ((z - a) / t)
else if (t <= (-3d+101)) then
tmp = t_1
else if (t <= (-2d-91)) then
tmp = z * ((y - x) / (a - t))
else if (t <= 4.8d-28) then
tmp = x - (z * ((x - y) / a))
else if (t <= 1.55d+193) then
tmp = (z - t) * (y / (a - t))
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 = y * ((t - z) / t);
double tmp;
if (t <= -4.8e+217) {
tmp = t_1;
} else if (t <= -3.15e+171) {
tmp = x * ((z - a) / t);
} else if (t <= -3e+101) {
tmp = t_1;
} else if (t <= -2e-91) {
tmp = z * ((y - x) / (a - t));
} else if (t <= 4.8e-28) {
tmp = x - (z * ((x - y) / a));
} else if (t <= 1.55e+193) {
tmp = (z - t) * (y / (a - t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((t - z) / t) tmp = 0 if t <= -4.8e+217: tmp = t_1 elif t <= -3.15e+171: tmp = x * ((z - a) / t) elif t <= -3e+101: tmp = t_1 elif t <= -2e-91: tmp = z * ((y - x) / (a - t)) elif t <= 4.8e-28: tmp = x - (z * ((x - y) / a)) elif t <= 1.55e+193: tmp = (z - t) * (y / (a - t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(t - z) / t)) tmp = 0.0 if (t <= -4.8e+217) tmp = t_1; elseif (t <= -3.15e+171) tmp = Float64(x * Float64(Float64(z - a) / t)); elseif (t <= -3e+101) tmp = t_1; elseif (t <= -2e-91) tmp = Float64(z * Float64(Float64(y - x) / Float64(a - t))); elseif (t <= 4.8e-28) tmp = Float64(x - Float64(z * Float64(Float64(x - y) / a))); elseif (t <= 1.55e+193) tmp = Float64(Float64(z - t) * Float64(y / Float64(a - t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((t - z) / t); tmp = 0.0; if (t <= -4.8e+217) tmp = t_1; elseif (t <= -3.15e+171) tmp = x * ((z - a) / t); elseif (t <= -3e+101) tmp = t_1; elseif (t <= -2e-91) tmp = z * ((y - x) / (a - t)); elseif (t <= 4.8e-28) tmp = x - (z * ((x - y) / a)); elseif (t <= 1.55e+193) tmp = (z - t) * (y / (a - t)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.8e+217], t$95$1, If[LessEqual[t, -3.15e+171], N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -3e+101], t$95$1, If[LessEqual[t, -2e-91], N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.8e-28], N[(x - N[(z * N[(N[(x - y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.55e+193], N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{t - z}{t}\\
\mathbf{if}\;t \leq -4.8 \cdot 10^{+217}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -3.15 \cdot 10^{+171}:\\
\;\;\;\;x \cdot \frac{z - a}{t}\\
\mathbf{elif}\;t \leq -3 \cdot 10^{+101}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -2 \cdot 10^{-91}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{elif}\;t \leq 4.8 \cdot 10^{-28}:\\
\;\;\;\;x - z \cdot \frac{x - y}{a}\\
\mathbf{elif}\;t \leq 1.55 \cdot 10^{+193}:\\
\;\;\;\;\left(z - t\right) \cdot \frac{y}{a - t}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -4.7999999999999996e217 or -3.1500000000000002e171 < t < -2.99999999999999993e101 or 1.54999999999999993e193 < t Initial program 36.2%
clear-num36.0%
inv-pow36.0%
*-commutative36.0%
associate-/r*59.7%
Applied egg-rr59.7%
Taylor expanded in x around 0 53.1%
*-commutative53.1%
associate-*r/43.5%
Simplified43.5%
Taylor expanded in a around 0 43.5%
mul-1-neg43.5%
Simplified43.5%
Taylor expanded in y around 0 53.1%
mul-1-neg53.1%
distribute-frac-neg253.1%
associate-/l*77.0%
Simplified77.0%
if -4.7999999999999996e217 < t < -3.1500000000000002e171Initial program 3.0%
Taylor expanded in x around -inf 52.2%
associate-*r*52.2%
neg-mul-152.2%
+-commutative52.2%
Simplified52.2%
Taylor expanded in t around -inf 68.5%
associate-/l*99.0%
Simplified99.0%
if -2.99999999999999993e101 < t < -2.00000000000000004e-91Initial program 76.3%
clear-num76.2%
inv-pow76.2%
*-commutative76.2%
associate-/r*85.7%
Applied egg-rr85.7%
Taylor expanded in z around inf 56.4%
div-sub56.4%
Simplified56.4%
if -2.00000000000000004e-91 < t < 4.8000000000000004e-28Initial program 85.8%
Taylor expanded in t around 0 70.7%
associate-/l*80.6%
Simplified80.6%
if 4.8000000000000004e-28 < t < 1.54999999999999993e193Initial program 63.4%
clear-num63.2%
inv-pow63.2%
*-commutative63.2%
associate-/r*78.0%
Applied egg-rr78.0%
Taylor expanded in x around 0 53.0%
*-commutative53.0%
associate-*r/54.5%
Simplified54.5%
Final simplification71.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* x (/ (- z a) t))))
(if (<= a -5.8e+39)
x
(if (<= a 3.45e-269)
t_1
(if (<= a 1.8e-84)
y
(if (<= a 1.45e-21)
t_1
(if (<= a 8.5e+18)
y
(if (<= a 1.55e+64)
(* y (/ (- z t) a))
(if (<= a 4.2e+79) y x)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * ((z - a) / t);
double tmp;
if (a <= -5.8e+39) {
tmp = x;
} else if (a <= 3.45e-269) {
tmp = t_1;
} else if (a <= 1.8e-84) {
tmp = y;
} else if (a <= 1.45e-21) {
tmp = t_1;
} else if (a <= 8.5e+18) {
tmp = y;
} else if (a <= 1.55e+64) {
tmp = y * ((z - t) / a);
} else if (a <= 4.2e+79) {
tmp = y;
} 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) :: t_1
real(8) :: tmp
t_1 = x * ((z - a) / t)
if (a <= (-5.8d+39)) then
tmp = x
else if (a <= 3.45d-269) then
tmp = t_1
else if (a <= 1.8d-84) then
tmp = y
else if (a <= 1.45d-21) then
tmp = t_1
else if (a <= 8.5d+18) then
tmp = y
else if (a <= 1.55d+64) then
tmp = y * ((z - t) / a)
else if (a <= 4.2d+79) then
tmp = y
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x * ((z - a) / t);
double tmp;
if (a <= -5.8e+39) {
tmp = x;
} else if (a <= 3.45e-269) {
tmp = t_1;
} else if (a <= 1.8e-84) {
tmp = y;
} else if (a <= 1.45e-21) {
tmp = t_1;
} else if (a <= 8.5e+18) {
tmp = y;
} else if (a <= 1.55e+64) {
tmp = y * ((z - t) / a);
} else if (a <= 4.2e+79) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * ((z - a) / t) tmp = 0 if a <= -5.8e+39: tmp = x elif a <= 3.45e-269: tmp = t_1 elif a <= 1.8e-84: tmp = y elif a <= 1.45e-21: tmp = t_1 elif a <= 8.5e+18: tmp = y elif a <= 1.55e+64: tmp = y * ((z - t) / a) elif a <= 4.2e+79: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(Float64(z - a) / t)) tmp = 0.0 if (a <= -5.8e+39) tmp = x; elseif (a <= 3.45e-269) tmp = t_1; elseif (a <= 1.8e-84) tmp = y; elseif (a <= 1.45e-21) tmp = t_1; elseif (a <= 8.5e+18) tmp = y; elseif (a <= 1.55e+64) tmp = Float64(y * Float64(Float64(z - t) / a)); elseif (a <= 4.2e+79) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * ((z - a) / t); tmp = 0.0; if (a <= -5.8e+39) tmp = x; elseif (a <= 3.45e-269) tmp = t_1; elseif (a <= 1.8e-84) tmp = y; elseif (a <= 1.45e-21) tmp = t_1; elseif (a <= 8.5e+18) tmp = y; elseif (a <= 1.55e+64) tmp = y * ((z - t) / a); elseif (a <= 4.2e+79) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.8e+39], x, If[LessEqual[a, 3.45e-269], t$95$1, If[LessEqual[a, 1.8e-84], y, If[LessEqual[a, 1.45e-21], t$95$1, If[LessEqual[a, 8.5e+18], y, If[LessEqual[a, 1.55e+64], N[(y * N[(N[(z - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.2e+79], y, x]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{z - a}{t}\\
\mathbf{if}\;a \leq -5.8 \cdot 10^{+39}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 3.45 \cdot 10^{-269}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 1.8 \cdot 10^{-84}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq 1.45 \cdot 10^{-21}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 8.5 \cdot 10^{+18}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq 1.55 \cdot 10^{+64}:\\
\;\;\;\;y \cdot \frac{z - t}{a}\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{+79}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -5.80000000000000059e39 or 4.20000000000000016e79 < a Initial program 69.6%
Taylor expanded in a around inf 50.4%
if -5.80000000000000059e39 < a < 3.45e-269 or 1.80000000000000002e-84 < a < 1.45e-21Initial program 65.7%
Taylor expanded in x around -inf 47.2%
associate-*r*47.2%
neg-mul-147.2%
+-commutative47.2%
Simplified47.2%
Taylor expanded in t around -inf 47.8%
associate-/l*53.1%
Simplified53.1%
if 3.45e-269 < a < 1.80000000000000002e-84 or 1.45e-21 < a < 8.5e18 or 1.55e64 < a < 4.20000000000000016e79Initial program 64.4%
Taylor expanded in t around inf 57.5%
if 8.5e18 < a < 1.55e64Initial program 72.7%
clear-num72.2%
inv-pow72.2%
*-commutative72.2%
associate-/r*79.1%
Applied egg-rr79.1%
Taylor expanded in x around 0 72.5%
*-commutative72.5%
associate-*r/65.7%
Simplified65.7%
Taylor expanded in a around inf 55.3%
associate-/l*55.0%
Simplified55.0%
Final simplification52.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* x (/ (- z a) t))))
(if (<= a -8.5e+39)
x
(if (<= a 6.1e-271)
t_1
(if (<= a 4.5e-85)
y
(if (<= a 1.55e-23)
t_1
(if (<= a 5.5e+19)
y
(if (<= a 1.25e+66)
(* (- z t) (/ y a))
(if (<= a 3.2e+79) y x)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * ((z - a) / t);
double tmp;
if (a <= -8.5e+39) {
tmp = x;
} else if (a <= 6.1e-271) {
tmp = t_1;
} else if (a <= 4.5e-85) {
tmp = y;
} else if (a <= 1.55e-23) {
tmp = t_1;
} else if (a <= 5.5e+19) {
tmp = y;
} else if (a <= 1.25e+66) {
tmp = (z - t) * (y / a);
} else if (a <= 3.2e+79) {
tmp = y;
} 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) :: t_1
real(8) :: tmp
t_1 = x * ((z - a) / t)
if (a <= (-8.5d+39)) then
tmp = x
else if (a <= 6.1d-271) then
tmp = t_1
else if (a <= 4.5d-85) then
tmp = y
else if (a <= 1.55d-23) then
tmp = t_1
else if (a <= 5.5d+19) then
tmp = y
else if (a <= 1.25d+66) then
tmp = (z - t) * (y / a)
else if (a <= 3.2d+79) then
tmp = y
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x * ((z - a) / t);
double tmp;
if (a <= -8.5e+39) {
tmp = x;
} else if (a <= 6.1e-271) {
tmp = t_1;
} else if (a <= 4.5e-85) {
tmp = y;
} else if (a <= 1.55e-23) {
tmp = t_1;
} else if (a <= 5.5e+19) {
tmp = y;
} else if (a <= 1.25e+66) {
tmp = (z - t) * (y / a);
} else if (a <= 3.2e+79) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * ((z - a) / t) tmp = 0 if a <= -8.5e+39: tmp = x elif a <= 6.1e-271: tmp = t_1 elif a <= 4.5e-85: tmp = y elif a <= 1.55e-23: tmp = t_1 elif a <= 5.5e+19: tmp = y elif a <= 1.25e+66: tmp = (z - t) * (y / a) elif a <= 3.2e+79: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(Float64(z - a) / t)) tmp = 0.0 if (a <= -8.5e+39) tmp = x; elseif (a <= 6.1e-271) tmp = t_1; elseif (a <= 4.5e-85) tmp = y; elseif (a <= 1.55e-23) tmp = t_1; elseif (a <= 5.5e+19) tmp = y; elseif (a <= 1.25e+66) tmp = Float64(Float64(z - t) * Float64(y / a)); elseif (a <= 3.2e+79) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * ((z - a) / t); tmp = 0.0; if (a <= -8.5e+39) tmp = x; elseif (a <= 6.1e-271) tmp = t_1; elseif (a <= 4.5e-85) tmp = y; elseif (a <= 1.55e-23) tmp = t_1; elseif (a <= 5.5e+19) tmp = y; elseif (a <= 1.25e+66) tmp = (z - t) * (y / a); elseif (a <= 3.2e+79) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -8.5e+39], x, If[LessEqual[a, 6.1e-271], t$95$1, If[LessEqual[a, 4.5e-85], y, If[LessEqual[a, 1.55e-23], t$95$1, If[LessEqual[a, 5.5e+19], y, If[LessEqual[a, 1.25e+66], N[(N[(z - t), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.2e+79], y, x]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{z - a}{t}\\
\mathbf{if}\;a \leq -8.5 \cdot 10^{+39}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 6.1 \cdot 10^{-271}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 4.5 \cdot 10^{-85}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq 1.55 \cdot 10^{-23}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 5.5 \cdot 10^{+19}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq 1.25 \cdot 10^{+66}:\\
\;\;\;\;\left(z - t\right) \cdot \frac{y}{a}\\
\mathbf{elif}\;a \leq 3.2 \cdot 10^{+79}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -8.49999999999999971e39 or 3.20000000000000003e79 < a Initial program 69.6%
Taylor expanded in a around inf 50.4%
if -8.49999999999999971e39 < a < 6.09999999999999992e-271 or 4.50000000000000004e-85 < a < 1.5499999999999999e-23Initial program 65.7%
Taylor expanded in x around -inf 47.2%
associate-*r*47.2%
neg-mul-147.2%
+-commutative47.2%
Simplified47.2%
Taylor expanded in t around -inf 47.8%
associate-/l*53.1%
Simplified53.1%
if 6.09999999999999992e-271 < a < 4.50000000000000004e-85 or 1.5499999999999999e-23 < a < 5.5e19 or 1.24999999999999998e66 < a < 3.20000000000000003e79Initial program 64.4%
Taylor expanded in t around inf 57.5%
if 5.5e19 < a < 1.24999999999999998e66Initial program 72.7%
clear-num72.2%
inv-pow72.2%
*-commutative72.2%
associate-/r*79.1%
Applied egg-rr79.1%
Taylor expanded in x around 0 72.5%
*-commutative72.5%
associate-*r/65.7%
Simplified65.7%
Taylor expanded in a around inf 55.3%
Final simplification52.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y x) (- t z)) (- t a))))
(t_2 (+ y (* (- z a) (/ (- x y) t)))))
(if (<= t -5e+46)
t_2
(if (<= t -1.45e-230)
t_1
(if (<= t 1.9e-210)
(- x (* z (/ (- x y) a)))
(if (<= t 2.5e+44) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) * (t - z)) / (t - a));
double t_2 = y + ((z - a) * ((x - y) / t));
double tmp;
if (t <= -5e+46) {
tmp = t_2;
} else if (t <= -1.45e-230) {
tmp = t_1;
} else if (t <= 1.9e-210) {
tmp = x - (z * ((x - y) / a));
} else if (t <= 2.5e+44) {
tmp = t_1;
} else {
tmp = t_2;
}
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 + (((y - x) * (t - z)) / (t - a))
t_2 = y + ((z - a) * ((x - y) / t))
if (t <= (-5d+46)) then
tmp = t_2
else if (t <= (-1.45d-230)) then
tmp = t_1
else if (t <= 1.9d-210) then
tmp = x - (z * ((x - y) / a))
else if (t <= 2.5d+44) then
tmp = t_1
else
tmp = t_2
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 - x) * (t - z)) / (t - a));
double t_2 = y + ((z - a) * ((x - y) / t));
double tmp;
if (t <= -5e+46) {
tmp = t_2;
} else if (t <= -1.45e-230) {
tmp = t_1;
} else if (t <= 1.9e-210) {
tmp = x - (z * ((x - y) / a));
} else if (t <= 2.5e+44) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - x) * (t - z)) / (t - a)) t_2 = y + ((z - a) * ((x - y) / t)) tmp = 0 if t <= -5e+46: tmp = t_2 elif t <= -1.45e-230: tmp = t_1 elif t <= 1.9e-210: tmp = x - (z * ((x - y) / a)) elif t <= 2.5e+44: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - x) * Float64(t - z)) / Float64(t - a))) t_2 = Float64(y + Float64(Float64(z - a) * Float64(Float64(x - y) / t))) tmp = 0.0 if (t <= -5e+46) tmp = t_2; elseif (t <= -1.45e-230) tmp = t_1; elseif (t <= 1.9e-210) tmp = Float64(x - Float64(z * Float64(Float64(x - y) / a))); elseif (t <= 2.5e+44) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - x) * (t - z)) / (t - a)); t_2 = y + ((z - a) * ((x - y) / t)); tmp = 0.0; if (t <= -5e+46) tmp = t_2; elseif (t <= -1.45e-230) tmp = t_1; elseif (t <= 1.9e-210) tmp = x - (z * ((x - y) / a)); elseif (t <= 2.5e+44) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision] / N[(t - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y + N[(N[(z - a), $MachinePrecision] * N[(N[(x - y), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -5e+46], t$95$2, If[LessEqual[t, -1.45e-230], t$95$1, If[LessEqual[t, 1.9e-210], N[(x - N[(z * N[(N[(x - y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.5e+44], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - x\right) \cdot \left(t - z\right)}{t - a}\\
t_2 := y + \left(z - a\right) \cdot \frac{x - y}{t}\\
\mathbf{if}\;t \leq -5 \cdot 10^{+46}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -1.45 \cdot 10^{-230}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.9 \cdot 10^{-210}:\\
\;\;\;\;x - z \cdot \frac{x - y}{a}\\
\mathbf{elif}\;t \leq 2.5 \cdot 10^{+44}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -5.0000000000000002e46 or 2.4999999999999998e44 < t Initial program 40.1%
Taylor expanded in t around inf 70.6%
associate--l+70.6%
distribute-lft-out--70.6%
div-sub70.6%
mul-1-neg70.6%
unsub-neg70.6%
div-sub70.6%
associate-/l*76.2%
associate-/l*82.8%
distribute-rgt-out--83.0%
Simplified83.0%
if -5.0000000000000002e46 < t < -1.45000000000000003e-230 or 1.90000000000000002e-210 < t < 2.4999999999999998e44Initial program 87.5%
if -1.45000000000000003e-230 < t < 1.90000000000000002e-210Initial program 83.7%
Taylor expanded in t around 0 81.4%
associate-/l*95.1%
Simplified95.1%
Final simplification86.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (/ y (/ (- a t) (- z t)))) (t_2 (- x (* z (/ (- x y) a)))))
(if (<= a -3e+140)
t_2
(if (<= a -3.5e-60)
t_1
(if (<= a 5.7e-270)
(* z (/ (- y x) (- a t)))
(if (<= a 2.9e+79) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y / ((a - t) / (z - t));
double t_2 = x - (z * ((x - y) / a));
double tmp;
if (a <= -3e+140) {
tmp = t_2;
} else if (a <= -3.5e-60) {
tmp = t_1;
} else if (a <= 5.7e-270) {
tmp = z * ((y - x) / (a - t));
} else if (a <= 2.9e+79) {
tmp = t_1;
} else {
tmp = t_2;
}
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 = y / ((a - t) / (z - t))
t_2 = x - (z * ((x - y) / a))
if (a <= (-3d+140)) then
tmp = t_2
else if (a <= (-3.5d-60)) then
tmp = t_1
else if (a <= 5.7d-270) then
tmp = z * ((y - x) / (a - t))
else if (a <= 2.9d+79) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y / ((a - t) / (z - t));
double t_2 = x - (z * ((x - y) / a));
double tmp;
if (a <= -3e+140) {
tmp = t_2;
} else if (a <= -3.5e-60) {
tmp = t_1;
} else if (a <= 5.7e-270) {
tmp = z * ((y - x) / (a - t));
} else if (a <= 2.9e+79) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y / ((a - t) / (z - t)) t_2 = x - (z * ((x - y) / a)) tmp = 0 if a <= -3e+140: tmp = t_2 elif a <= -3.5e-60: tmp = t_1 elif a <= 5.7e-270: tmp = z * ((y - x) / (a - t)) elif a <= 2.9e+79: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(y / Float64(Float64(a - t) / Float64(z - t))) t_2 = Float64(x - Float64(z * Float64(Float64(x - y) / a))) tmp = 0.0 if (a <= -3e+140) tmp = t_2; elseif (a <= -3.5e-60) tmp = t_1; elseif (a <= 5.7e-270) tmp = Float64(z * Float64(Float64(y - x) / Float64(a - t))); elseif (a <= 2.9e+79) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y / ((a - t) / (z - t)); t_2 = x - (z * ((x - y) / a)); tmp = 0.0; if (a <= -3e+140) tmp = t_2; elseif (a <= -3.5e-60) tmp = t_1; elseif (a <= 5.7e-270) tmp = z * ((y - x) / (a - t)); elseif (a <= 2.9e+79) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y / N[(N[(a - t), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x - N[(z * N[(N[(x - y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3e+140], t$95$2, If[LessEqual[a, -3.5e-60], t$95$1, If[LessEqual[a, 5.7e-270], N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.9e+79], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{y}{\frac{a - t}{z - t}}\\
t_2 := x - z \cdot \frac{x - y}{a}\\
\mathbf{if}\;a \leq -3 \cdot 10^{+140}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -3.5 \cdot 10^{-60}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 5.7 \cdot 10^{-270}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{elif}\;a \leq 2.9 \cdot 10^{+79}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -2.99999999999999997e140 or 2.89999999999999992e79 < a Initial program 71.4%
Taylor expanded in t around 0 65.5%
associate-/l*81.0%
Simplified81.0%
if -2.99999999999999997e140 < a < -3.49999999999999976e-60 or 5.7000000000000002e-270 < a < 2.89999999999999992e79Initial program 67.4%
clear-num67.3%
inv-pow67.3%
*-commutative67.3%
associate-/r*79.6%
Applied egg-rr79.6%
Taylor expanded in x around 0 56.1%
*-commutative56.1%
associate-*r/57.6%
*-commutative57.6%
associate-/r/66.9%
Simplified66.9%
if -3.49999999999999976e-60 < a < 5.7000000000000002e-270Initial program 61.8%
clear-num61.6%
inv-pow61.6%
*-commutative61.6%
associate-/r*68.1%
Applied egg-rr68.1%
Taylor expanded in z around inf 62.3%
div-sub64.1%
Simplified64.1%
Final simplification70.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- y (* z (/ y t)))))
(if (<= t -4.8e+217)
t_1
(if (<= t -5.5e+171)
(* x (/ (- z a) t))
(if (or (<= t -2e+48) (not (<= t 1.15e+72)))
t_1
(+ x (* y (/ z a))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y - (z * (y / t));
double tmp;
if (t <= -4.8e+217) {
tmp = t_1;
} else if (t <= -5.5e+171) {
tmp = x * ((z - a) / t);
} else if ((t <= -2e+48) || !(t <= 1.15e+72)) {
tmp = t_1;
} else {
tmp = x + (y * (z / 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) :: t_1
real(8) :: tmp
t_1 = y - (z * (y / t))
if (t <= (-4.8d+217)) then
tmp = t_1
else if (t <= (-5.5d+171)) then
tmp = x * ((z - a) / t)
else if ((t <= (-2d+48)) .or. (.not. (t <= 1.15d+72))) then
tmp = t_1
else
tmp = x + (y * (z / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y - (z * (y / t));
double tmp;
if (t <= -4.8e+217) {
tmp = t_1;
} else if (t <= -5.5e+171) {
tmp = x * ((z - a) / t);
} else if ((t <= -2e+48) || !(t <= 1.15e+72)) {
tmp = t_1;
} else {
tmp = x + (y * (z / a));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y - (z * (y / t)) tmp = 0 if t <= -4.8e+217: tmp = t_1 elif t <= -5.5e+171: tmp = x * ((z - a) / t) elif (t <= -2e+48) or not (t <= 1.15e+72): tmp = t_1 else: tmp = x + (y * (z / a)) return tmp
function code(x, y, z, t, a) t_1 = Float64(y - Float64(z * Float64(y / t))) tmp = 0.0 if (t <= -4.8e+217) tmp = t_1; elseif (t <= -5.5e+171) tmp = Float64(x * Float64(Float64(z - a) / t)); elseif ((t <= -2e+48) || !(t <= 1.15e+72)) tmp = t_1; else tmp = Float64(x + Float64(y * Float64(z / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y - (z * (y / t)); tmp = 0.0; if (t <= -4.8e+217) tmp = t_1; elseif (t <= -5.5e+171) tmp = x * ((z - a) / t); elseif ((t <= -2e+48) || ~((t <= 1.15e+72))) tmp = t_1; else tmp = x + (y * (z / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y - N[(z * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.8e+217], t$95$1, If[LessEqual[t, -5.5e+171], N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t, -2e+48], N[Not[LessEqual[t, 1.15e+72]], $MachinePrecision]], t$95$1, N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y - z \cdot \frac{y}{t}\\
\mathbf{if}\;t \leq -4.8 \cdot 10^{+217}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -5.5 \cdot 10^{+171}:\\
\;\;\;\;x \cdot \frac{z - a}{t}\\
\mathbf{elif}\;t \leq -2 \cdot 10^{+48} \lor \neg \left(t \leq 1.15 \cdot 10^{+72}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\end{array}
\end{array}
if t < -4.7999999999999996e217 or -5.5000000000000003e171 < t < -2.00000000000000009e48 or 1.15e72 < t Initial program 42.6%
clear-num42.4%
inv-pow42.4%
*-commutative42.4%
associate-/r*63.7%
Applied egg-rr63.7%
Taylor expanded in x around 0 50.8%
*-commutative50.8%
associate-*r/44.9%
Simplified44.9%
Taylor expanded in a around 0 43.9%
mul-1-neg43.9%
Simplified43.9%
Taylor expanded in z around 0 59.9%
mul-1-neg59.9%
associate-*l/63.4%
unsub-neg63.4%
*-commutative63.4%
Simplified63.4%
if -4.7999999999999996e217 < t < -5.5000000000000003e171Initial program 3.0%
Taylor expanded in x around -inf 52.2%
associate-*r*52.2%
neg-mul-152.2%
+-commutative52.2%
Simplified52.2%
Taylor expanded in t around -inf 68.5%
associate-/l*99.0%
Simplified99.0%
if -2.00000000000000009e48 < t < 1.15e72Initial program 84.1%
Taylor expanded in t around 0 60.7%
Taylor expanded in y around inf 56.0%
associate-/l*61.8%
Simplified61.8%
Final simplification63.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- t z) t))))
(if (<= t -4.8e+217)
t_1
(if (<= t -1.05e+171)
(* x (/ (- z a) t))
(if (or (<= t -4.6e+48) (not (<= t 1.9e+74)))
t_1
(+ x (* y (/ z a))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((t - z) / t);
double tmp;
if (t <= -4.8e+217) {
tmp = t_1;
} else if (t <= -1.05e+171) {
tmp = x * ((z - a) / t);
} else if ((t <= -4.6e+48) || !(t <= 1.9e+74)) {
tmp = t_1;
} else {
tmp = x + (y * (z / 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) :: t_1
real(8) :: tmp
t_1 = y * ((t - z) / t)
if (t <= (-4.8d+217)) then
tmp = t_1
else if (t <= (-1.05d+171)) then
tmp = x * ((z - a) / t)
else if ((t <= (-4.6d+48)) .or. (.not. (t <= 1.9d+74))) then
tmp = t_1
else
tmp = x + (y * (z / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((t - z) / t);
double tmp;
if (t <= -4.8e+217) {
tmp = t_1;
} else if (t <= -1.05e+171) {
tmp = x * ((z - a) / t);
} else if ((t <= -4.6e+48) || !(t <= 1.9e+74)) {
tmp = t_1;
} else {
tmp = x + (y * (z / a));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((t - z) / t) tmp = 0 if t <= -4.8e+217: tmp = t_1 elif t <= -1.05e+171: tmp = x * ((z - a) / t) elif (t <= -4.6e+48) or not (t <= 1.9e+74): tmp = t_1 else: tmp = x + (y * (z / a)) return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(t - z) / t)) tmp = 0.0 if (t <= -4.8e+217) tmp = t_1; elseif (t <= -1.05e+171) tmp = Float64(x * Float64(Float64(z - a) / t)); elseif ((t <= -4.6e+48) || !(t <= 1.9e+74)) tmp = t_1; else tmp = Float64(x + Float64(y * Float64(z / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((t - z) / t); tmp = 0.0; if (t <= -4.8e+217) tmp = t_1; elseif (t <= -1.05e+171) tmp = x * ((z - a) / t); elseif ((t <= -4.6e+48) || ~((t <= 1.9e+74))) tmp = t_1; else tmp = x + (y * (z / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.8e+217], t$95$1, If[LessEqual[t, -1.05e+171], N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t, -4.6e+48], N[Not[LessEqual[t, 1.9e+74]], $MachinePrecision]], t$95$1, N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{t - z}{t}\\
\mathbf{if}\;t \leq -4.8 \cdot 10^{+217}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -1.05 \cdot 10^{+171}:\\
\;\;\;\;x \cdot \frac{z - a}{t}\\
\mathbf{elif}\;t \leq -4.6 \cdot 10^{+48} \lor \neg \left(t \leq 1.9 \cdot 10^{+74}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\end{array}
\end{array}
if t < -4.7999999999999996e217 or -1.0500000000000001e171 < t < -4.6e48 or 1.8999999999999999e74 < t Initial program 42.6%
clear-num42.4%
inv-pow42.4%
*-commutative42.4%
associate-/r*63.7%
Applied egg-rr63.7%
Taylor expanded in x around 0 50.8%
*-commutative50.8%
associate-*r/44.9%
Simplified44.9%
Taylor expanded in a around 0 43.9%
mul-1-neg43.9%
Simplified43.9%
Taylor expanded in y around 0 49.7%
mul-1-neg49.7%
distribute-frac-neg249.7%
associate-/l*65.1%
Simplified65.1%
if -4.7999999999999996e217 < t < -1.0500000000000001e171Initial program 3.0%
Taylor expanded in x around -inf 52.2%
associate-*r*52.2%
neg-mul-152.2%
+-commutative52.2%
Simplified52.2%
Taylor expanded in t around -inf 68.5%
associate-/l*99.0%
Simplified99.0%
if -4.6e48 < t < 1.8999999999999999e74Initial program 84.1%
Taylor expanded in t around 0 60.7%
Taylor expanded in y around inf 56.0%
associate-/l*61.8%
Simplified61.8%
Final simplification63.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* x (/ (- z a) t))))
(if (<= a -1.15e+40)
x
(if (<= a 6.5e-271)
t_1
(if (<= a 1.15e-84)
y
(if (<= a 1.22e-26) t_1 (if (<= a 2.4e+79) y x)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * ((z - a) / t);
double tmp;
if (a <= -1.15e+40) {
tmp = x;
} else if (a <= 6.5e-271) {
tmp = t_1;
} else if (a <= 1.15e-84) {
tmp = y;
} else if (a <= 1.22e-26) {
tmp = t_1;
} else if (a <= 2.4e+79) {
tmp = y;
} 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) :: t_1
real(8) :: tmp
t_1 = x * ((z - a) / t)
if (a <= (-1.15d+40)) then
tmp = x
else if (a <= 6.5d-271) then
tmp = t_1
else if (a <= 1.15d-84) then
tmp = y
else if (a <= 1.22d-26) then
tmp = t_1
else if (a <= 2.4d+79) then
tmp = y
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x * ((z - a) / t);
double tmp;
if (a <= -1.15e+40) {
tmp = x;
} else if (a <= 6.5e-271) {
tmp = t_1;
} else if (a <= 1.15e-84) {
tmp = y;
} else if (a <= 1.22e-26) {
tmp = t_1;
} else if (a <= 2.4e+79) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * ((z - a) / t) tmp = 0 if a <= -1.15e+40: tmp = x elif a <= 6.5e-271: tmp = t_1 elif a <= 1.15e-84: tmp = y elif a <= 1.22e-26: tmp = t_1 elif a <= 2.4e+79: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(Float64(z - a) / t)) tmp = 0.0 if (a <= -1.15e+40) tmp = x; elseif (a <= 6.5e-271) tmp = t_1; elseif (a <= 1.15e-84) tmp = y; elseif (a <= 1.22e-26) tmp = t_1; elseif (a <= 2.4e+79) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * ((z - a) / t); tmp = 0.0; if (a <= -1.15e+40) tmp = x; elseif (a <= 6.5e-271) tmp = t_1; elseif (a <= 1.15e-84) tmp = y; elseif (a <= 1.22e-26) tmp = t_1; elseif (a <= 2.4e+79) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.15e+40], x, If[LessEqual[a, 6.5e-271], t$95$1, If[LessEqual[a, 1.15e-84], y, If[LessEqual[a, 1.22e-26], t$95$1, If[LessEqual[a, 2.4e+79], y, x]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{z - a}{t}\\
\mathbf{if}\;a \leq -1.15 \cdot 10^{+40}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 6.5 \cdot 10^{-271}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 1.15 \cdot 10^{-84}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq 1.22 \cdot 10^{-26}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 2.4 \cdot 10^{+79}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.14999999999999997e40 or 2.39999999999999986e79 < a Initial program 69.6%
Taylor expanded in a around inf 50.4%
if -1.14999999999999997e40 < a < 6.5000000000000005e-271 or 1.1499999999999999e-84 < a < 1.22e-26Initial program 65.7%
Taylor expanded in x around -inf 47.2%
associate-*r*47.2%
neg-mul-147.2%
+-commutative47.2%
Simplified47.2%
Taylor expanded in t around -inf 47.8%
associate-/l*53.1%
Simplified53.1%
if 6.5000000000000005e-271 < a < 1.1499999999999999e-84 or 1.22e-26 < a < 2.39999999999999986e79Initial program 66.2%
Taylor expanded in t around inf 50.1%
Final simplification51.2%
(FPCore (x y z t a)
:precision binary64
(if (<= t -1.55e+218)
y
(if (<= t -5e+171)
(* x (/ (- z a) t))
(if (<= t -4.4e+83) y (if (<= t 2.9e+79) (+ x (* y (/ z a))) y)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.55e+218) {
tmp = y;
} else if (t <= -5e+171) {
tmp = x * ((z - a) / t);
} else if (t <= -4.4e+83) {
tmp = y;
} else if (t <= 2.9e+79) {
tmp = x + (y * (z / a));
} else {
tmp = 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 (t <= (-1.55d+218)) then
tmp = y
else if (t <= (-5d+171)) then
tmp = x * ((z - a) / t)
else if (t <= (-4.4d+83)) then
tmp = y
else if (t <= 2.9d+79) then
tmp = x + (y * (z / a))
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.55e+218) {
tmp = y;
} else if (t <= -5e+171) {
tmp = x * ((z - a) / t);
} else if (t <= -4.4e+83) {
tmp = y;
} else if (t <= 2.9e+79) {
tmp = x + (y * (z / a));
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -1.55e+218: tmp = y elif t <= -5e+171: tmp = x * ((z - a) / t) elif t <= -4.4e+83: tmp = y elif t <= 2.9e+79: tmp = x + (y * (z / a)) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -1.55e+218) tmp = y; elseif (t <= -5e+171) tmp = Float64(x * Float64(Float64(z - a) / t)); elseif (t <= -4.4e+83) tmp = y; elseif (t <= 2.9e+79) tmp = Float64(x + Float64(y * Float64(z / a))); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -1.55e+218) tmp = y; elseif (t <= -5e+171) tmp = x * ((z - a) / t); elseif (t <= -4.4e+83) tmp = y; elseif (t <= 2.9e+79) tmp = x + (y * (z / a)); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -1.55e+218], y, If[LessEqual[t, -5e+171], N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -4.4e+83], y, If[LessEqual[t, 2.9e+79], N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], y]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.55 \cdot 10^{+218}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -5 \cdot 10^{+171}:\\
\;\;\;\;x \cdot \frac{z - a}{t}\\
\mathbf{elif}\;t \leq -4.4 \cdot 10^{+83}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq 2.9 \cdot 10^{+79}:\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -1.5500000000000001e218 or -5.0000000000000004e171 < t < -4.39999999999999997e83 or 2.89999999999999992e79 < t Initial program 42.6%
Taylor expanded in t around inf 59.1%
if -1.5500000000000001e218 < t < -5.0000000000000004e171Initial program 3.0%
Taylor expanded in x around -inf 52.2%
associate-*r*52.2%
neg-mul-152.2%
+-commutative52.2%
Simplified52.2%
Taylor expanded in t around -inf 68.5%
associate-/l*99.0%
Simplified99.0%
if -4.39999999999999997e83 < t < 2.89999999999999992e79Initial program 82.8%
Taylor expanded in t around 0 60.1%
Taylor expanded in y around inf 55.6%
associate-/l*61.2%
Simplified61.2%
Final simplification61.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ y (* (- z a) (/ (- x y) t)))))
(if (<= t -6.5e+50)
t_1
(if (<= t 3.4e-30)
(+ x (/ -1.0 (/ (/ (- a t) z) (- x y))))
(if (<= t 1.22e+42) (- x (/ (* y (- t z)) (- a t))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y + ((z - a) * ((x - y) / t));
double tmp;
if (t <= -6.5e+50) {
tmp = t_1;
} else if (t <= 3.4e-30) {
tmp = x + (-1.0 / (((a - t) / z) / (x - y)));
} else if (t <= 1.22e+42) {
tmp = x - ((y * (t - z)) / (a - t));
} 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 = y + ((z - a) * ((x - y) / t))
if (t <= (-6.5d+50)) then
tmp = t_1
else if (t <= 3.4d-30) then
tmp = x + ((-1.0d0) / (((a - t) / z) / (x - y)))
else if (t <= 1.22d+42) then
tmp = x - ((y * (t - z)) / (a - t))
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 = y + ((z - a) * ((x - y) / t));
double tmp;
if (t <= -6.5e+50) {
tmp = t_1;
} else if (t <= 3.4e-30) {
tmp = x + (-1.0 / (((a - t) / z) / (x - y)));
} else if (t <= 1.22e+42) {
tmp = x - ((y * (t - z)) / (a - t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y + ((z - a) * ((x - y) / t)) tmp = 0 if t <= -6.5e+50: tmp = t_1 elif t <= 3.4e-30: tmp = x + (-1.0 / (((a - t) / z) / (x - y))) elif t <= 1.22e+42: tmp = x - ((y * (t - z)) / (a - t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(y + Float64(Float64(z - a) * Float64(Float64(x - y) / t))) tmp = 0.0 if (t <= -6.5e+50) tmp = t_1; elseif (t <= 3.4e-30) tmp = Float64(x + Float64(-1.0 / Float64(Float64(Float64(a - t) / z) / Float64(x - y)))); elseif (t <= 1.22e+42) tmp = Float64(x - Float64(Float64(y * Float64(t - z)) / Float64(a - t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y + ((z - a) * ((x - y) / t)); tmp = 0.0; if (t <= -6.5e+50) tmp = t_1; elseif (t <= 3.4e-30) tmp = x + (-1.0 / (((a - t) / z) / (x - y))); elseif (t <= 1.22e+42) tmp = x - ((y * (t - z)) / (a - t)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y + N[(N[(z - a), $MachinePrecision] * N[(N[(x - y), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -6.5e+50], t$95$1, If[LessEqual[t, 3.4e-30], N[(x + N[(-1.0 / N[(N[(N[(a - t), $MachinePrecision] / z), $MachinePrecision] / N[(x - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.22e+42], N[(x - N[(N[(y * N[(t - z), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y + \left(z - a\right) \cdot \frac{x - y}{t}\\
\mathbf{if}\;t \leq -6.5 \cdot 10^{+50}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 3.4 \cdot 10^{-30}:\\
\;\;\;\;x + \frac{-1}{\frac{\frac{a - t}{z}}{x - y}}\\
\mathbf{elif}\;t \leq 1.22 \cdot 10^{+42}:\\
\;\;\;\;x - \frac{y \cdot \left(t - z\right)}{a - t}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -6.5000000000000003e50 or 1.22e42 < t Initial program 40.4%
Taylor expanded in t around inf 71.2%
associate--l+71.2%
distribute-lft-out--71.2%
div-sub71.2%
mul-1-neg71.2%
unsub-neg71.2%
div-sub71.2%
associate-/l*76.9%
associate-/l*83.6%
distribute-rgt-out--83.8%
Simplified83.8%
if -6.5000000000000003e50 < t < 3.4000000000000003e-30Initial program 85.6%
clear-num85.1%
inv-pow85.1%
*-commutative85.1%
associate-/r*92.2%
Applied egg-rr92.2%
unpow-192.2%
associate-/l/85.1%
*-commutative85.1%
Simplified85.1%
Taylor expanded in z around inf 77.3%
associate-/r*83.1%
Simplified83.1%
if 3.4000000000000003e-30 < t < 1.22e42Initial program 88.4%
Taylor expanded in y around inf 85.3%
*-commutative85.3%
Simplified85.3%
Final simplification83.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* y (/ z a)))))
(if (<= a -3.8e+39)
t_1
(if (<= a 6.2e-267)
(* z (/ (- y x) (- a t)))
(if (<= a 2.3e+79) (* (- z t) (/ y (- a t))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y * (z / a));
double tmp;
if (a <= -3.8e+39) {
tmp = t_1;
} else if (a <= 6.2e-267) {
tmp = z * ((y - x) / (a - t));
} else if (a <= 2.3e+79) {
tmp = (z - t) * (y / (a - t));
} 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 / a))
if (a <= (-3.8d+39)) then
tmp = t_1
else if (a <= 6.2d-267) then
tmp = z * ((y - x) / (a - t))
else if (a <= 2.3d+79) then
tmp = (z - t) * (y / (a - t))
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 / a));
double tmp;
if (a <= -3.8e+39) {
tmp = t_1;
} else if (a <= 6.2e-267) {
tmp = z * ((y - x) / (a - t));
} else if (a <= 2.3e+79) {
tmp = (z - t) * (y / (a - t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y * (z / a)) tmp = 0 if a <= -3.8e+39: tmp = t_1 elif a <= 6.2e-267: tmp = z * ((y - x) / (a - t)) elif a <= 2.3e+79: tmp = (z - t) * (y / (a - t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y * Float64(z / a))) tmp = 0.0 if (a <= -3.8e+39) tmp = t_1; elseif (a <= 6.2e-267) tmp = Float64(z * Float64(Float64(y - x) / Float64(a - t))); elseif (a <= 2.3e+79) tmp = Float64(Float64(z - t) * Float64(y / Float64(a - t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (y * (z / a)); tmp = 0.0; if (a <= -3.8e+39) tmp = t_1; elseif (a <= 6.2e-267) tmp = z * ((y - x) / (a - t)); elseif (a <= 2.3e+79) tmp = (z - t) * (y / (a - t)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.8e+39], t$95$1, If[LessEqual[a, 6.2e-267], N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.3e+79], N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + y \cdot \frac{z}{a}\\
\mathbf{if}\;a \leq -3.8 \cdot 10^{+39}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 6.2 \cdot 10^{-267}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{elif}\;a \leq 2.3 \cdot 10^{+79}:\\
\;\;\;\;\left(z - t\right) \cdot \frac{y}{a - t}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -3.7999999999999998e39 or 2.3e79 < a Initial program 69.6%
Taylor expanded in t around 0 59.1%
Taylor expanded in y around inf 60.8%
associate-/l*67.9%
Simplified67.9%
if -3.7999999999999998e39 < a < 6.2000000000000002e-267Initial program 63.1%
clear-num62.9%
inv-pow62.9%
*-commutative62.9%
associate-/r*68.1%
Applied egg-rr68.1%
Taylor expanded in z around inf 59.5%
div-sub60.8%
Simplified60.8%
if 6.2000000000000002e-267 < a < 2.3e79Initial program 68.6%
clear-num68.4%
inv-pow68.4%
*-commutative68.4%
associate-/r*77.7%
Applied egg-rr77.7%
Taylor expanded in x around 0 60.4%
*-commutative60.4%
associate-*r/62.6%
Simplified62.6%
Final simplification64.3%
(FPCore (x y z t a)
:precision binary64
(if (<= x -8.3e+96)
(* x (+ (/ (- z t) (- t a)) 1.0))
(if (<= x 2.8e-36)
(/ y (/ (- a t) (- z t)))
(if (<= x 4.2e+199) (- x (* z (/ (- x y) a))) (* x (/ (- z a) t))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -8.3e+96) {
tmp = x * (((z - t) / (t - a)) + 1.0);
} else if (x <= 2.8e-36) {
tmp = y / ((a - t) / (z - t));
} else if (x <= 4.2e+199) {
tmp = x - (z * ((x - y) / a));
} else {
tmp = x * ((z - a) / 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 (x <= (-8.3d+96)) then
tmp = x * (((z - t) / (t - a)) + 1.0d0)
else if (x <= 2.8d-36) then
tmp = y / ((a - t) / (z - t))
else if (x <= 4.2d+199) then
tmp = x - (z * ((x - y) / a))
else
tmp = x * ((z - a) / t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -8.3e+96) {
tmp = x * (((z - t) / (t - a)) + 1.0);
} else if (x <= 2.8e-36) {
tmp = y / ((a - t) / (z - t));
} else if (x <= 4.2e+199) {
tmp = x - (z * ((x - y) / a));
} else {
tmp = x * ((z - a) / t);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -8.3e+96: tmp = x * (((z - t) / (t - a)) + 1.0) elif x <= 2.8e-36: tmp = y / ((a - t) / (z - t)) elif x <= 4.2e+199: tmp = x - (z * ((x - y) / a)) else: tmp = x * ((z - a) / t) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -8.3e+96) tmp = Float64(x * Float64(Float64(Float64(z - t) / Float64(t - a)) + 1.0)); elseif (x <= 2.8e-36) tmp = Float64(y / Float64(Float64(a - t) / Float64(z - t))); elseif (x <= 4.2e+199) tmp = Float64(x - Float64(z * Float64(Float64(x - y) / a))); else tmp = Float64(x * Float64(Float64(z - a) / t)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -8.3e+96) tmp = x * (((z - t) / (t - a)) + 1.0); elseif (x <= 2.8e-36) tmp = y / ((a - t) / (z - t)); elseif (x <= 4.2e+199) tmp = x - (z * ((x - y) / a)); else tmp = x * ((z - a) / t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -8.3e+96], N[(x * N[(N[(N[(z - t), $MachinePrecision] / N[(t - a), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.8e-36], N[(y / N[(N[(a - t), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.2e+199], N[(x - N[(z * N[(N[(x - y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -8.3 \cdot 10^{+96}:\\
\;\;\;\;x \cdot \left(\frac{z - t}{t - a} + 1\right)\\
\mathbf{elif}\;x \leq 2.8 \cdot 10^{-36}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;x \leq 4.2 \cdot 10^{+199}:\\
\;\;\;\;x - z \cdot \frac{x - y}{a}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{z - a}{t}\\
\end{array}
\end{array}
if x < -8.2999999999999997e96Initial program 56.8%
Taylor expanded in x around inf 63.7%
mul-1-neg63.7%
unsub-neg63.7%
Simplified63.7%
if -8.2999999999999997e96 < x < 2.8000000000000001e-36Initial program 75.7%
clear-num75.1%
inv-pow75.1%
*-commutative75.1%
associate-/r*83.7%
Applied egg-rr83.7%
Taylor expanded in x around 0 64.1%
*-commutative64.1%
associate-*r/61.1%
*-commutative61.1%
associate-/r/73.1%
Simplified73.1%
if 2.8000000000000001e-36 < x < 4.1999999999999999e199Initial program 65.2%
Taylor expanded in t around 0 56.0%
associate-/l*69.0%
Simplified69.0%
if 4.1999999999999999e199 < x Initial program 42.1%
Taylor expanded in x around -inf 85.9%
associate-*r*85.9%
neg-mul-185.9%
+-commutative85.9%
Simplified85.9%
Taylor expanded in t around -inf 54.5%
associate-/l*71.4%
Simplified71.4%
Final simplification70.4%
(FPCore (x y z t a) :precision binary64 (if (or (<= x -4.2e+120) (not (<= x 1.7e+127))) (* x (+ (/ (- z t) (- t a)) 1.0)) (+ x (* y (/ (- z t) (- a t))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((x <= -4.2e+120) || !(x <= 1.7e+127)) {
tmp = x * (((z - t) / (t - a)) + 1.0);
} else {
tmp = x + (y * ((z - t) / (a - 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 ((x <= (-4.2d+120)) .or. (.not. (x <= 1.7d+127))) then
tmp = x * (((z - t) / (t - a)) + 1.0d0)
else
tmp = x + (y * ((z - t) / (a - t)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((x <= -4.2e+120) || !(x <= 1.7e+127)) {
tmp = x * (((z - t) / (t - a)) + 1.0);
} else {
tmp = x + (y * ((z - t) / (a - t)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (x <= -4.2e+120) or not (x <= 1.7e+127): tmp = x * (((z - t) / (t - a)) + 1.0) else: tmp = x + (y * ((z - t) / (a - t))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((x <= -4.2e+120) || !(x <= 1.7e+127)) tmp = Float64(x * Float64(Float64(Float64(z - t) / Float64(t - a)) + 1.0)); else tmp = Float64(x + Float64(y * Float64(Float64(z - t) / Float64(a - t)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((x <= -4.2e+120) || ~((x <= 1.7e+127))) tmp = x * (((z - t) / (t - a)) + 1.0); else tmp = x + (y * ((z - t) / (a - t))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[x, -4.2e+120], N[Not[LessEqual[x, 1.7e+127]], $MachinePrecision]], N[(x * N[(N[(N[(z - t), $MachinePrecision] / N[(t - a), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], N[(x + N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -4.2 \cdot 10^{+120} \lor \neg \left(x \leq 1.7 \cdot 10^{+127}\right):\\
\;\;\;\;x \cdot \left(\frac{z - t}{t - a} + 1\right)\\
\mathbf{else}:\\
\;\;\;\;x + y \cdot \frac{z - t}{a - t}\\
\end{array}
\end{array}
if x < -4.2000000000000001e120 or 1.69999999999999989e127 < x Initial program 51.1%
Taylor expanded in x around inf 63.9%
mul-1-neg63.9%
unsub-neg63.9%
Simplified63.9%
if -4.2000000000000001e120 < x < 1.69999999999999989e127Initial program 74.7%
Taylor expanded in y around inf 66.8%
associate-/l*77.3%
Simplified77.3%
Final simplification73.2%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -35000000000.0) (not (<= a 2.15e-32))) (+ x (* y (/ (- z t) (- a t)))) (+ y (* (- z a) (/ (- x y) t)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -35000000000.0) || !(a <= 2.15e-32)) {
tmp = x + (y * ((z - t) / (a - t)));
} else {
tmp = y + ((z - a) * ((x - y) / 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 ((a <= (-35000000000.0d0)) .or. (.not. (a <= 2.15d-32))) then
tmp = x + (y * ((z - t) / (a - t)))
else
tmp = y + ((z - a) * ((x - y) / t))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -35000000000.0) || !(a <= 2.15e-32)) {
tmp = x + (y * ((z - t) / (a - t)));
} else {
tmp = y + ((z - a) * ((x - y) / t));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -35000000000.0) or not (a <= 2.15e-32): tmp = x + (y * ((z - t) / (a - t))) else: tmp = y + ((z - a) * ((x - y) / t)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -35000000000.0) || !(a <= 2.15e-32)) tmp = Float64(x + Float64(y * Float64(Float64(z - t) / Float64(a - t)))); else tmp = Float64(y + Float64(Float64(z - a) * Float64(Float64(x - y) / t))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -35000000000.0) || ~((a <= 2.15e-32))) tmp = x + (y * ((z - t) / (a - t))); else tmp = y + ((z - a) * ((x - y) / t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -35000000000.0], N[Not[LessEqual[a, 2.15e-32]], $MachinePrecision]], N[(x + N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + N[(N[(z - a), $MachinePrecision] * N[(N[(x - y), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -35000000000 \lor \neg \left(a \leq 2.15 \cdot 10^{-32}\right):\\
\;\;\;\;x + y \cdot \frac{z - t}{a - t}\\
\mathbf{else}:\\
\;\;\;\;y + \left(z - a\right) \cdot \frac{x - y}{t}\\
\end{array}
\end{array}
if a < -3.5e10 or 2.14999999999999995e-32 < a Initial program 71.7%
Taylor expanded in y around inf 70.5%
associate-/l*82.3%
Simplified82.3%
if -3.5e10 < a < 2.14999999999999995e-32Initial program 61.9%
Taylor expanded in t around inf 77.7%
associate--l+77.7%
distribute-lft-out--77.7%
div-sub79.5%
mul-1-neg79.5%
unsub-neg79.5%
div-sub77.7%
associate-/l*78.9%
associate-/l*76.2%
distribute-rgt-out--80.8%
Simplified80.8%
Final simplification81.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -3.25e+39) x (if (<= a 8.2e-271) (* x (/ z t)) (if (<= a 4.8e+79) y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -3.25e+39) {
tmp = x;
} else if (a <= 8.2e-271) {
tmp = x * (z / t);
} else if (a <= 4.8e+79) {
tmp = y;
} 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 <= (-3.25d+39)) then
tmp = x
else if (a <= 8.2d-271) then
tmp = x * (z / t)
else if (a <= 4.8d+79) then
tmp = y
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 <= -3.25e+39) {
tmp = x;
} else if (a <= 8.2e-271) {
tmp = x * (z / t);
} else if (a <= 4.8e+79) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -3.25e+39: tmp = x elif a <= 8.2e-271: tmp = x * (z / t) elif a <= 4.8e+79: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -3.25e+39) tmp = x; elseif (a <= 8.2e-271) tmp = Float64(x * Float64(z / t)); elseif (a <= 4.8e+79) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -3.25e+39) tmp = x; elseif (a <= 8.2e-271) tmp = x * (z / t); elseif (a <= 4.8e+79) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -3.25e+39], x, If[LessEqual[a, 8.2e-271], N[(x * N[(z / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.8e+79], y, x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.25 \cdot 10^{+39}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 8.2 \cdot 10^{-271}:\\
\;\;\;\;x \cdot \frac{z}{t}\\
\mathbf{elif}\;a \leq 4.8 \cdot 10^{+79}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -3.2500000000000001e39 or 4.79999999999999971e79 < a Initial program 69.6%
Taylor expanded in a around inf 50.4%
if -3.2500000000000001e39 < a < 8.2000000000000005e-271Initial program 63.1%
Taylor expanded in x around -inf 47.8%
associate-*r*47.8%
neg-mul-147.8%
+-commutative47.8%
Simplified47.8%
Taylor expanded in a around 0 40.9%
associate-/l*45.9%
Simplified45.9%
if 8.2000000000000005e-271 < a < 4.79999999999999971e79Initial program 68.6%
Taylor expanded in t around inf 44.8%
Final simplification47.4%
(FPCore (x y z t a) :precision binary64 (if (<= a -7.2e+39) x (if (<= a 8.2e-270) (/ x (/ t z)) (if (<= a 4.4e+79) y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -7.2e+39) {
tmp = x;
} else if (a <= 8.2e-270) {
tmp = x / (t / z);
} else if (a <= 4.4e+79) {
tmp = y;
} 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.2d+39)) then
tmp = x
else if (a <= 8.2d-270) then
tmp = x / (t / z)
else if (a <= 4.4d+79) then
tmp = y
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.2e+39) {
tmp = x;
} else if (a <= 8.2e-270) {
tmp = x / (t / z);
} else if (a <= 4.4e+79) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -7.2e+39: tmp = x elif a <= 8.2e-270: tmp = x / (t / z) elif a <= 4.4e+79: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -7.2e+39) tmp = x; elseif (a <= 8.2e-270) tmp = Float64(x / Float64(t / z)); elseif (a <= 4.4e+79) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -7.2e+39) tmp = x; elseif (a <= 8.2e-270) tmp = x / (t / z); elseif (a <= 4.4e+79) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -7.2e+39], x, If[LessEqual[a, 8.2e-270], N[(x / N[(t / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.4e+79], y, x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -7.2 \cdot 10^{+39}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 8.2 \cdot 10^{-270}:\\
\;\;\;\;\frac{x}{\frac{t}{z}}\\
\mathbf{elif}\;a \leq 4.4 \cdot 10^{+79}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -7.19999999999999969e39 or 4.3999999999999998e79 < a Initial program 69.6%
Taylor expanded in a around inf 50.4%
if -7.19999999999999969e39 < a < 8.1999999999999993e-270Initial program 63.1%
Taylor expanded in x around -inf 47.8%
associate-*r*47.8%
neg-mul-147.8%
+-commutative47.8%
Simplified47.8%
Taylor expanded in a around 0 40.9%
associate-/l*45.9%
Simplified45.9%
clear-num45.9%
un-div-inv46.0%
Applied egg-rr46.0%
if 8.1999999999999993e-270 < a < 4.3999999999999998e79Initial program 68.6%
Taylor expanded in t around inf 44.8%
Final simplification47.5%
(FPCore (x y z t a) :precision binary64 (if (<= t -1.6e-24) y (if (<= t 9.8e-23) x y)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.6e-24) {
tmp = y;
} else if (t <= 9.8e-23) {
tmp = x;
} else {
tmp = 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 (t <= (-1.6d-24)) then
tmp = y
else if (t <= 9.8d-23) then
tmp = x
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.6e-24) {
tmp = y;
} else if (t <= 9.8e-23) {
tmp = x;
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -1.6e-24: tmp = y elif t <= 9.8e-23: tmp = x else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -1.6e-24) tmp = y; elseif (t <= 9.8e-23) tmp = x; else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -1.6e-24) tmp = y; elseif (t <= 9.8e-23) tmp = x; else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -1.6e-24], y, If[LessEqual[t, 9.8e-23], x, y]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.6 \cdot 10^{-24}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq 9.8 \cdot 10^{-23}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -1.60000000000000006e-24 or 9.7999999999999996e-23 < t Initial program 49.5%
Taylor expanded in t around inf 46.2%
if -1.60000000000000006e-24 < t < 9.7999999999999996e-23Initial program 86.5%
Taylor expanded in a around inf 39.8%
Final simplification43.1%
(FPCore (x y z t a) :precision binary64 x)
double code(double x, double y, double z, double t, double a) {
return x;
}
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
end function
public static double code(double x, double y, double z, double t, double a) {
return x;
}
def code(x, y, z, t, a): return x
function code(x, y, z, t, a) return x end
function tmp = code(x, y, z, t, a) tmp = x; end
code[x_, y_, z_, t_, a_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 67.4%
Taylor expanded in a around inf 26.0%
Final simplification26.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t))))))
(if (< a -1.6153062845442575e-142)
t_1
(if (< a 3.774403170083174e-182) (- y (* (/ z t) (- y x))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t)));
double tmp;
if (a < -1.6153062845442575e-142) {
tmp = t_1;
} else if (a < 3.774403170083174e-182) {
tmp = y - ((z / t) * (y - x));
} 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 - x) / 1.0d0) * ((z - t) / (a - t)))
if (a < (-1.6153062845442575d-142)) then
tmp = t_1
else if (a < 3.774403170083174d-182) then
tmp = y - ((z / t) * (y - x))
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 - x) / 1.0) * ((z - t) / (a - t)));
double tmp;
if (a < -1.6153062845442575e-142) {
tmp = t_1;
} else if (a < 3.774403170083174e-182) {
tmp = y - ((z / t) * (y - x));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t))) tmp = 0 if a < -1.6153062845442575e-142: tmp = t_1 elif a < 3.774403170083174e-182: tmp = y - ((z / t) * (y - x)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - x) / 1.0) * Float64(Float64(z - t) / Float64(a - t)))) tmp = 0.0 if (a < -1.6153062845442575e-142) tmp = t_1; elseif (a < 3.774403170083174e-182) tmp = Float64(y - Float64(Float64(z / t) * Float64(y - x))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t))); tmp = 0.0; if (a < -1.6153062845442575e-142) tmp = t_1; elseif (a < 3.774403170083174e-182) tmp = y - ((z / t) * (y - x)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - x), $MachinePrecision] / 1.0), $MachinePrecision] * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[a, -1.6153062845442575e-142], t$95$1, If[Less[a, 3.774403170083174e-182], N[(y - N[(N[(z / t), $MachinePrecision] * N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y - x}{1} \cdot \frac{z - t}{a - t}\\
\mathbf{if}\;a < -1.6153062845442575 \cdot 10^{-142}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a < 3.774403170083174 \cdot 10^{-182}:\\
\;\;\;\;y - \frac{z}{t} \cdot \left(y - x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
herbie shell --seed 2024055
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:linMap from Chart-1.5.3"
:precision binary64
:alt
(if (< a -1.6153062845442575e-142) (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t)))) (if (< a 3.774403170083174e-182) (- y (* (/ z t) (- y x))) (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t))))))
(+ x (/ (* (- y x) (- z t)) (- a t))))