
(FPCore (x y z t a b) :precision binary64 (+ (- (- x (* (- y 1.0) z)) (* (- t 1.0) a)) (* (- (+ y t) 2.0) b)))
double code(double x, double y, double z, double t, double a, double b) {
return ((x - ((y - 1.0) * z)) - ((t - 1.0) * a)) + (((y + t) - 2.0) * b);
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = ((x - ((y - 1.0d0) * z)) - ((t - 1.0d0) * a)) + (((y + t) - 2.0d0) * b)
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return ((x - ((y - 1.0) * z)) - ((t - 1.0) * a)) + (((y + t) - 2.0) * b);
}
def code(x, y, z, t, a, b): return ((x - ((y - 1.0) * z)) - ((t - 1.0) * a)) + (((y + t) - 2.0) * b)
function code(x, y, z, t, a, b) return Float64(Float64(Float64(x - Float64(Float64(y - 1.0) * z)) - Float64(Float64(t - 1.0) * a)) + Float64(Float64(Float64(y + t) - 2.0) * b)) end
function tmp = code(x, y, z, t, a, b) tmp = ((x - ((y - 1.0) * z)) - ((t - 1.0) * a)) + (((y + t) - 2.0) * b); end
code[x_, y_, z_, t_, a_, b_] := N[(N[(N[(x - N[(N[(y - 1.0), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision] - N[(N[(t - 1.0), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(x - \left(y - 1\right) \cdot z\right) - \left(t - 1\right) \cdot a\right) + \left(\left(y + t\right) - 2\right) \cdot b
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 25 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b) :precision binary64 (+ (- (- x (* (- y 1.0) z)) (* (- t 1.0) a)) (* (- (+ y t) 2.0) b)))
double code(double x, double y, double z, double t, double a, double b) {
return ((x - ((y - 1.0) * z)) - ((t - 1.0) * a)) + (((y + t) - 2.0) * b);
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = ((x - ((y - 1.0d0) * z)) - ((t - 1.0d0) * a)) + (((y + t) - 2.0d0) * b)
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return ((x - ((y - 1.0) * z)) - ((t - 1.0) * a)) + (((y + t) - 2.0) * b);
}
def code(x, y, z, t, a, b): return ((x - ((y - 1.0) * z)) - ((t - 1.0) * a)) + (((y + t) - 2.0) * b)
function code(x, y, z, t, a, b) return Float64(Float64(Float64(x - Float64(Float64(y - 1.0) * z)) - Float64(Float64(t - 1.0) * a)) + Float64(Float64(Float64(y + t) - 2.0) * b)) end
function tmp = code(x, y, z, t, a, b) tmp = ((x - ((y - 1.0) * z)) - ((t - 1.0) * a)) + (((y + t) - 2.0) * b); end
code[x_, y_, z_, t_, a_, b_] := N[(N[(N[(x - N[(N[(y - 1.0), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision] - N[(N[(t - 1.0), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(x - \left(y - 1\right) \cdot z\right) - \left(t - 1\right) \cdot a\right) + \left(\left(y + t\right) - 2\right) \cdot b
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<=
(- (+ (- x (* (+ y -1.0) z)) (* a (- 1.0 t))) (* b (- 2.0 (+ y t))))
INFINITY)
(fma (+ y (+ t -2.0)) b (- x (fma (+ y -1.0) z (* (+ t -1.0) a))))
(* (- (+ y t) 2.0) b)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((((x - ((y + -1.0) * z)) + (a * (1.0 - t))) - (b * (2.0 - (y + t)))) <= ((double) INFINITY)) {
tmp = fma((y + (t + -2.0)), b, (x - fma((y + -1.0), z, ((t + -1.0) * a))));
} else {
tmp = ((y + t) - 2.0) * b;
}
return tmp;
}
function code(x, y, z, t, a, b) tmp = 0.0 if (Float64(Float64(Float64(x - Float64(Float64(y + -1.0) * z)) + Float64(a * Float64(1.0 - t))) - Float64(b * Float64(2.0 - Float64(y + t)))) <= Inf) tmp = fma(Float64(y + Float64(t + -2.0)), b, Float64(x - fma(Float64(y + -1.0), z, Float64(Float64(t + -1.0) * a)))); else tmp = Float64(Float64(Float64(y + t) - 2.0) * b); end return tmp end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[N[(N[(N[(x - N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(y + N[(t + -2.0), $MachinePrecision]), $MachinePrecision] * b + N[(x - N[(N[(y + -1.0), $MachinePrecision] * z + N[(N[(t + -1.0), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;\left(\left(x - \left(y + -1\right) \cdot z\right) + a \cdot \left(1 - t\right)\right) - b \cdot \left(2 - \left(y + t\right)\right) \leq \infty:\\
\;\;\;\;\mathsf{fma}\left(y + \left(t + -2\right), b, x - \mathsf{fma}\left(y + -1, z, \left(t + -1\right) \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y + t\right) - 2\right) \cdot b\\
\end{array}
\end{array}
if (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y #s(literal 1 binary64)) z)) (*.f64 (-.f64 t #s(literal 1 binary64)) a)) (*.f64 (-.f64 (+.f64 y t) #s(literal 2 binary64)) b)) < +inf.0Initial program 100.0%
+-commutative100.0%
fma-define100.0%
associate--l+100.0%
sub-neg100.0%
metadata-eval100.0%
sub-neg100.0%
associate-+l-100.0%
fma-neg100.0%
sub-neg100.0%
metadata-eval100.0%
remove-double-neg100.0%
sub-neg100.0%
metadata-eval100.0%
Simplified100.0%
if +inf.0 < (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y #s(literal 1 binary64)) z)) (*.f64 (-.f64 t #s(literal 1 binary64)) a)) (*.f64 (-.f64 (+.f64 y t) #s(literal 2 binary64)) b)) Initial program 0.0%
Taylor expanded in b around inf 80.0%
Final simplification99.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1
(- (+ (- x (* (+ y -1.0) z)) (* a (- 1.0 t))) (* b (- 2.0 (+ y t))))))
(if (<= t_1 INFINITY) t_1 (* (- (+ y t) 2.0) b))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((x - ((y + -1.0) * z)) + (a * (1.0 - t))) - (b * (2.0 - (y + t)));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = ((y + t) - 2.0) * b;
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((x - ((y + -1.0) * z)) + (a * (1.0 - t))) - (b * (2.0 - (y + t)));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = ((y + t) - 2.0) * b;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = ((x - ((y + -1.0) * z)) + (a * (1.0 - t))) - (b * (2.0 - (y + t))) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = ((y + t) - 2.0) * b return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(Float64(x - Float64(Float64(y + -1.0) * z)) + Float64(a * Float64(1.0 - t))) - Float64(b * Float64(2.0 - Float64(y + t)))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(Float64(Float64(y + t) - 2.0) * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = ((x - ((y + -1.0) * z)) + (a * (1.0 - t))) - (b * (2.0 - (y + t))); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = ((y + t) - 2.0) * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(N[(x - N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(x - \left(y + -1\right) \cdot z\right) + a \cdot \left(1 - t\right)\right) - b \cdot \left(2 - \left(y + t\right)\right)\\
\mathbf{if}\;t\_1 \leq \infty:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y + t\right) - 2\right) \cdot b\\
\end{array}
\end{array}
if (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y #s(literal 1 binary64)) z)) (*.f64 (-.f64 t #s(literal 1 binary64)) a)) (*.f64 (-.f64 (+.f64 y t) #s(literal 2 binary64)) b)) < +inf.0Initial program 100.0%
if +inf.0 < (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y #s(literal 1 binary64)) z)) (*.f64 (-.f64 t #s(literal 1 binary64)) a)) (*.f64 (-.f64 (+.f64 y t) #s(literal 2 binary64)) b)) Initial program 0.0%
Taylor expanded in b around inf 80.0%
Final simplification99.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))) (t_2 (* b (- y 2.0))))
(if (<= t -1.26e+57)
t_1
(if (<= t -1.02e-48)
(- x (* y z))
(if (<= t 4.8e-124)
(+ a t_2)
(if (<= t 1.25e-27)
(+ x t_2)
(if (<= t 3.7e+19) (* z (- 1.0 y)) t_1)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (b - a);
double t_2 = b * (y - 2.0);
double tmp;
if (t <= -1.26e+57) {
tmp = t_1;
} else if (t <= -1.02e-48) {
tmp = x - (y * z);
} else if (t <= 4.8e-124) {
tmp = a + t_2;
} else if (t <= 1.25e-27) {
tmp = x + t_2;
} else if (t <= 3.7e+19) {
tmp = z * (1.0 - y);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = t * (b - a)
t_2 = b * (y - 2.0d0)
if (t <= (-1.26d+57)) then
tmp = t_1
else if (t <= (-1.02d-48)) then
tmp = x - (y * z)
else if (t <= 4.8d-124) then
tmp = a + t_2
else if (t <= 1.25d-27) then
tmp = x + t_2
else if (t <= 3.7d+19) then
tmp = z * (1.0d0 - y)
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 b) {
double t_1 = t * (b - a);
double t_2 = b * (y - 2.0);
double tmp;
if (t <= -1.26e+57) {
tmp = t_1;
} else if (t <= -1.02e-48) {
tmp = x - (y * z);
} else if (t <= 4.8e-124) {
tmp = a + t_2;
} else if (t <= 1.25e-27) {
tmp = x + t_2;
} else if (t <= 3.7e+19) {
tmp = z * (1.0 - y);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) t_2 = b * (y - 2.0) tmp = 0 if t <= -1.26e+57: tmp = t_1 elif t <= -1.02e-48: tmp = x - (y * z) elif t <= 4.8e-124: tmp = a + t_2 elif t <= 1.25e-27: tmp = x + t_2 elif t <= 3.7e+19: tmp = z * (1.0 - y) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(b - a)) t_2 = Float64(b * Float64(y - 2.0)) tmp = 0.0 if (t <= -1.26e+57) tmp = t_1; elseif (t <= -1.02e-48) tmp = Float64(x - Float64(y * z)); elseif (t <= 4.8e-124) tmp = Float64(a + t_2); elseif (t <= 1.25e-27) tmp = Float64(x + t_2); elseif (t <= 3.7e+19) tmp = Float64(z * Float64(1.0 - y)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = t * (b - a); t_2 = b * (y - 2.0); tmp = 0.0; if (t <= -1.26e+57) tmp = t_1; elseif (t <= -1.02e-48) tmp = x - (y * z); elseif (t <= 4.8e-124) tmp = a + t_2; elseif (t <= 1.25e-27) tmp = x + t_2; elseif (t <= 3.7e+19) tmp = z * (1.0 - y); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(y - 2.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.26e+57], t$95$1, If[LessEqual[t, -1.02e-48], N[(x - N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.8e-124], N[(a + t$95$2), $MachinePrecision], If[LessEqual[t, 1.25e-27], N[(x + t$95$2), $MachinePrecision], If[LessEqual[t, 3.7e+19], N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
t_2 := b \cdot \left(y - 2\right)\\
\mathbf{if}\;t \leq -1.26 \cdot 10^{+57}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -1.02 \cdot 10^{-48}:\\
\;\;\;\;x - y \cdot z\\
\mathbf{elif}\;t \leq 4.8 \cdot 10^{-124}:\\
\;\;\;\;a + t\_2\\
\mathbf{elif}\;t \leq 1.25 \cdot 10^{-27}:\\
\;\;\;\;x + t\_2\\
\mathbf{elif}\;t \leq 3.7 \cdot 10^{+19}:\\
\;\;\;\;z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -1.26e57 or 3.7e19 < t Initial program 93.5%
Taylor expanded in t around inf 75.6%
if -1.26e57 < t < -1.02000000000000005e-48Initial program 100.0%
Taylor expanded in b around 0 91.3%
Taylor expanded in a around 0 66.3%
Taylor expanded in y around inf 62.0%
if -1.02000000000000005e-48 < t < 4.79999999999999985e-124Initial program 96.9%
Taylor expanded in z around 0 70.9%
Taylor expanded in t around 0 70.9%
sub-neg70.9%
+-commutative70.9%
sub-neg70.9%
metadata-eval70.9%
neg-mul-170.9%
remove-double-neg70.9%
Simplified70.9%
Taylor expanded in x around 0 59.6%
if 4.79999999999999985e-124 < t < 1.25e-27Initial program 100.0%
Taylor expanded in z around 0 75.5%
Taylor expanded in t around 0 75.5%
sub-neg75.5%
+-commutative75.5%
sub-neg75.5%
metadata-eval75.5%
neg-mul-175.5%
remove-double-neg75.5%
Simplified75.5%
Taylor expanded in a around 0 70.4%
if 1.25e-27 < t < 3.7e19Initial program 100.0%
Taylor expanded in z around inf 81.0%
Final simplification68.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -3e+56)
t_1
(if (<= t -2.75e-71)
(- x (* y z))
(if (<= t 4.5e-186)
(+ a (* b -2.0))
(if (<= t 2.45e-142)
(* y (- b z))
(if (<= t 6.5e+15) (+ x z) t_1)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -3e+56) {
tmp = t_1;
} else if (t <= -2.75e-71) {
tmp = x - (y * z);
} else if (t <= 4.5e-186) {
tmp = a + (b * -2.0);
} else if (t <= 2.45e-142) {
tmp = y * (b - z);
} else if (t <= 6.5e+15) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = t * (b - a)
if (t <= (-3d+56)) then
tmp = t_1
else if (t <= (-2.75d-71)) then
tmp = x - (y * z)
else if (t <= 4.5d-186) then
tmp = a + (b * (-2.0d0))
else if (t <= 2.45d-142) then
tmp = y * (b - z)
else if (t <= 6.5d+15) then
tmp = x + 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 b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -3e+56) {
tmp = t_1;
} else if (t <= -2.75e-71) {
tmp = x - (y * z);
} else if (t <= 4.5e-186) {
tmp = a + (b * -2.0);
} else if (t <= 2.45e-142) {
tmp = y * (b - z);
} else if (t <= 6.5e+15) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -3e+56: tmp = t_1 elif t <= -2.75e-71: tmp = x - (y * z) elif t <= 4.5e-186: tmp = a + (b * -2.0) elif t <= 2.45e-142: tmp = y * (b - z) elif t <= 6.5e+15: tmp = x + z else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(b - a)) tmp = 0.0 if (t <= -3e+56) tmp = t_1; elseif (t <= -2.75e-71) tmp = Float64(x - Float64(y * z)); elseif (t <= 4.5e-186) tmp = Float64(a + Float64(b * -2.0)); elseif (t <= 2.45e-142) tmp = Float64(y * Float64(b - z)); elseif (t <= 6.5e+15) tmp = Float64(x + z); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = t * (b - a); tmp = 0.0; if (t <= -3e+56) tmp = t_1; elseif (t <= -2.75e-71) tmp = x - (y * z); elseif (t <= 4.5e-186) tmp = a + (b * -2.0); elseif (t <= 2.45e-142) tmp = y * (b - z); elseif (t <= 6.5e+15) tmp = x + z; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -3e+56], t$95$1, If[LessEqual[t, -2.75e-71], N[(x - N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.5e-186], N[(a + N[(b * -2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.45e-142], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.5e+15], N[(x + z), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -3 \cdot 10^{+56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -2.75 \cdot 10^{-71}:\\
\;\;\;\;x - y \cdot z\\
\mathbf{elif}\;t \leq 4.5 \cdot 10^{-186}:\\
\;\;\;\;a + b \cdot -2\\
\mathbf{elif}\;t \leq 2.45 \cdot 10^{-142}:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{elif}\;t \leq 6.5 \cdot 10^{+15}:\\
\;\;\;\;x + z\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -3.00000000000000006e56 or 6.5e15 < t Initial program 93.6%
Taylor expanded in t around inf 74.9%
if -3.00000000000000006e56 < t < -2.7499999999999999e-71Initial program 100.0%
Taylor expanded in b around 0 81.9%
Taylor expanded in a around 0 60.5%
Taylor expanded in y around inf 56.9%
if -2.7499999999999999e-71 < t < 4.4999999999999998e-186Initial program 96.1%
Taylor expanded in z around 0 70.9%
Taylor expanded in t around 0 70.9%
sub-neg70.9%
+-commutative70.9%
sub-neg70.9%
metadata-eval70.9%
neg-mul-170.9%
remove-double-neg70.9%
Simplified70.9%
Taylor expanded in y around 0 55.1%
*-commutative55.1%
Simplified55.1%
Taylor expanded in x around 0 43.4%
if 4.4999999999999998e-186 < t < 2.4500000000000002e-142Initial program 100.0%
Taylor expanded in y around inf 67.7%
if 2.4500000000000002e-142 < t < 6.5e15Initial program 100.0%
Taylor expanded in b around 0 73.1%
Taylor expanded in a around 0 61.8%
Taylor expanded in y around 0 49.7%
cancel-sign-sub-inv49.7%
metadata-eval49.7%
*-lft-identity49.7%
Simplified49.7%
Final simplification60.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (- x (* (+ y -1.0) z))) (t_2 (* (- (+ y t) 2.0) b)))
(if (<= b -2.05e+74)
t_2
(if (<= b -2.15e-61)
t_1
(if (<= b 3.2e-293)
(+ x (* a (- 1.0 t)))
(if (<= b 920000000.0) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x - ((y + -1.0) * z);
double t_2 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -2.05e+74) {
tmp = t_2;
} else if (b <= -2.15e-61) {
tmp = t_1;
} else if (b <= 3.2e-293) {
tmp = x + (a * (1.0 - t));
} else if (b <= 920000000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x - ((y + (-1.0d0)) * z)
t_2 = ((y + t) - 2.0d0) * b
if (b <= (-2.05d+74)) then
tmp = t_2
else if (b <= (-2.15d-61)) then
tmp = t_1
else if (b <= 3.2d-293) then
tmp = x + (a * (1.0d0 - t))
else if (b <= 920000000.0d0) 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 b) {
double t_1 = x - ((y + -1.0) * z);
double t_2 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -2.05e+74) {
tmp = t_2;
} else if (b <= -2.15e-61) {
tmp = t_1;
} else if (b <= 3.2e-293) {
tmp = x + (a * (1.0 - t));
} else if (b <= 920000000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x - ((y + -1.0) * z) t_2 = ((y + t) - 2.0) * b tmp = 0 if b <= -2.05e+74: tmp = t_2 elif b <= -2.15e-61: tmp = t_1 elif b <= 3.2e-293: tmp = x + (a * (1.0 - t)) elif b <= 920000000.0: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x - Float64(Float64(y + -1.0) * z)) t_2 = Float64(Float64(Float64(y + t) - 2.0) * b) tmp = 0.0 if (b <= -2.05e+74) tmp = t_2; elseif (b <= -2.15e-61) tmp = t_1; elseif (b <= 3.2e-293) tmp = Float64(x + Float64(a * Float64(1.0 - t))); elseif (b <= 920000000.0) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x - ((y + -1.0) * z); t_2 = ((y + t) - 2.0) * b; tmp = 0.0; if (b <= -2.05e+74) tmp = t_2; elseif (b <= -2.15e-61) tmp = t_1; elseif (b <= 3.2e-293) tmp = x + (a * (1.0 - t)); elseif (b <= 920000000.0) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x - N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]}, If[LessEqual[b, -2.05e+74], t$95$2, If[LessEqual[b, -2.15e-61], t$95$1, If[LessEqual[b, 3.2e-293], N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 920000000.0], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - \left(y + -1\right) \cdot z\\
t_2 := \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{if}\;b \leq -2.05 \cdot 10^{+74}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq -2.15 \cdot 10^{-61}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 3.2 \cdot 10^{-293}:\\
\;\;\;\;x + a \cdot \left(1 - t\right)\\
\mathbf{elif}\;b \leq 920000000:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if b < -2.05e74 or 9.2e8 < b Initial program 91.3%
Taylor expanded in b around inf 70.6%
if -2.05e74 < b < -2.1500000000000002e-61 or 3.20000000000000005e-293 < b < 9.2e8Initial program 100.0%
Taylor expanded in b around 0 88.6%
Taylor expanded in a around 0 61.7%
if -2.1500000000000002e-61 < b < 3.20000000000000005e-293Initial program 100.0%
Taylor expanded in z around 0 78.3%
Taylor expanded in b around 0 74.6%
Final simplification68.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -7.5e+66)
t_1
(if (<= t -8e-50)
(- x (* y z))
(if (<= t 1.4e-49)
(+ a (* b (- y 2.0)))
(if (<= t 5.2e+18) (* z (- 1.0 y)) t_1))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -7.5e+66) {
tmp = t_1;
} else if (t <= -8e-50) {
tmp = x - (y * z);
} else if (t <= 1.4e-49) {
tmp = a + (b * (y - 2.0));
} else if (t <= 5.2e+18) {
tmp = z * (1.0 - y);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = t * (b - a)
if (t <= (-7.5d+66)) then
tmp = t_1
else if (t <= (-8d-50)) then
tmp = x - (y * z)
else if (t <= 1.4d-49) then
tmp = a + (b * (y - 2.0d0))
else if (t <= 5.2d+18) then
tmp = z * (1.0d0 - y)
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 b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -7.5e+66) {
tmp = t_1;
} else if (t <= -8e-50) {
tmp = x - (y * z);
} else if (t <= 1.4e-49) {
tmp = a + (b * (y - 2.0));
} else if (t <= 5.2e+18) {
tmp = z * (1.0 - y);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -7.5e+66: tmp = t_1 elif t <= -8e-50: tmp = x - (y * z) elif t <= 1.4e-49: tmp = a + (b * (y - 2.0)) elif t <= 5.2e+18: tmp = z * (1.0 - y) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(b - a)) tmp = 0.0 if (t <= -7.5e+66) tmp = t_1; elseif (t <= -8e-50) tmp = Float64(x - Float64(y * z)); elseif (t <= 1.4e-49) tmp = Float64(a + Float64(b * Float64(y - 2.0))); elseif (t <= 5.2e+18) tmp = Float64(z * Float64(1.0 - y)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = t * (b - a); tmp = 0.0; if (t <= -7.5e+66) tmp = t_1; elseif (t <= -8e-50) tmp = x - (y * z); elseif (t <= 1.4e-49) tmp = a + (b * (y - 2.0)); elseif (t <= 5.2e+18) tmp = z * (1.0 - y); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -7.5e+66], t$95$1, If[LessEqual[t, -8e-50], N[(x - N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.4e-49], N[(a + N[(b * N[(y - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5.2e+18], N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -7.5 \cdot 10^{+66}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -8 \cdot 10^{-50}:\\
\;\;\;\;x - y \cdot z\\
\mathbf{elif}\;t \leq 1.4 \cdot 10^{-49}:\\
\;\;\;\;a + b \cdot \left(y - 2\right)\\
\mathbf{elif}\;t \leq 5.2 \cdot 10^{+18}:\\
\;\;\;\;z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -7.50000000000000024e66 or 5.2e18 < t Initial program 93.5%
Taylor expanded in t around inf 75.6%
if -7.50000000000000024e66 < t < -8.00000000000000006e-50Initial program 100.0%
Taylor expanded in b around 0 91.3%
Taylor expanded in a around 0 66.3%
Taylor expanded in y around inf 62.0%
if -8.00000000000000006e-50 < t < 1.39999999999999999e-49Initial program 97.3%
Taylor expanded in z around 0 72.7%
Taylor expanded in t around 0 72.7%
sub-neg72.7%
+-commutative72.7%
sub-neg72.7%
metadata-eval72.7%
neg-mul-172.7%
remove-double-neg72.7%
Simplified72.7%
Taylor expanded in x around 0 59.0%
if 1.39999999999999999e-49 < t < 5.2e18Initial program 100.0%
Taylor expanded in z around inf 60.0%
Final simplification66.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -25000000.0)
t_1
(if (<= t 2.35e-223)
(+ x a)
(if (<= t 9.5e-139) (* y (- b z)) (if (<= t 6.6e+14) (+ x z) t_1))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -25000000.0) {
tmp = t_1;
} else if (t <= 2.35e-223) {
tmp = x + a;
} else if (t <= 9.5e-139) {
tmp = y * (b - z);
} else if (t <= 6.6e+14) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = t * (b - a)
if (t <= (-25000000.0d0)) then
tmp = t_1
else if (t <= 2.35d-223) then
tmp = x + a
else if (t <= 9.5d-139) then
tmp = y * (b - z)
else if (t <= 6.6d+14) then
tmp = x + 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 b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -25000000.0) {
tmp = t_1;
} else if (t <= 2.35e-223) {
tmp = x + a;
} else if (t <= 9.5e-139) {
tmp = y * (b - z);
} else if (t <= 6.6e+14) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -25000000.0: tmp = t_1 elif t <= 2.35e-223: tmp = x + a elif t <= 9.5e-139: tmp = y * (b - z) elif t <= 6.6e+14: tmp = x + z else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(b - a)) tmp = 0.0 if (t <= -25000000.0) tmp = t_1; elseif (t <= 2.35e-223) tmp = Float64(x + a); elseif (t <= 9.5e-139) tmp = Float64(y * Float64(b - z)); elseif (t <= 6.6e+14) tmp = Float64(x + z); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = t * (b - a); tmp = 0.0; if (t <= -25000000.0) tmp = t_1; elseif (t <= 2.35e-223) tmp = x + a; elseif (t <= 9.5e-139) tmp = y * (b - z); elseif (t <= 6.6e+14) tmp = x + z; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -25000000.0], t$95$1, If[LessEqual[t, 2.35e-223], N[(x + a), $MachinePrecision], If[LessEqual[t, 9.5e-139], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.6e+14], N[(x + z), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -25000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 2.35 \cdot 10^{-223}:\\
\;\;\;\;x + a\\
\mathbf{elif}\;t \leq 9.5 \cdot 10^{-139}:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{elif}\;t \leq 6.6 \cdot 10^{+14}:\\
\;\;\;\;x + z\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -2.5e7 or 6.6e14 < t Initial program 94.1%
Taylor expanded in t around inf 71.3%
if -2.5e7 < t < 2.3500000000000001e-223Initial program 97.6%
Taylor expanded in z around 0 72.5%
Taylor expanded in t around 0 71.8%
sub-neg71.8%
+-commutative71.8%
sub-neg71.8%
metadata-eval71.8%
neg-mul-171.8%
remove-double-neg71.8%
Simplified71.8%
Taylor expanded in b around 0 45.0%
if 2.3500000000000001e-223 < t < 9.5000000000000006e-139Initial program 95.2%
Taylor expanded in y around inf 53.7%
if 9.5000000000000006e-139 < t < 6.6e14Initial program 100.0%
Taylor expanded in b around 0 73.1%
Taylor expanded in a around 0 61.8%
Taylor expanded in y around 0 49.7%
cancel-sign-sub-inv49.7%
metadata-eval49.7%
*-lft-identity49.7%
Simplified49.7%
Final simplification58.6%
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -6.2e+25) (not (<= y 5.5e+59))) (+ (- x (* b (- 2.0 (+ y t)))) (* z (- 1.0 y))) (+ (+ x (+ z (* b (- t 2.0)))) (* a (- 1.0 t)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -6.2e+25) || !(y <= 5.5e+59)) {
tmp = (x - (b * (2.0 - (y + t)))) + (z * (1.0 - y));
} else {
tmp = (x + (z + (b * (t - 2.0)))) + (a * (1.0 - t));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((y <= (-6.2d+25)) .or. (.not. (y <= 5.5d+59))) then
tmp = (x - (b * (2.0d0 - (y + t)))) + (z * (1.0d0 - y))
else
tmp = (x + (z + (b * (t - 2.0d0)))) + (a * (1.0d0 - t))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -6.2e+25) || !(y <= 5.5e+59)) {
tmp = (x - (b * (2.0 - (y + t)))) + (z * (1.0 - y));
} else {
tmp = (x + (z + (b * (t - 2.0)))) + (a * (1.0 - t));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -6.2e+25) or not (y <= 5.5e+59): tmp = (x - (b * (2.0 - (y + t)))) + (z * (1.0 - y)) else: tmp = (x + (z + (b * (t - 2.0)))) + (a * (1.0 - t)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -6.2e+25) || !(y <= 5.5e+59)) tmp = Float64(Float64(x - Float64(b * Float64(2.0 - Float64(y + t)))) + Float64(z * Float64(1.0 - y))); else tmp = Float64(Float64(x + Float64(z + Float64(b * Float64(t - 2.0)))) + Float64(a * Float64(1.0 - t))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -6.2e+25) || ~((y <= 5.5e+59))) tmp = (x - (b * (2.0 - (y + t)))) + (z * (1.0 - y)); else tmp = (x + (z + (b * (t - 2.0)))) + (a * (1.0 - t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -6.2e+25], N[Not[LessEqual[y, 5.5e+59]], $MachinePrecision]], N[(N[(x - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x + N[(z + N[(b * N[(t - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -6.2 \cdot 10^{+25} \lor \neg \left(y \leq 5.5 \cdot 10^{+59}\right):\\
\;\;\;\;\left(x - b \cdot \left(2 - \left(y + t\right)\right)\right) + z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(x + \left(z + b \cdot \left(t - 2\right)\right)\right) + a \cdot \left(1 - t\right)\\
\end{array}
\end{array}
if y < -6.1999999999999996e25 or 5.4999999999999999e59 < y Initial program 95.6%
Taylor expanded in a around 0 81.8%
if -6.1999999999999996e25 < y < 5.4999999999999999e59Initial program 96.3%
Taylor expanded in y around 0 94.6%
Taylor expanded in z around 0 94.6%
Final simplification90.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* z (- 1.0 y))))
(if (or (<= b -2.4e-19) (not (<= b 5.1e-34)))
(+ (- x (* b (- 2.0 (+ y t)))) t_1)
(+ x (+ t_1 (* a (- 1.0 t)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = z * (1.0 - y);
double tmp;
if ((b <= -2.4e-19) || !(b <= 5.1e-34)) {
tmp = (x - (b * (2.0 - (y + t)))) + t_1;
} else {
tmp = x + (t_1 + (a * (1.0 - t)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = z * (1.0d0 - y)
if ((b <= (-2.4d-19)) .or. (.not. (b <= 5.1d-34))) then
tmp = (x - (b * (2.0d0 - (y + t)))) + t_1
else
tmp = x + (t_1 + (a * (1.0d0 - t)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = z * (1.0 - y);
double tmp;
if ((b <= -2.4e-19) || !(b <= 5.1e-34)) {
tmp = (x - (b * (2.0 - (y + t)))) + t_1;
} else {
tmp = x + (t_1 + (a * (1.0 - t)));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = z * (1.0 - y) tmp = 0 if (b <= -2.4e-19) or not (b <= 5.1e-34): tmp = (x - (b * (2.0 - (y + t)))) + t_1 else: tmp = x + (t_1 + (a * (1.0 - t))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(z * Float64(1.0 - y)) tmp = 0.0 if ((b <= -2.4e-19) || !(b <= 5.1e-34)) tmp = Float64(Float64(x - Float64(b * Float64(2.0 - Float64(y + t)))) + t_1); else tmp = Float64(x + Float64(t_1 + Float64(a * Float64(1.0 - t)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = z * (1.0 - y); tmp = 0.0; if ((b <= -2.4e-19) || ~((b <= 5.1e-34))) tmp = (x - (b * (2.0 - (y + t)))) + t_1; else tmp = x + (t_1 + (a * (1.0 - t))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[b, -2.4e-19], N[Not[LessEqual[b, 5.1e-34]], $MachinePrecision]], N[(N[(x - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], N[(x + N[(t$95$1 + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(1 - y\right)\\
\mathbf{if}\;b \leq -2.4 \cdot 10^{-19} \lor \neg \left(b \leq 5.1 \cdot 10^{-34}\right):\\
\;\;\;\;\left(x - b \cdot \left(2 - \left(y + t\right)\right)\right) + t\_1\\
\mathbf{else}:\\
\;\;\;\;x + \left(t\_1 + a \cdot \left(1 - t\right)\right)\\
\end{array}
\end{array}
if b < -2.40000000000000023e-19 or 5.1000000000000001e-34 < b Initial program 93.1%
Taylor expanded in a around 0 84.7%
if -2.40000000000000023e-19 < b < 5.1000000000000001e-34Initial program 100.0%
Taylor expanded in b around 0 96.3%
Final simplification89.8%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* a (- 1.0 t))))
(if (or (<= z -4.9e+37) (not (<= z 9e+152)))
(+ x (+ (* z (- 1.0 y)) t_1))
(+ (- x (* b (- 2.0 (+ y t)))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (1.0 - t);
double tmp;
if ((z <= -4.9e+37) || !(z <= 9e+152)) {
tmp = x + ((z * (1.0 - y)) + t_1);
} else {
tmp = (x - (b * (2.0 - (y + t)))) + t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = a * (1.0d0 - t)
if ((z <= (-4.9d+37)) .or. (.not. (z <= 9d+152))) then
tmp = x + ((z * (1.0d0 - y)) + t_1)
else
tmp = (x - (b * (2.0d0 - (y + t)))) + t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (1.0 - t);
double tmp;
if ((z <= -4.9e+37) || !(z <= 9e+152)) {
tmp = x + ((z * (1.0 - y)) + t_1);
} else {
tmp = (x - (b * (2.0 - (y + t)))) + t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (1.0 - t) tmp = 0 if (z <= -4.9e+37) or not (z <= 9e+152): tmp = x + ((z * (1.0 - y)) + t_1) else: tmp = (x - (b * (2.0 - (y + t)))) + t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(a * Float64(1.0 - t)) tmp = 0.0 if ((z <= -4.9e+37) || !(z <= 9e+152)) tmp = Float64(x + Float64(Float64(z * Float64(1.0 - y)) + t_1)); else tmp = Float64(Float64(x - Float64(b * Float64(2.0 - Float64(y + t)))) + t_1); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = a * (1.0 - t); tmp = 0.0; if ((z <= -4.9e+37) || ~((z <= 9e+152))) tmp = x + ((z * (1.0 - y)) + t_1); else tmp = (x - (b * (2.0 - (y + t)))) + t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[z, -4.9e+37], N[Not[LessEqual[z, 9e+152]], $MachinePrecision]], N[(x + N[(N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision], N[(N[(x - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
\mathbf{if}\;z \leq -4.9 \cdot 10^{+37} \lor \neg \left(z \leq 9 \cdot 10^{+152}\right):\\
\;\;\;\;x + \left(z \cdot \left(1 - y\right) + t\_1\right)\\
\mathbf{else}:\\
\;\;\;\;\left(x - b \cdot \left(2 - \left(y + t\right)\right)\right) + t\_1\\
\end{array}
\end{array}
if z < -4.9000000000000004e37 or 9.0000000000000002e152 < z Initial program 95.2%
Taylor expanded in b around 0 83.7%
if -4.9000000000000004e37 < z < 9.0000000000000002e152Initial program 96.5%
Taylor expanded in z around 0 89.2%
Final simplification87.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (- x (* b (- 2.0 (+ y t))))))
(if (<= b -3.7e+93)
t_1
(if (<= b 1.24e-293)
(+ (+ x z) (* a (- 1.0 t)))
(if (<= b 1.15e-23) (+ x (+ a (* z (- 1.0 y)))) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x - (b * (2.0 - (y + t)));
double tmp;
if (b <= -3.7e+93) {
tmp = t_1;
} else if (b <= 1.24e-293) {
tmp = (x + z) + (a * (1.0 - t));
} else if (b <= 1.15e-23) {
tmp = x + (a + (z * (1.0 - y)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = x - (b * (2.0d0 - (y + t)))
if (b <= (-3.7d+93)) then
tmp = t_1
else if (b <= 1.24d-293) then
tmp = (x + z) + (a * (1.0d0 - t))
else if (b <= 1.15d-23) then
tmp = x + (a + (z * (1.0d0 - y)))
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 b) {
double t_1 = x - (b * (2.0 - (y + t)));
double tmp;
if (b <= -3.7e+93) {
tmp = t_1;
} else if (b <= 1.24e-293) {
tmp = (x + z) + (a * (1.0 - t));
} else if (b <= 1.15e-23) {
tmp = x + (a + (z * (1.0 - y)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x - (b * (2.0 - (y + t))) tmp = 0 if b <= -3.7e+93: tmp = t_1 elif b <= 1.24e-293: tmp = (x + z) + (a * (1.0 - t)) elif b <= 1.15e-23: tmp = x + (a + (z * (1.0 - y))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x - Float64(b * Float64(2.0 - Float64(y + t)))) tmp = 0.0 if (b <= -3.7e+93) tmp = t_1; elseif (b <= 1.24e-293) tmp = Float64(Float64(x + z) + Float64(a * Float64(1.0 - t))); elseif (b <= 1.15e-23) tmp = Float64(x + Float64(a + Float64(z * Float64(1.0 - y)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x - (b * (2.0 - (y + t))); tmp = 0.0; if (b <= -3.7e+93) tmp = t_1; elseif (b <= 1.24e-293) tmp = (x + z) + (a * (1.0 - t)); elseif (b <= 1.15e-23) tmp = x + (a + (z * (1.0 - y))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -3.7e+93], t$95$1, If[LessEqual[b, 1.24e-293], N[(N[(x + z), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.15e-23], N[(x + N[(a + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - b \cdot \left(2 - \left(y + t\right)\right)\\
\mathbf{if}\;b \leq -3.7 \cdot 10^{+93}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 1.24 \cdot 10^{-293}:\\
\;\;\;\;\left(x + z\right) + a \cdot \left(1 - t\right)\\
\mathbf{elif}\;b \leq 1.15 \cdot 10^{-23}:\\
\;\;\;\;x + \left(a + z \cdot \left(1 - y\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -3.69999999999999987e93 or 1.15000000000000005e-23 < b Initial program 91.3%
Taylor expanded in z around 0 81.3%
Taylor expanded in a around 0 76.5%
if -3.69999999999999987e93 < b < 1.24000000000000001e-293Initial program 100.0%
Taylor expanded in b around 0 88.9%
Taylor expanded in y around 0 73.6%
associate--r+73.6%
sub-neg73.6%
metadata-eval73.6%
*-commutative73.6%
cancel-sign-sub-inv73.6%
sub-neg73.6%
neg-mul-173.6%
remove-double-neg73.6%
+-commutative73.6%
distribute-neg-in73.6%
metadata-eval73.6%
sub-neg73.6%
*-commutative73.6%
Simplified73.6%
if 1.24000000000000001e-293 < b < 1.15000000000000005e-23Initial program 100.0%
Taylor expanded in b around 0 95.9%
Taylor expanded in t around 0 76.6%
neg-mul-176.6%
+-commutative76.6%
sub-neg76.6%
metadata-eval76.6%
unsub-neg76.6%
Simplified76.6%
Final simplification75.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (- x (* b (- 2.0 (+ y t))))))
(if (<= b -40000000.0)
t_1
(if (<= b 4.4e-288)
(+ x (* a (- 1.0 t)))
(if (<= b 2.45e-26) (- x (* (+ y -1.0) z)) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x - (b * (2.0 - (y + t)));
double tmp;
if (b <= -40000000.0) {
tmp = t_1;
} else if (b <= 4.4e-288) {
tmp = x + (a * (1.0 - t));
} else if (b <= 2.45e-26) {
tmp = x - ((y + -1.0) * z);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = x - (b * (2.0d0 - (y + t)))
if (b <= (-40000000.0d0)) then
tmp = t_1
else if (b <= 4.4d-288) then
tmp = x + (a * (1.0d0 - t))
else if (b <= 2.45d-26) then
tmp = x - ((y + (-1.0d0)) * 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 b) {
double t_1 = x - (b * (2.0 - (y + t)));
double tmp;
if (b <= -40000000.0) {
tmp = t_1;
} else if (b <= 4.4e-288) {
tmp = x + (a * (1.0 - t));
} else if (b <= 2.45e-26) {
tmp = x - ((y + -1.0) * z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x - (b * (2.0 - (y + t))) tmp = 0 if b <= -40000000.0: tmp = t_1 elif b <= 4.4e-288: tmp = x + (a * (1.0 - t)) elif b <= 2.45e-26: tmp = x - ((y + -1.0) * z) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x - Float64(b * Float64(2.0 - Float64(y + t)))) tmp = 0.0 if (b <= -40000000.0) tmp = t_1; elseif (b <= 4.4e-288) tmp = Float64(x + Float64(a * Float64(1.0 - t))); elseif (b <= 2.45e-26) tmp = Float64(x - Float64(Float64(y + -1.0) * z)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x - (b * (2.0 - (y + t))); tmp = 0.0; if (b <= -40000000.0) tmp = t_1; elseif (b <= 4.4e-288) tmp = x + (a * (1.0 - t)); elseif (b <= 2.45e-26) tmp = x - ((y + -1.0) * z); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -40000000.0], t$95$1, If[LessEqual[b, 4.4e-288], N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.45e-26], N[(x - N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - b \cdot \left(2 - \left(y + t\right)\right)\\
\mathbf{if}\;b \leq -40000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 4.4 \cdot 10^{-288}:\\
\;\;\;\;x + a \cdot \left(1 - t\right)\\
\mathbf{elif}\;b \leq 2.45 \cdot 10^{-26}:\\
\;\;\;\;x - \left(y + -1\right) \cdot z\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -4e7 or 2.45e-26 < b Initial program 92.5%
Taylor expanded in z around 0 78.8%
Taylor expanded in a around 0 70.9%
if -4e7 < b < 4.4000000000000003e-288Initial program 100.0%
Taylor expanded in z around 0 73.1%
Taylor expanded in b around 0 67.4%
if 4.4000000000000003e-288 < b < 2.45e-26Initial program 100.0%
Taylor expanded in b around 0 95.9%
Taylor expanded in a around 0 66.7%
Final simplification69.1%
(FPCore (x y z t a b)
:precision binary64
(if (<= t -3.7e+284)
(* t (- a))
(if (<= t -1.55e+65)
(* t b)
(if (<= t 1.24e-132) (+ x a) (if (<= t 7e+16) (+ x z) (* t b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -3.7e+284) {
tmp = t * -a;
} else if (t <= -1.55e+65) {
tmp = t * b;
} else if (t <= 1.24e-132) {
tmp = x + a;
} else if (t <= 7e+16) {
tmp = x + z;
} else {
tmp = t * b;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (t <= (-3.7d+284)) then
tmp = t * -a
else if (t <= (-1.55d+65)) then
tmp = t * b
else if (t <= 1.24d-132) then
tmp = x + a
else if (t <= 7d+16) then
tmp = x + z
else
tmp = t * b
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -3.7e+284) {
tmp = t * -a;
} else if (t <= -1.55e+65) {
tmp = t * b;
} else if (t <= 1.24e-132) {
tmp = x + a;
} else if (t <= 7e+16) {
tmp = x + z;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -3.7e+284: tmp = t * -a elif t <= -1.55e+65: tmp = t * b elif t <= 1.24e-132: tmp = x + a elif t <= 7e+16: tmp = x + z else: tmp = t * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -3.7e+284) tmp = Float64(t * Float64(-a)); elseif (t <= -1.55e+65) tmp = Float64(t * b); elseif (t <= 1.24e-132) tmp = Float64(x + a); elseif (t <= 7e+16) tmp = Float64(x + z); else tmp = Float64(t * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (t <= -3.7e+284) tmp = t * -a; elseif (t <= -1.55e+65) tmp = t * b; elseif (t <= 1.24e-132) tmp = x + a; elseif (t <= 7e+16) tmp = x + z; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -3.7e+284], N[(t * (-a)), $MachinePrecision], If[LessEqual[t, -1.55e+65], N[(t * b), $MachinePrecision], If[LessEqual[t, 1.24e-132], N[(x + a), $MachinePrecision], If[LessEqual[t, 7e+16], N[(x + z), $MachinePrecision], N[(t * b), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.7 \cdot 10^{+284}:\\
\;\;\;\;t \cdot \left(-a\right)\\
\mathbf{elif}\;t \leq -1.55 \cdot 10^{+65}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq 1.24 \cdot 10^{-132}:\\
\;\;\;\;x + a\\
\mathbf{elif}\;t \leq 7 \cdot 10^{+16}:\\
\;\;\;\;x + z\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -3.69999999999999998e284Initial program 87.5%
Taylor expanded in t around inf 87.6%
Taylor expanded in b around 0 75.1%
mul-1-neg75.1%
distribute-lft-neg-out75.1%
*-commutative75.1%
Simplified75.1%
if -3.69999999999999998e284 < t < -1.54999999999999995e65 or 7e16 < t Initial program 94.1%
Taylor expanded in t around inf 73.9%
Taylor expanded in b around inf 45.6%
if -1.54999999999999995e65 < t < 1.24000000000000006e-132Initial program 97.4%
Taylor expanded in z around 0 71.8%
Taylor expanded in t around 0 68.9%
sub-neg68.9%
+-commutative68.9%
sub-neg68.9%
metadata-eval68.9%
neg-mul-168.9%
remove-double-neg68.9%
Simplified68.9%
Taylor expanded in b around 0 38.6%
if 1.24000000000000006e-132 < t < 7e16Initial program 100.0%
Taylor expanded in b around 0 72.2%
Taylor expanded in a around 0 63.8%
Taylor expanded in y around 0 51.4%
cancel-sign-sub-inv51.4%
metadata-eval51.4%
*-lft-identity51.4%
Simplified51.4%
Final simplification44.0%
(FPCore (x y z t a b)
:precision binary64
(if (<= t -9.5e+66)
(* t b)
(if (<= t -2.4e-48)
x
(if (<= t 1.25e-123) a (if (<= t 3.6e-5) x (* t b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -9.5e+66) {
tmp = t * b;
} else if (t <= -2.4e-48) {
tmp = x;
} else if (t <= 1.25e-123) {
tmp = a;
} else if (t <= 3.6e-5) {
tmp = x;
} else {
tmp = t * b;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (t <= (-9.5d+66)) then
tmp = t * b
else if (t <= (-2.4d-48)) then
tmp = x
else if (t <= 1.25d-123) then
tmp = a
else if (t <= 3.6d-5) then
tmp = x
else
tmp = t * b
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -9.5e+66) {
tmp = t * b;
} else if (t <= -2.4e-48) {
tmp = x;
} else if (t <= 1.25e-123) {
tmp = a;
} else if (t <= 3.6e-5) {
tmp = x;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -9.5e+66: tmp = t * b elif t <= -2.4e-48: tmp = x elif t <= 1.25e-123: tmp = a elif t <= 3.6e-5: tmp = x else: tmp = t * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -9.5e+66) tmp = Float64(t * b); elseif (t <= -2.4e-48) tmp = x; elseif (t <= 1.25e-123) tmp = a; elseif (t <= 3.6e-5) tmp = x; else tmp = Float64(t * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (t <= -9.5e+66) tmp = t * b; elseif (t <= -2.4e-48) tmp = x; elseif (t <= 1.25e-123) tmp = a; elseif (t <= 3.6e-5) tmp = x; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -9.5e+66], N[(t * b), $MachinePrecision], If[LessEqual[t, -2.4e-48], x, If[LessEqual[t, 1.25e-123], a, If[LessEqual[t, 3.6e-5], x, N[(t * b), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -9.5 \cdot 10^{+66}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq -2.4 \cdot 10^{-48}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq 1.25 \cdot 10^{-123}:\\
\;\;\;\;a\\
\mathbf{elif}\;t \leq 3.6 \cdot 10^{-5}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -9.50000000000000051e66 or 3.60000000000000009e-5 < t Initial program 93.8%
Taylor expanded in t around inf 73.1%
Taylor expanded in b around inf 42.4%
if -9.50000000000000051e66 < t < -2.4e-48 or 1.25000000000000007e-123 < t < 3.60000000000000009e-5Initial program 100.0%
Taylor expanded in x around inf 35.0%
if -2.4e-48 < t < 1.25000000000000007e-123Initial program 96.9%
Taylor expanded in a around inf 25.5%
Taylor expanded in t around 0 25.5%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -1.35e+94) (not (<= b 2.45e+135))) (- x (* b (- 2.0 (+ y t)))) (+ x (+ (* z (- 1.0 y)) (* a (- 1.0 t))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -1.35e+94) || !(b <= 2.45e+135)) {
tmp = x - (b * (2.0 - (y + t)));
} else {
tmp = x + ((z * (1.0 - y)) + (a * (1.0 - t)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((b <= (-1.35d+94)) .or. (.not. (b <= 2.45d+135))) then
tmp = x - (b * (2.0d0 - (y + t)))
else
tmp = x + ((z * (1.0d0 - y)) + (a * (1.0d0 - t)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -1.35e+94) || !(b <= 2.45e+135)) {
tmp = x - (b * (2.0 - (y + t)));
} else {
tmp = x + ((z * (1.0 - y)) + (a * (1.0 - t)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -1.35e+94) or not (b <= 2.45e+135): tmp = x - (b * (2.0 - (y + t))) else: tmp = x + ((z * (1.0 - y)) + (a * (1.0 - t))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -1.35e+94) || !(b <= 2.45e+135)) tmp = Float64(x - Float64(b * Float64(2.0 - Float64(y + t)))); else tmp = Float64(x + Float64(Float64(z * Float64(1.0 - y)) + Float64(a * Float64(1.0 - t)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((b <= -1.35e+94) || ~((b <= 2.45e+135))) tmp = x - (b * (2.0 - (y + t))); else tmp = x + ((z * (1.0 - y)) + (a * (1.0 - t))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -1.35e+94], N[Not[LessEqual[b, 2.45e+135]], $MachinePrecision]], N[(x - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.35 \cdot 10^{+94} \lor \neg \left(b \leq 2.45 \cdot 10^{+135}\right):\\
\;\;\;\;x - b \cdot \left(2 - \left(y + t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x + \left(z \cdot \left(1 - y\right) + a \cdot \left(1 - t\right)\right)\\
\end{array}
\end{array}
if b < -1.3500000000000001e94 or 2.4500000000000001e135 < b Initial program 87.8%
Taylor expanded in z around 0 83.1%
Taylor expanded in a around 0 85.6%
if -1.3500000000000001e94 < b < 2.4500000000000001e135Initial program 100.0%
Taylor expanded in b around 0 84.9%
Final simplification85.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* (- (+ y t) 2.0) b)))
(if (<= b -32500000.0)
t_1
(if (<= b 3e-288)
(* a (- 1.0 t))
(if (<= b 31000000.0) (- x (* y z)) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -32500000.0) {
tmp = t_1;
} else if (b <= 3e-288) {
tmp = a * (1.0 - t);
} else if (b <= 31000000.0) {
tmp = x - (y * z);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = ((y + t) - 2.0d0) * b
if (b <= (-32500000.0d0)) then
tmp = t_1
else if (b <= 3d-288) then
tmp = a * (1.0d0 - t)
else if (b <= 31000000.0d0) then
tmp = 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 b) {
double t_1 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -32500000.0) {
tmp = t_1;
} else if (b <= 3e-288) {
tmp = a * (1.0 - t);
} else if (b <= 31000000.0) {
tmp = x - (y * z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = ((y + t) - 2.0) * b tmp = 0 if b <= -32500000.0: tmp = t_1 elif b <= 3e-288: tmp = a * (1.0 - t) elif b <= 31000000.0: tmp = x - (y * z) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(Float64(y + t) - 2.0) * b) tmp = 0.0 if (b <= -32500000.0) tmp = t_1; elseif (b <= 3e-288) tmp = Float64(a * Float64(1.0 - t)); elseif (b <= 31000000.0) tmp = Float64(x - Float64(y * z)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = ((y + t) - 2.0) * b; tmp = 0.0; if (b <= -32500000.0) tmp = t_1; elseif (b <= 3e-288) tmp = a * (1.0 - t); elseif (b <= 31000000.0) tmp = x - (y * z); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]}, If[LessEqual[b, -32500000.0], t$95$1, If[LessEqual[b, 3e-288], N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 31000000.0], N[(x - N[(y * z), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{if}\;b \leq -32500000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 3 \cdot 10^{-288}:\\
\;\;\;\;a \cdot \left(1 - t\right)\\
\mathbf{elif}\;b \leq 31000000:\\
\;\;\;\;x - y \cdot z\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -3.25e7 or 3.1e7 < b Initial program 92.2%
Taylor expanded in b around inf 66.1%
if -3.25e7 < b < 2.99999999999999999e-288Initial program 100.0%
Taylor expanded in a around inf 48.8%
if 2.99999999999999999e-288 < b < 3.1e7Initial program 100.0%
Taylor expanded in b around 0 93.0%
Taylor expanded in a around 0 66.4%
Taylor expanded in y around inf 56.2%
Final simplification59.2%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -3.35e+72) (not (<= b 1.15e-23))) (- x (* b (- 2.0 (+ y t)))) (- x (+ (* (+ y -1.0) z) (* t a)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -3.35e+72) || !(b <= 1.15e-23)) {
tmp = x - (b * (2.0 - (y + t)));
} else {
tmp = x - (((y + -1.0) * z) + (t * a));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((b <= (-3.35d+72)) .or. (.not. (b <= 1.15d-23))) then
tmp = x - (b * (2.0d0 - (y + t)))
else
tmp = x - (((y + (-1.0d0)) * z) + (t * a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -3.35e+72) || !(b <= 1.15e-23)) {
tmp = x - (b * (2.0 - (y + t)));
} else {
tmp = x - (((y + -1.0) * z) + (t * a));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -3.35e+72) or not (b <= 1.15e-23): tmp = x - (b * (2.0 - (y + t))) else: tmp = x - (((y + -1.0) * z) + (t * a)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -3.35e+72) || !(b <= 1.15e-23)) tmp = Float64(x - Float64(b * Float64(2.0 - Float64(y + t)))); else tmp = Float64(x - Float64(Float64(Float64(y + -1.0) * z) + Float64(t * a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((b <= -3.35e+72) || ~((b <= 1.15e-23))) tmp = x - (b * (2.0 - (y + t))); else tmp = x - (((y + -1.0) * z) + (t * a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -3.35e+72], N[Not[LessEqual[b, 1.15e-23]], $MachinePrecision]], N[(x - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision] + N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -3.35 \cdot 10^{+72} \lor \neg \left(b \leq 1.15 \cdot 10^{-23}\right):\\
\;\;\;\;x - b \cdot \left(2 - \left(y + t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x - \left(\left(y + -1\right) \cdot z + t \cdot a\right)\\
\end{array}
\end{array}
if b < -3.3499999999999999e72 or 1.15000000000000005e-23 < b Initial program 91.7%
Taylor expanded in z around 0 81.3%
Taylor expanded in a around 0 75.1%
if -3.3499999999999999e72 < b < 1.15000000000000005e-23Initial program 100.0%
Taylor expanded in b around 0 92.6%
Taylor expanded in t around inf 78.0%
*-commutative78.0%
Simplified78.0%
Final simplification76.6%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -1.15e+15)
t_1
(if (<= t 3.3e-134) (+ x a) (if (<= t 6.2e+15) (+ x z) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -1.15e+15) {
tmp = t_1;
} else if (t <= 3.3e-134) {
tmp = x + a;
} else if (t <= 6.2e+15) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = t * (b - a)
if (t <= (-1.15d+15)) then
tmp = t_1
else if (t <= 3.3d-134) then
tmp = x + a
else if (t <= 6.2d+15) then
tmp = x + 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 b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -1.15e+15) {
tmp = t_1;
} else if (t <= 3.3e-134) {
tmp = x + a;
} else if (t <= 6.2e+15) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -1.15e+15: tmp = t_1 elif t <= 3.3e-134: tmp = x + a elif t <= 6.2e+15: tmp = x + z else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(b - a)) tmp = 0.0 if (t <= -1.15e+15) tmp = t_1; elseif (t <= 3.3e-134) tmp = Float64(x + a); elseif (t <= 6.2e+15) tmp = Float64(x + z); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = t * (b - a); tmp = 0.0; if (t <= -1.15e+15) tmp = t_1; elseif (t <= 3.3e-134) tmp = x + a; elseif (t <= 6.2e+15) tmp = x + z; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.15e+15], t$95$1, If[LessEqual[t, 3.3e-134], N[(x + a), $MachinePrecision], If[LessEqual[t, 6.2e+15], N[(x + z), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -1.15 \cdot 10^{+15}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 3.3 \cdot 10^{-134}:\\
\;\;\;\;x + a\\
\mathbf{elif}\;t \leq 6.2 \cdot 10^{+15}:\\
\;\;\;\;x + z\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -1.15e15 or 6.2e15 < t Initial program 94.1%
Taylor expanded in t around inf 71.3%
if -1.15e15 < t < 3.30000000000000019e-134Initial program 97.2%
Taylor expanded in z around 0 73.7%
Taylor expanded in t around 0 73.1%
sub-neg73.1%
+-commutative73.1%
sub-neg73.1%
metadata-eval73.1%
neg-mul-173.1%
remove-double-neg73.1%
Simplified73.1%
Taylor expanded in b around 0 40.9%
if 3.30000000000000019e-134 < t < 6.2e15Initial program 100.0%
Taylor expanded in b around 0 72.2%
Taylor expanded in a around 0 63.8%
Taylor expanded in y around 0 51.4%
cancel-sign-sub-inv51.4%
metadata-eval51.4%
*-lft-identity51.4%
Simplified51.4%
Final simplification56.3%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -3.8e+93) (not (<= b 2.5e-32))) (- x (* b (- 2.0 (+ y t)))) (+ (+ x z) (* a (- 1.0 t)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -3.8e+93) || !(b <= 2.5e-32)) {
tmp = x - (b * (2.0 - (y + t)));
} else {
tmp = (x + z) + (a * (1.0 - t));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((b <= (-3.8d+93)) .or. (.not. (b <= 2.5d-32))) then
tmp = x - (b * (2.0d0 - (y + t)))
else
tmp = (x + z) + (a * (1.0d0 - t))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -3.8e+93) || !(b <= 2.5e-32)) {
tmp = x - (b * (2.0 - (y + t)));
} else {
tmp = (x + z) + (a * (1.0 - t));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -3.8e+93) or not (b <= 2.5e-32): tmp = x - (b * (2.0 - (y + t))) else: tmp = (x + z) + (a * (1.0 - t)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -3.8e+93) || !(b <= 2.5e-32)) tmp = Float64(x - Float64(b * Float64(2.0 - Float64(y + t)))); else tmp = Float64(Float64(x + z) + Float64(a * Float64(1.0 - t))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((b <= -3.8e+93) || ~((b <= 2.5e-32))) tmp = x - (b * (2.0 - (y + t))); else tmp = (x + z) + (a * (1.0 - t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -3.8e+93], N[Not[LessEqual[b, 2.5e-32]], $MachinePrecision]], N[(x - N[(b * N[(2.0 - N[(y + t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x + z), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -3.8 \cdot 10^{+93} \lor \neg \left(b \leq 2.5 \cdot 10^{-32}\right):\\
\;\;\;\;x - b \cdot \left(2 - \left(y + t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(x + z\right) + a \cdot \left(1 - t\right)\\
\end{array}
\end{array}
if b < -3.7999999999999998e93 or 2.5e-32 < b Initial program 91.5%
Taylor expanded in z around 0 80.9%
Taylor expanded in a around 0 76.3%
if -3.7999999999999998e93 < b < 2.5e-32Initial program 100.0%
Taylor expanded in b around 0 92.0%
Taylor expanded in y around 0 71.4%
associate--r+71.4%
sub-neg71.4%
metadata-eval71.4%
*-commutative71.4%
cancel-sign-sub-inv71.4%
sub-neg71.4%
neg-mul-171.4%
remove-double-neg71.4%
+-commutative71.4%
distribute-neg-in71.4%
metadata-eval71.4%
sub-neg71.4%
*-commutative71.4%
Simplified71.4%
Final simplification73.6%
(FPCore (x y z t a b) :precision binary64 (if (<= t -1e+67) (* t b) (if (<= t 6.6e-132) (+ x a) (if (<= t 3e+18) (+ x z) (* t b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -1e+67) {
tmp = t * b;
} else if (t <= 6.6e-132) {
tmp = x + a;
} else if (t <= 3e+18) {
tmp = x + z;
} else {
tmp = t * b;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (t <= (-1d+67)) then
tmp = t * b
else if (t <= 6.6d-132) then
tmp = x + a
else if (t <= 3d+18) then
tmp = x + z
else
tmp = t * b
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -1e+67) {
tmp = t * b;
} else if (t <= 6.6e-132) {
tmp = x + a;
} else if (t <= 3e+18) {
tmp = x + z;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -1e+67: tmp = t * b elif t <= 6.6e-132: tmp = x + a elif t <= 3e+18: tmp = x + z else: tmp = t * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -1e+67) tmp = Float64(t * b); elseif (t <= 6.6e-132) tmp = Float64(x + a); elseif (t <= 3e+18) tmp = Float64(x + z); else tmp = Float64(t * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (t <= -1e+67) tmp = t * b; elseif (t <= 6.6e-132) tmp = x + a; elseif (t <= 3e+18) tmp = x + z; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -1e+67], N[(t * b), $MachinePrecision], If[LessEqual[t, 6.6e-132], N[(x + a), $MachinePrecision], If[LessEqual[t, 3e+18], N[(x + z), $MachinePrecision], N[(t * b), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1 \cdot 10^{+67}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq 6.6 \cdot 10^{-132}:\\
\;\;\;\;x + a\\
\mathbf{elif}\;t \leq 3 \cdot 10^{+18}:\\
\;\;\;\;x + z\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -9.99999999999999983e66 or 3e18 < t Initial program 93.6%
Taylor expanded in t around inf 74.9%
Taylor expanded in b around inf 43.4%
if -9.99999999999999983e66 < t < 6.5999999999999994e-132Initial program 97.4%
Taylor expanded in z around 0 71.8%
Taylor expanded in t around 0 68.9%
sub-neg68.9%
+-commutative68.9%
sub-neg68.9%
metadata-eval68.9%
neg-mul-168.9%
remove-double-neg68.9%
Simplified68.9%
Taylor expanded in b around 0 38.6%
if 6.5999999999999994e-132 < t < 3e18Initial program 100.0%
Taylor expanded in b around 0 72.2%
Taylor expanded in a around 0 63.8%
Taylor expanded in y around 0 51.4%
cancel-sign-sub-inv51.4%
metadata-eval51.4%
*-lft-identity51.4%
Simplified51.4%
Final simplification42.1%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -3.1e+72) (not (<= b 1.3e-29))) (* (- (+ y t) 2.0) b) (+ x (* a (- 1.0 t)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -3.1e+72) || !(b <= 1.3e-29)) {
tmp = ((y + t) - 2.0) * b;
} else {
tmp = x + (a * (1.0 - t));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((b <= (-3.1d+72)) .or. (.not. (b <= 1.3d-29))) then
tmp = ((y + t) - 2.0d0) * b
else
tmp = x + (a * (1.0d0 - t))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -3.1e+72) || !(b <= 1.3e-29)) {
tmp = ((y + t) - 2.0) * b;
} else {
tmp = x + (a * (1.0 - t));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -3.1e+72) or not (b <= 1.3e-29): tmp = ((y + t) - 2.0) * b else: tmp = x + (a * (1.0 - t)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -3.1e+72) || !(b <= 1.3e-29)) tmp = Float64(Float64(Float64(y + t) - 2.0) * b); else tmp = Float64(x + Float64(a * Float64(1.0 - t))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((b <= -3.1e+72) || ~((b <= 1.3e-29))) tmp = ((y + t) - 2.0) * b; else tmp = x + (a * (1.0 - t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -3.1e+72], N[Not[LessEqual[b, 1.3e-29]], $MachinePrecision]], N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision], N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -3.1 \cdot 10^{+72} \lor \neg \left(b \leq 1.3 \cdot 10^{-29}\right):\\
\;\;\;\;\left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;x + a \cdot \left(1 - t\right)\\
\end{array}
\end{array}
if b < -3.09999999999999988e72 or 1.3000000000000001e-29 < b Initial program 91.8%
Taylor expanded in b around inf 69.2%
if -3.09999999999999988e72 < b < 1.3000000000000001e-29Initial program 100.0%
Taylor expanded in z around 0 65.9%
Taylor expanded in b around 0 59.4%
Final simplification64.1%
(FPCore (x y z t a b) :precision binary64 (if (or (<= a -2.15e+46) (not (<= a 1.45e+45))) (* a (- 1.0 t)) (+ x z)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((a <= -2.15e+46) || !(a <= 1.45e+45)) {
tmp = a * (1.0 - t);
} else {
tmp = x + z;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((a <= (-2.15d+46)) .or. (.not. (a <= 1.45d+45))) then
tmp = a * (1.0d0 - t)
else
tmp = x + z
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((a <= -2.15e+46) || !(a <= 1.45e+45)) {
tmp = a * (1.0 - t);
} else {
tmp = x + z;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (a <= -2.15e+46) or not (a <= 1.45e+45): tmp = a * (1.0 - t) else: tmp = x + z return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((a <= -2.15e+46) || !(a <= 1.45e+45)) tmp = Float64(a * Float64(1.0 - t)); else tmp = Float64(x + z); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((a <= -2.15e+46) || ~((a <= 1.45e+45))) tmp = a * (1.0 - t); else tmp = x + z; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[a, -2.15e+46], N[Not[LessEqual[a, 1.45e+45]], $MachinePrecision]], N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision], N[(x + z), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -2.15 \cdot 10^{+46} \lor \neg \left(a \leq 1.45 \cdot 10^{+45}\right):\\
\;\;\;\;a \cdot \left(1 - t\right)\\
\mathbf{else}:\\
\;\;\;\;x + z\\
\end{array}
\end{array}
if a < -2.15000000000000002e46 or 1.4499999999999999e45 < a Initial program 93.3%
Taylor expanded in a around inf 57.4%
if -2.15000000000000002e46 < a < 1.4499999999999999e45Initial program 98.0%
Taylor expanded in b around 0 57.4%
Taylor expanded in a around 0 51.1%
Taylor expanded in y around 0 32.0%
cancel-sign-sub-inv32.0%
metadata-eval32.0%
*-lft-identity32.0%
Simplified32.0%
Final simplification42.3%
(FPCore (x y z t a b) :precision binary64 (if (or (<= t -3.3e+61) (not (<= t 330000000.0))) (* t b) (+ x a)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((t <= -3.3e+61) || !(t <= 330000000.0)) {
tmp = t * b;
} else {
tmp = x + a;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((t <= (-3.3d+61)) .or. (.not. (t <= 330000000.0d0))) then
tmp = t * b
else
tmp = x + a
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((t <= -3.3e+61) || !(t <= 330000000.0)) {
tmp = t * b;
} else {
tmp = x + a;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (t <= -3.3e+61) or not (t <= 330000000.0): tmp = t * b else: tmp = x + a return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((t <= -3.3e+61) || !(t <= 330000000.0)) tmp = Float64(t * b); else tmp = Float64(x + a); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((t <= -3.3e+61) || ~((t <= 330000000.0))) tmp = t * b; else tmp = x + a; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[t, -3.3e+61], N[Not[LessEqual[t, 330000000.0]], $MachinePrecision]], N[(t * b), $MachinePrecision], N[(x + a), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.3 \cdot 10^{+61} \lor \neg \left(t \leq 330000000\right):\\
\;\;\;\;t \cdot b\\
\mathbf{else}:\\
\;\;\;\;x + a\\
\end{array}
\end{array}
if t < -3.2999999999999998e61 or 3.3e8 < t Initial program 93.7%
Taylor expanded in t around inf 74.4%
Taylor expanded in b around inf 43.2%
if -3.2999999999999998e61 < t < 3.3e8Initial program 97.9%
Taylor expanded in z around 0 69.4%
Taylor expanded in t around 0 67.1%
sub-neg67.1%
+-commutative67.1%
sub-neg67.1%
metadata-eval67.1%
neg-mul-167.1%
remove-double-neg67.1%
Simplified67.1%
Taylor expanded in b around 0 37.8%
Final simplification40.1%
(FPCore (x y z t a b) :precision binary64 (if (<= x -7e+106) x (if (<= x 1.45e+162) a x)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (x <= -7e+106) {
tmp = x;
} else if (x <= 1.45e+162) {
tmp = a;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (x <= (-7d+106)) then
tmp = x
else if (x <= 1.45d+162) then
tmp = a
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (x <= -7e+106) {
tmp = x;
} else if (x <= 1.45e+162) {
tmp = a;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if x <= -7e+106: tmp = x elif x <= 1.45e+162: tmp = a else: tmp = x return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (x <= -7e+106) tmp = x; elseif (x <= 1.45e+162) tmp = a; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (x <= -7e+106) tmp = x; elseif (x <= 1.45e+162) tmp = a; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[x, -7e+106], x, If[LessEqual[x, 1.45e+162], a, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -7 \cdot 10^{+106}:\\
\;\;\;\;x\\
\mathbf{elif}\;x \leq 1.45 \cdot 10^{+162}:\\
\;\;\;\;a\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -6.99999999999999962e106 or 1.45000000000000003e162 < x Initial program 97.4%
Taylor expanded in x around inf 38.1%
if -6.99999999999999962e106 < x < 1.45000000000000003e162Initial program 95.5%
Taylor expanded in a around inf 31.2%
Taylor expanded in t around 0 16.5%
(FPCore (x y z t a b) :precision binary64 a)
double code(double x, double y, double z, double t, double a, double b) {
return a;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = a
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return a;
}
def code(x, y, z, t, a, b): return a
function code(x, y, z, t, a, b) return a end
function tmp = code(x, y, z, t, a, b) tmp = a; end
code[x_, y_, z_, t_, a_, b_] := a
\begin{array}{l}
\\
a
\end{array}
Initial program 96.1%
Taylor expanded in a around inf 28.2%
Taylor expanded in t around 0 12.5%
herbie shell --seed 2024139
(FPCore (x y z t a b)
:name "Statistics.Distribution.Beta:$centropy from math-functions-0.1.5.2"
:precision binary64
(+ (- (- x (* (- y 1.0) z)) (* (- t 1.0) a)) (* (- (+ y t) 2.0) b)))