
(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 21 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
(let* ((t_1 (* a (- 1.0 t))) (t_2 (+ x (* z (- 1.0 y)))))
(if (<= (+ (+ t_2 t_1) (* (- (+ y t) 2.0) b)) INFINITY)
(+ t_2 (+ (* b (+ t (+ y -2.0))) t_1))
(* y (+ (- b z) (* b (/ (+ t -2.0) y)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (1.0 - t);
double t_2 = x + (z * (1.0 - y));
double tmp;
if (((t_2 + t_1) + (((y + t) - 2.0) * b)) <= ((double) INFINITY)) {
tmp = t_2 + ((b * (t + (y + -2.0))) + t_1);
} else {
tmp = y * ((b - z) + (b * ((t + -2.0) / y)));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (1.0 - t);
double t_2 = x + (z * (1.0 - y));
double tmp;
if (((t_2 + t_1) + (((y + t) - 2.0) * b)) <= Double.POSITIVE_INFINITY) {
tmp = t_2 + ((b * (t + (y + -2.0))) + t_1);
} else {
tmp = y * ((b - z) + (b * ((t + -2.0) / y)));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (1.0 - t) t_2 = x + (z * (1.0 - y)) tmp = 0 if ((t_2 + t_1) + (((y + t) - 2.0) * b)) <= math.inf: tmp = t_2 + ((b * (t + (y + -2.0))) + t_1) else: tmp = y * ((b - z) + (b * ((t + -2.0) / y))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(a * Float64(1.0 - t)) t_2 = Float64(x + Float64(z * Float64(1.0 - y))) tmp = 0.0 if (Float64(Float64(t_2 + t_1) + Float64(Float64(Float64(y + t) - 2.0) * b)) <= Inf) tmp = Float64(t_2 + Float64(Float64(b * Float64(t + Float64(y + -2.0))) + t_1)); else tmp = Float64(y * Float64(Float64(b - z) + Float64(b * Float64(Float64(t + -2.0) / y)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = a * (1.0 - t); t_2 = x + (z * (1.0 - y)); tmp = 0.0; if (((t_2 + t_1) + (((y + t) - 2.0) * b)) <= Inf) tmp = t_2 + ((b * (t + (y + -2.0))) + t_1); else tmp = y * ((b - z) + (b * ((t + -2.0) / y))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(N[(t$95$2 + t$95$1), $MachinePrecision] + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision], Infinity], N[(t$95$2 + N[(N[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision], N[(y * N[(N[(b - z), $MachinePrecision] + N[(b * N[(N[(t + -2.0), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
t_2 := x + z \cdot \left(1 - y\right)\\
\mathbf{if}\;\left(t\_2 + t\_1\right) + \left(\left(y + t\right) - 2\right) \cdot b \leq \infty:\\
\;\;\;\;t\_2 + \left(b \cdot \left(t + \left(y + -2\right)\right) + t\_1\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(\left(b - z\right) + b \cdot \frac{t + -2}{y}\right)\\
\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%
associate-+l-100.0%
sub-neg100.0%
metadata-eval100.0%
*-commutative100.0%
sub-neg100.0%
metadata-eval100.0%
sub-neg100.0%
metadata-eval100.0%
associate-+r+100.0%
+-commutative100.0%
associate-+l+100.0%
Applied egg-rr100.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 y around inf 17.6%
mul-1-neg17.6%
*-commutative17.6%
distribute-rgt-neg-in17.6%
Simplified17.6%
Taylor expanded in y around inf 64.7%
associate-+r+64.7%
mul-1-neg64.7%
sub-neg64.7%
sub-neg64.7%
metadata-eval64.7%
associate-/l*70.6%
Simplified70.6%
Final simplification98.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1
(+ (+ (+ x (* z (- 1.0 y))) (* a (- 1.0 t))) (* (- (+ y t) 2.0) b))))
(if (<= t_1 INFINITY) t_1 (* y (+ (- b z) (* b (/ (+ t -2.0) y)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((x + (z * (1.0 - y))) + (a * (1.0 - t))) + (((y + t) - 2.0) * b);
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = y * ((b - z) + (b * ((t + -2.0) / y)));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = ((x + (z * (1.0 - y))) + (a * (1.0 - t))) + (((y + t) - 2.0) * b);
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = y * ((b - z) + (b * ((t + -2.0) / y)));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = ((x + (z * (1.0 - y))) + (a * (1.0 - t))) + (((y + t) - 2.0) * b) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = y * ((b - z) + (b * ((t + -2.0) / y))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(Float64(x + Float64(z * Float64(1.0 - y))) + Float64(a * Float64(1.0 - t))) + Float64(Float64(Float64(y + t) - 2.0) * b)) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(y * Float64(Float64(b - z) + Float64(b * Float64(Float64(t + -2.0) / y)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = ((x + (z * (1.0 - y))) + (a * (1.0 - t))) + (((y + t) - 2.0) * b); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = y * ((b - z) + (b * ((t + -2.0) / y))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(N[(x + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(y * N[(N[(b - z), $MachinePrecision] + N[(b * N[(N[(t + -2.0), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(x + z \cdot \left(1 - y\right)\right) + a \cdot \left(1 - t\right)\right) + \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{if}\;t\_1 \leq \infty:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(\left(b - z\right) + b \cdot \frac{t + -2}{y}\right)\\
\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 y around inf 17.6%
mul-1-neg17.6%
*-commutative17.6%
distribute-rgt-neg-in17.6%
Simplified17.6%
Taylor expanded in y around inf 64.7%
associate-+r+64.7%
mul-1-neg64.7%
sub-neg64.7%
sub-neg64.7%
metadata-eval64.7%
associate-/l*70.6%
Simplified70.6%
Final simplification98.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* a (- 1.0 t))))
(if (<= b -8.2e+145)
(* (- (+ y t) 2.0) b)
(if (<= b -4100000.0)
(- (+ x (* z (- 1.0 y))) (* t (- a b)))
(if (<= b 3.6e+122)
(- x (- (* (+ y -1.0) z) t_1))
(+ x (+ (* b (+ t (+ y -2.0))) 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 (b <= -8.2e+145) {
tmp = ((y + t) - 2.0) * b;
} else if (b <= -4100000.0) {
tmp = (x + (z * (1.0 - y))) - (t * (a - b));
} else if (b <= 3.6e+122) {
tmp = x - (((y + -1.0) * z) - t_1);
} else {
tmp = x + ((b * (t + (y + -2.0))) + 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 (b <= (-8.2d+145)) then
tmp = ((y + t) - 2.0d0) * b
else if (b <= (-4100000.0d0)) then
tmp = (x + (z * (1.0d0 - y))) - (t * (a - b))
else if (b <= 3.6d+122) then
tmp = x - (((y + (-1.0d0)) * z) - t_1)
else
tmp = x + ((b * (t + (y + (-2.0d0)))) + 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 (b <= -8.2e+145) {
tmp = ((y + t) - 2.0) * b;
} else if (b <= -4100000.0) {
tmp = (x + (z * (1.0 - y))) - (t * (a - b));
} else if (b <= 3.6e+122) {
tmp = x - (((y + -1.0) * z) - t_1);
} else {
tmp = x + ((b * (t + (y + -2.0))) + t_1);
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (1.0 - t) tmp = 0 if b <= -8.2e+145: tmp = ((y + t) - 2.0) * b elif b <= -4100000.0: tmp = (x + (z * (1.0 - y))) - (t * (a - b)) elif b <= 3.6e+122: tmp = x - (((y + -1.0) * z) - t_1) else: tmp = x + ((b * (t + (y + -2.0))) + t_1) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(a * Float64(1.0 - t)) tmp = 0.0 if (b <= -8.2e+145) tmp = Float64(Float64(Float64(y + t) - 2.0) * b); elseif (b <= -4100000.0) tmp = Float64(Float64(x + Float64(z * Float64(1.0 - y))) - Float64(t * Float64(a - b))); elseif (b <= 3.6e+122) tmp = Float64(x - Float64(Float64(Float64(y + -1.0) * z) - t_1)); else tmp = Float64(x + Float64(Float64(b * Float64(t + Float64(y + -2.0))) + 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 (b <= -8.2e+145) tmp = ((y + t) - 2.0) * b; elseif (b <= -4100000.0) tmp = (x + (z * (1.0 - y))) - (t * (a - b)); elseif (b <= 3.6e+122) tmp = x - (((y + -1.0) * z) - t_1); else tmp = x + ((b * (t + (y + -2.0))) + 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[LessEqual[b, -8.2e+145], N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision], If[LessEqual[b, -4100000.0], N[(N[(x + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t * N[(a - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 3.6e+122], N[(x - N[(N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision] - t$95$1), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
\mathbf{if}\;b \leq -8.2 \cdot 10^{+145}:\\
\;\;\;\;\left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{elif}\;b \leq -4100000:\\
\;\;\;\;\left(x + z \cdot \left(1 - y\right)\right) - t \cdot \left(a - b\right)\\
\mathbf{elif}\;b \leq 3.6 \cdot 10^{+122}:\\
\;\;\;\;x - \left(\left(y + -1\right) \cdot z - t\_1\right)\\
\mathbf{else}:\\
\;\;\;\;x + \left(b \cdot \left(t + \left(y + -2\right)\right) + t\_1\right)\\
\end{array}
\end{array}
if b < -8.2000000000000003e145Initial program 84.8%
Taylor expanded in b around inf 94.0%
if -8.2000000000000003e145 < b < -4.1e6Initial program 90.0%
associate-+l-90.0%
sub-neg90.0%
metadata-eval90.0%
*-commutative90.0%
sub-neg90.0%
metadata-eval90.0%
sub-neg90.0%
metadata-eval90.0%
associate-+r+90.0%
+-commutative90.0%
associate-+l+90.0%
Applied egg-rr90.0%
Taylor expanded in t around inf 83.7%
if -4.1e6 < b < 3.6000000000000003e122Initial program 97.4%
Taylor expanded in b around 0 90.9%
if 3.6000000000000003e122 < b Initial program 86.1%
associate-+l-86.1%
sub-neg86.1%
metadata-eval86.1%
*-commutative86.1%
sub-neg86.1%
metadata-eval86.1%
sub-neg86.1%
metadata-eval86.1%
associate-+r+86.1%
+-commutative86.1%
associate-+l+86.1%
Applied egg-rr86.1%
Taylor expanded in z around 0 97.2%
associate--l+97.2%
sub-neg97.2%
metadata-eval97.2%
associate-+r+97.2%
sub-neg97.2%
metadata-eval97.2%
+-commutative97.2%
Simplified97.2%
Final simplification91.3%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- a))))
(if (<= t -6.8e+101)
t_1
(if (<= t -0.00044)
(* z (- y))
(if (<= t 6.2e+37)
(+ x a)
(if (or (<= t 2.65e+97) (not (<= t 1.52e+196))) t_1 (* t b)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * -a;
double tmp;
if (t <= -6.8e+101) {
tmp = t_1;
} else if (t <= -0.00044) {
tmp = z * -y;
} else if (t <= 6.2e+37) {
tmp = x + a;
} else if ((t <= 2.65e+97) || !(t <= 1.52e+196)) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = t * -a
if (t <= (-6.8d+101)) then
tmp = t_1
else if (t <= (-0.00044d0)) then
tmp = z * -y
else if (t <= 6.2d+37) then
tmp = x + a
else if ((t <= 2.65d+97) .or. (.not. (t <= 1.52d+196))) then
tmp = t_1
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 t_1 = t * -a;
double tmp;
if (t <= -6.8e+101) {
tmp = t_1;
} else if (t <= -0.00044) {
tmp = z * -y;
} else if (t <= 6.2e+37) {
tmp = x + a;
} else if ((t <= 2.65e+97) || !(t <= 1.52e+196)) {
tmp = t_1;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * -a tmp = 0 if t <= -6.8e+101: tmp = t_1 elif t <= -0.00044: tmp = z * -y elif t <= 6.2e+37: tmp = x + a elif (t <= 2.65e+97) or not (t <= 1.52e+196): tmp = t_1 else: tmp = t * b return tmp
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(-a)) tmp = 0.0 if (t <= -6.8e+101) tmp = t_1; elseif (t <= -0.00044) tmp = Float64(z * Float64(-y)); elseif (t <= 6.2e+37) tmp = Float64(x + a); elseif ((t <= 2.65e+97) || !(t <= 1.52e+196)) tmp = t_1; else tmp = Float64(t * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = t * -a; tmp = 0.0; if (t <= -6.8e+101) tmp = t_1; elseif (t <= -0.00044) tmp = z * -y; elseif (t <= 6.2e+37) tmp = x + a; elseif ((t <= 2.65e+97) || ~((t <= 1.52e+196))) tmp = t_1; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * (-a)), $MachinePrecision]}, If[LessEqual[t, -6.8e+101], t$95$1, If[LessEqual[t, -0.00044], N[(z * (-y)), $MachinePrecision], If[LessEqual[t, 6.2e+37], N[(x + a), $MachinePrecision], If[Or[LessEqual[t, 2.65e+97], N[Not[LessEqual[t, 1.52e+196]], $MachinePrecision]], t$95$1, N[(t * b), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(-a\right)\\
\mathbf{if}\;t \leq -6.8 \cdot 10^{+101}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -0.00044:\\
\;\;\;\;z \cdot \left(-y\right)\\
\mathbf{elif}\;t \leq 6.2 \cdot 10^{+37}:\\
\;\;\;\;x + a\\
\mathbf{elif}\;t \leq 2.65 \cdot 10^{+97} \lor \neg \left(t \leq 1.52 \cdot 10^{+196}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -6.80000000000000034e101 or 6.2000000000000004e37 < t < 2.6500000000000001e97 or 1.52e196 < t Initial program 87.2%
Taylor expanded in t around inf 72.5%
Taylor expanded in b around 0 50.6%
associate-*r*50.6%
neg-mul-150.6%
Simplified50.6%
if -6.80000000000000034e101 < t < -4.40000000000000016e-4Initial program 76.9%
Taylor expanded in z around inf 62.0%
Taylor expanded in y around inf 54.9%
mul-1-neg54.9%
*-commutative54.9%
distribute-rgt-neg-in54.9%
Simplified54.9%
if -4.40000000000000016e-4 < t < 6.2000000000000004e37Initial program 98.6%
associate-+l-98.6%
sub-neg98.6%
metadata-eval98.6%
*-commutative98.6%
sub-neg98.6%
metadata-eval98.6%
sub-neg98.6%
metadata-eval98.6%
associate-+r+98.6%
+-commutative98.6%
associate-+l+98.6%
Applied egg-rr98.6%
Taylor expanded in z around 0 71.3%
associate--l+71.3%
sub-neg71.3%
metadata-eval71.3%
associate-+r+71.3%
sub-neg71.3%
metadata-eval71.3%
+-commutative71.3%
Simplified71.3%
Taylor expanded in b around 0 40.9%
Taylor expanded in t around 0 39.5%
cancel-sign-sub-inv39.5%
metadata-eval39.5%
*-lft-identity39.5%
+-commutative39.5%
Simplified39.5%
if 2.6500000000000001e97 < t < 1.52e196Initial program 91.3%
Taylor expanded in t around inf 78.7%
Taylor expanded in b around inf 61.8%
*-commutative61.8%
Simplified61.8%
Final simplification45.6%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* (- (+ y t) 2.0) b)))
(if (<= b -1.3e+146)
t_1
(if (<= b -5500000000.0)
(- (+ x (* z (- 1.0 y))) (* t (- a b)))
(if (<= b 3.7e+130) (- x (- (* (+ y -1.0) z) (* a (- 1.0 t)))) 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 <= -1.3e+146) {
tmp = t_1;
} else if (b <= -5500000000.0) {
tmp = (x + (z * (1.0 - y))) - (t * (a - b));
} else if (b <= 3.7e+130) {
tmp = x - (((y + -1.0) * z) - (a * (1.0 - t)));
} 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 <= (-1.3d+146)) then
tmp = t_1
else if (b <= (-5500000000.0d0)) then
tmp = (x + (z * (1.0d0 - y))) - (t * (a - b))
else if (b <= 3.7d+130) then
tmp = x - (((y + (-1.0d0)) * z) - (a * (1.0d0 - 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 b) {
double t_1 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -1.3e+146) {
tmp = t_1;
} else if (b <= -5500000000.0) {
tmp = (x + (z * (1.0 - y))) - (t * (a - b));
} else if (b <= 3.7e+130) {
tmp = x - (((y + -1.0) * z) - (a * (1.0 - t)));
} 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 <= -1.3e+146: tmp = t_1 elif b <= -5500000000.0: tmp = (x + (z * (1.0 - y))) - (t * (a - b)) elif b <= 3.7e+130: tmp = x - (((y + -1.0) * z) - (a * (1.0 - t))) 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 <= -1.3e+146) tmp = t_1; elseif (b <= -5500000000.0) tmp = Float64(Float64(x + Float64(z * Float64(1.0 - y))) - Float64(t * Float64(a - b))); elseif (b <= 3.7e+130) tmp = Float64(x - Float64(Float64(Float64(y + -1.0) * z) - Float64(a * Float64(1.0 - t)))); 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 <= -1.3e+146) tmp = t_1; elseif (b <= -5500000000.0) tmp = (x + (z * (1.0 - y))) - (t * (a - b)); elseif (b <= 3.7e+130) tmp = x - (((y + -1.0) * z) - (a * (1.0 - t))); 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, -1.3e+146], t$95$1, If[LessEqual[b, -5500000000.0], N[(N[(x + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t * N[(a - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 3.7e+130], N[(x - N[(N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision] - N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $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 -1.3 \cdot 10^{+146}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -5500000000:\\
\;\;\;\;\left(x + z \cdot \left(1 - y\right)\right) - t \cdot \left(a - b\right)\\
\mathbf{elif}\;b \leq 3.7 \cdot 10^{+130}:\\
\;\;\;\;x - \left(\left(y + -1\right) \cdot z - a \cdot \left(1 - t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1.30000000000000007e146 or 3.7000000000000001e130 < b Initial program 85.3%
Taylor expanded in b around inf 93.9%
if -1.30000000000000007e146 < b < -5.5e9Initial program 90.0%
associate-+l-90.0%
sub-neg90.0%
metadata-eval90.0%
*-commutative90.0%
sub-neg90.0%
metadata-eval90.0%
sub-neg90.0%
metadata-eval90.0%
associate-+r+90.0%
+-commutative90.0%
associate-+l+90.0%
Applied egg-rr90.0%
Taylor expanded in t around inf 83.7%
if -5.5e9 < b < 3.7000000000000001e130Initial program 97.4%
Taylor expanded in b around 0 90.9%
Final simplification90.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* a (- 1.0 t))))
(if (<= b -1.2e-25)
(+ (+ x (* (- (+ y t) 2.0) b)) (* z (- 1.0 y)))
(if (<= b 3.6e+122)
(- x (- (* (+ y -1.0) z) t_1))
(+ x (+ (* b (+ t (+ y -2.0))) 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 (b <= -1.2e-25) {
tmp = (x + (((y + t) - 2.0) * b)) + (z * (1.0 - y));
} else if (b <= 3.6e+122) {
tmp = x - (((y + -1.0) * z) - t_1);
} else {
tmp = x + ((b * (t + (y + -2.0))) + 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 (b <= (-1.2d-25)) then
tmp = (x + (((y + t) - 2.0d0) * b)) + (z * (1.0d0 - y))
else if (b <= 3.6d+122) then
tmp = x - (((y + (-1.0d0)) * z) - t_1)
else
tmp = x + ((b * (t + (y + (-2.0d0)))) + 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 (b <= -1.2e-25) {
tmp = (x + (((y + t) - 2.0) * b)) + (z * (1.0 - y));
} else if (b <= 3.6e+122) {
tmp = x - (((y + -1.0) * z) - t_1);
} else {
tmp = x + ((b * (t + (y + -2.0))) + t_1);
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (1.0 - t) tmp = 0 if b <= -1.2e-25: tmp = (x + (((y + t) - 2.0) * b)) + (z * (1.0 - y)) elif b <= 3.6e+122: tmp = x - (((y + -1.0) * z) - t_1) else: tmp = x + ((b * (t + (y + -2.0))) + t_1) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(a * Float64(1.0 - t)) tmp = 0.0 if (b <= -1.2e-25) tmp = Float64(Float64(x + Float64(Float64(Float64(y + t) - 2.0) * b)) + Float64(z * Float64(1.0 - y))); elseif (b <= 3.6e+122) tmp = Float64(x - Float64(Float64(Float64(y + -1.0) * z) - t_1)); else tmp = Float64(x + Float64(Float64(b * Float64(t + Float64(y + -2.0))) + 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 (b <= -1.2e-25) tmp = (x + (((y + t) - 2.0) * b)) + (z * (1.0 - y)); elseif (b <= 3.6e+122) tmp = x - (((y + -1.0) * z) - t_1); else tmp = x + ((b * (t + (y + -2.0))) + 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[LessEqual[b, -1.2e-25], N[(N[(x + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision] + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 3.6e+122], N[(x - N[(N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision] - t$95$1), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
\mathbf{if}\;b \leq -1.2 \cdot 10^{-25}:\\
\;\;\;\;\left(x + \left(\left(y + t\right) - 2\right) \cdot b\right) + z \cdot \left(1 - y\right)\\
\mathbf{elif}\;b \leq 3.6 \cdot 10^{+122}:\\
\;\;\;\;x - \left(\left(y + -1\right) \cdot z - t\_1\right)\\
\mathbf{else}:\\
\;\;\;\;x + \left(b \cdot \left(t + \left(y + -2\right)\right) + t\_1\right)\\
\end{array}
\end{array}
if b < -1.20000000000000005e-25Initial program 88.1%
Taylor expanded in a around 0 83.9%
if -1.20000000000000005e-25 < b < 3.6000000000000003e122Initial program 97.4%
Taylor expanded in b around 0 91.9%
if 3.6000000000000003e122 < b Initial program 86.1%
associate-+l-86.1%
sub-neg86.1%
metadata-eval86.1%
*-commutative86.1%
sub-neg86.1%
metadata-eval86.1%
sub-neg86.1%
metadata-eval86.1%
associate-+r+86.1%
+-commutative86.1%
associate-+l+86.1%
Applied egg-rr86.1%
Taylor expanded in z around 0 97.2%
associate--l+97.2%
sub-neg97.2%
metadata-eval97.2%
associate-+r+97.2%
sub-neg97.2%
metadata-eval97.2%
+-commutative97.2%
Simplified97.2%
Final simplification90.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ (+ x z) (* t (- b a)))))
(if (<= t -2e+94)
t_1
(if (<= t -0.098)
(* y (- b z))
(if (<= t 250.0) (+ a (+ x (* b (- y 2.0)))) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x + z) + (t * (b - a));
double tmp;
if (t <= -2e+94) {
tmp = t_1;
} else if (t <= -0.098) {
tmp = y * (b - z);
} else if (t <= 250.0) {
tmp = a + (x + (b * (y - 2.0)));
} 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 + z) + (t * (b - a))
if (t <= (-2d+94)) then
tmp = t_1
else if (t <= (-0.098d0)) then
tmp = y * (b - z)
else if (t <= 250.0d0) then
tmp = a + (x + (b * (y - 2.0d0)))
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 + z) + (t * (b - a));
double tmp;
if (t <= -2e+94) {
tmp = t_1;
} else if (t <= -0.098) {
tmp = y * (b - z);
} else if (t <= 250.0) {
tmp = a + (x + (b * (y - 2.0)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x + z) + (t * (b - a)) tmp = 0 if t <= -2e+94: tmp = t_1 elif t <= -0.098: tmp = y * (b - z) elif t <= 250.0: tmp = a + (x + (b * (y - 2.0))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x + z) + Float64(t * Float64(b - a))) tmp = 0.0 if (t <= -2e+94) tmp = t_1; elseif (t <= -0.098) tmp = Float64(y * Float64(b - z)); elseif (t <= 250.0) tmp = Float64(a + Float64(x + Float64(b * Float64(y - 2.0)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x + z) + (t * (b - a)); tmp = 0.0; if (t <= -2e+94) tmp = t_1; elseif (t <= -0.098) tmp = y * (b - z); elseif (t <= 250.0) tmp = a + (x + (b * (y - 2.0))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x + z), $MachinePrecision] + N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2e+94], t$95$1, If[LessEqual[t, -0.098], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 250.0], N[(a + N[(x + N[(b * N[(y - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x + z\right) + t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -2 \cdot 10^{+94}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -0.098:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{elif}\;t \leq 250:\\
\;\;\;\;a + \left(x + b \cdot \left(y - 2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -2e94 or 250 < t Initial program 89.6%
associate-+l-89.6%
sub-neg89.6%
metadata-eval89.6%
*-commutative89.6%
sub-neg89.6%
metadata-eval89.6%
sub-neg89.6%
metadata-eval89.6%
associate-+r+89.6%
+-commutative89.6%
associate-+l+89.6%
Applied egg-rr89.6%
Taylor expanded in t around inf 90.1%
Taylor expanded in y around 0 84.1%
mul-1-neg84.1%
Simplified84.1%
if -2e94 < t < -0.098000000000000004Initial program 72.7%
Taylor expanded in y around inf 82.6%
if -0.098000000000000004 < t < 250Initial program 98.4%
associate-+l-98.4%
sub-neg98.4%
metadata-eval98.4%
*-commutative98.4%
sub-neg98.4%
metadata-eval98.4%
sub-neg98.4%
metadata-eval98.4%
associate-+r+98.4%
+-commutative98.4%
associate-+l+98.4%
Applied egg-rr98.4%
Taylor expanded in z around 0 73.1%
associate--l+73.1%
sub-neg73.1%
metadata-eval73.1%
associate-+r+73.1%
sub-neg73.1%
metadata-eval73.1%
+-commutative73.1%
Simplified73.1%
Taylor expanded in t around 0 72.2%
sub-neg72.2%
metadata-eval72.2%
neg-mul-172.2%
Simplified72.2%
Taylor expanded in x around 0 72.2%
Final simplification78.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ x (* t (- b a)))))
(if (<= t -2e+94)
t_1
(if (<= t -0.054)
(* y (- b z))
(if (<= t 270.0) (+ a (+ x (* b (- y 2.0)))) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (t * (b - a));
double tmp;
if (t <= -2e+94) {
tmp = t_1;
} else if (t <= -0.054) {
tmp = y * (b - z);
} else if (t <= 270.0) {
tmp = a + (x + (b * (y - 2.0)));
} 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 + (t * (b - a))
if (t <= (-2d+94)) then
tmp = t_1
else if (t <= (-0.054d0)) then
tmp = y * (b - z)
else if (t <= 270.0d0) then
tmp = a + (x + (b * (y - 2.0d0)))
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 + (t * (b - a));
double tmp;
if (t <= -2e+94) {
tmp = t_1;
} else if (t <= -0.054) {
tmp = y * (b - z);
} else if (t <= 270.0) {
tmp = a + (x + (b * (y - 2.0)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x + (t * (b - a)) tmp = 0 if t <= -2e+94: tmp = t_1 elif t <= -0.054: tmp = y * (b - z) elif t <= 270.0: tmp = a + (x + (b * (y - 2.0))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x + Float64(t * Float64(b - a))) tmp = 0.0 if (t <= -2e+94) tmp = t_1; elseif (t <= -0.054) tmp = Float64(y * Float64(b - z)); elseif (t <= 270.0) tmp = Float64(a + Float64(x + Float64(b * Float64(y - 2.0)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x + (t * (b - a)); tmp = 0.0; if (t <= -2e+94) tmp = t_1; elseif (t <= -0.054) tmp = y * (b - z); elseif (t <= 270.0) tmp = a + (x + (b * (y - 2.0))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2e+94], t$95$1, If[LessEqual[t, -0.054], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 270.0], N[(a + N[(x + N[(b * N[(y - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -2 \cdot 10^{+94}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -0.054:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{elif}\;t \leq 270:\\
\;\;\;\;a + \left(x + b \cdot \left(y - 2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -2e94 or 270 < t Initial program 89.6%
associate-+l-89.6%
sub-neg89.6%
metadata-eval89.6%
*-commutative89.6%
sub-neg89.6%
metadata-eval89.6%
sub-neg89.6%
metadata-eval89.6%
associate-+r+89.6%
+-commutative89.6%
associate-+l+89.6%
Applied egg-rr89.6%
Taylor expanded in t around inf 90.1%
Taylor expanded in z around 0 76.3%
if -2e94 < t < -0.0539999999999999994Initial program 72.7%
Taylor expanded in y around inf 82.6%
if -0.0539999999999999994 < t < 270Initial program 98.4%
associate-+l-98.4%
sub-neg98.4%
metadata-eval98.4%
*-commutative98.4%
sub-neg98.4%
metadata-eval98.4%
sub-neg98.4%
metadata-eval98.4%
associate-+r+98.4%
+-commutative98.4%
associate-+l+98.4%
Applied egg-rr98.4%
Taylor expanded in z around 0 73.1%
associate--l+73.1%
sub-neg73.1%
metadata-eval73.1%
associate-+r+73.1%
sub-neg73.1%
metadata-eval73.1%
+-commutative73.1%
Simplified73.1%
Taylor expanded in t around 0 72.2%
sub-neg72.2%
metadata-eval72.2%
neg-mul-172.2%
Simplified72.2%
Taylor expanded in x around 0 72.2%
Final simplification74.5%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -4.2e+81) (not (<= b 2.8e+126))) (* (- (+ y t) 2.0) b) (- x (- (* (+ y -1.0) z) (* a (- 1.0 t))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -4.2e+81) || !(b <= 2.8e+126)) {
tmp = ((y + t) - 2.0) * b;
} else {
tmp = x - (((y + -1.0) * 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 <= (-4.2d+81)) .or. (.not. (b <= 2.8d+126))) then
tmp = ((y + t) - 2.0d0) * b
else
tmp = x - (((y + (-1.0d0)) * 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 <= -4.2e+81) || !(b <= 2.8e+126)) {
tmp = ((y + t) - 2.0) * b;
} else {
tmp = x - (((y + -1.0) * z) - (a * (1.0 - t)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -4.2e+81) or not (b <= 2.8e+126): tmp = ((y + t) - 2.0) * b else: tmp = x - (((y + -1.0) * z) - (a * (1.0 - t))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -4.2e+81) || !(b <= 2.8e+126)) tmp = Float64(Float64(Float64(y + t) - 2.0) * b); else tmp = Float64(x - Float64(Float64(Float64(y + -1.0) * 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 <= -4.2e+81) || ~((b <= 2.8e+126))) tmp = ((y + t) - 2.0) * b; else tmp = x - (((y + -1.0) * z) - (a * (1.0 - t))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -4.2e+81], N[Not[LessEqual[b, 2.8e+126]], $MachinePrecision]], N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision], N[(x - N[(N[(N[(y + -1.0), $MachinePrecision] * z), $MachinePrecision] - N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -4.2 \cdot 10^{+81} \lor \neg \left(b \leq 2.8 \cdot 10^{+126}\right):\\
\;\;\;\;\left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;x - \left(\left(y + -1\right) \cdot z - a \cdot \left(1 - t\right)\right)\\
\end{array}
\end{array}
if b < -4.1999999999999997e81 or 2.80000000000000009e126 < b Initial program 84.1%
Taylor expanded in b around inf 87.7%
if -4.1999999999999997e81 < b < 2.80000000000000009e126Initial program 97.7%
Taylor expanded in b around 0 89.2%
Final simplification88.8%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* (- (+ y t) 2.0) b)))
(if (<= b -1e+80)
t_1
(if (<= b -1.8e-191)
(+ x (* z (- 1.0 y)))
(if (<= b 3e+126) (+ x (* a (- 1.0 t))) 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 <= -1e+80) {
tmp = t_1;
} else if (b <= -1.8e-191) {
tmp = x + (z * (1.0 - y));
} else if (b <= 3e+126) {
tmp = x + (a * (1.0 - t));
} 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 <= (-1d+80)) then
tmp = t_1
else if (b <= (-1.8d-191)) then
tmp = x + (z * (1.0d0 - y))
else if (b <= 3d+126) then
tmp = x + (a * (1.0d0 - 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 b) {
double t_1 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -1e+80) {
tmp = t_1;
} else if (b <= -1.8e-191) {
tmp = x + (z * (1.0 - y));
} else if (b <= 3e+126) {
tmp = x + (a * (1.0 - t));
} 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 <= -1e+80: tmp = t_1 elif b <= -1.8e-191: tmp = x + (z * (1.0 - y)) elif b <= 3e+126: tmp = x + (a * (1.0 - t)) 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 <= -1e+80) tmp = t_1; elseif (b <= -1.8e-191) tmp = Float64(x + Float64(z * Float64(1.0 - y))); elseif (b <= 3e+126) tmp = Float64(x + Float64(a * Float64(1.0 - t))); 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 <= -1e+80) tmp = t_1; elseif (b <= -1.8e-191) tmp = x + (z * (1.0 - y)); elseif (b <= 3e+126) tmp = x + (a * (1.0 - t)); 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, -1e+80], t$95$1, If[LessEqual[b, -1.8e-191], N[(x + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 3e+126], N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $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 -1 \cdot 10^{+80}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -1.8 \cdot 10^{-191}:\\
\;\;\;\;x + z \cdot \left(1 - y\right)\\
\mathbf{elif}\;b \leq 3 \cdot 10^{+126}:\\
\;\;\;\;x + a \cdot \left(1 - t\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1e80 or 3.0000000000000002e126 < b Initial program 84.1%
Taylor expanded in b around inf 87.7%
if -1e80 < b < -1.8000000000000001e-191Initial program 98.2%
associate-+l-98.2%
sub-neg98.2%
metadata-eval98.2%
*-commutative98.2%
sub-neg98.2%
metadata-eval98.2%
sub-neg98.2%
metadata-eval98.2%
associate-+r+98.2%
+-commutative98.2%
associate-+l+98.2%
Applied egg-rr98.2%
Taylor expanded in t around inf 77.2%
Taylor expanded in t around 0 55.7%
if -1.8000000000000001e-191 < b < 3.0000000000000002e126Initial program 97.4%
associate-+l-97.4%
sub-neg97.4%
metadata-eval97.4%
*-commutative97.4%
sub-neg97.4%
metadata-eval97.4%
sub-neg97.4%
metadata-eval97.4%
associate-+r+97.4%
+-commutative97.4%
associate-+l+97.4%
Applied egg-rr97.4%
Taylor expanded in z around 0 66.4%
associate--l+66.5%
sub-neg66.5%
metadata-eval66.5%
associate-+r+66.5%
sub-neg66.5%
metadata-eval66.5%
+-commutative66.5%
Simplified66.5%
Taylor expanded in b around 0 62.5%
Final simplification69.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -2e+94)
t_1
(if (<= t -0.045)
(* y (- b z))
(if (<= t 500.0) (+ a (* b (- y 2.0))) 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 <= -2e+94) {
tmp = t_1;
} else if (t <= -0.045) {
tmp = y * (b - z);
} else if (t <= 500.0) {
tmp = a + (b * (y - 2.0));
} 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 <= (-2d+94)) then
tmp = t_1
else if (t <= (-0.045d0)) then
tmp = y * (b - z)
else if (t <= 500.0d0) then
tmp = a + (b * (y - 2.0d0))
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 <= -2e+94) {
tmp = t_1;
} else if (t <= -0.045) {
tmp = y * (b - z);
} else if (t <= 500.0) {
tmp = a + (b * (y - 2.0));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -2e+94: tmp = t_1 elif t <= -0.045: tmp = y * (b - z) elif t <= 500.0: tmp = a + (b * (y - 2.0)) 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 <= -2e+94) tmp = t_1; elseif (t <= -0.045) tmp = Float64(y * Float64(b - z)); elseif (t <= 500.0) tmp = Float64(a + Float64(b * Float64(y - 2.0))); 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 <= -2e+94) tmp = t_1; elseif (t <= -0.045) tmp = y * (b - z); elseif (t <= 500.0) tmp = a + (b * (y - 2.0)); 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, -2e+94], t$95$1, If[LessEqual[t, -0.045], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 500.0], N[(a + N[(b * N[(y - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -2 \cdot 10^{+94}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -0.045:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{elif}\;t \leq 500:\\
\;\;\;\;a + b \cdot \left(y - 2\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -2e94 or 500 < t Initial program 89.6%
Taylor expanded in t around inf 68.5%
if -2e94 < t < -0.044999999999999998Initial program 72.7%
Taylor expanded in y around inf 82.6%
if -0.044999999999999998 < t < 500Initial program 98.4%
associate-+l-98.4%
sub-neg98.4%
metadata-eval98.4%
*-commutative98.4%
sub-neg98.4%
metadata-eval98.4%
sub-neg98.4%
metadata-eval98.4%
associate-+r+98.4%
+-commutative98.4%
associate-+l+98.4%
Applied egg-rr98.4%
Taylor expanded in z around 0 73.1%
associate--l+73.1%
sub-neg73.1%
metadata-eval73.1%
associate-+r+73.1%
sub-neg73.1%
metadata-eval73.1%
+-commutative73.1%
Simplified73.1%
Taylor expanded in t around 0 72.2%
sub-neg72.2%
metadata-eval72.2%
neg-mul-172.2%
Simplified72.2%
Taylor expanded in x around 0 56.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -1.65e+96)
t_1
(if (<= t -1.1e-73) (* y (- b z)) (if (<= t 4100000000.0) (+ x a) 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.65e+96) {
tmp = t_1;
} else if (t <= -1.1e-73) {
tmp = y * (b - z);
} else if (t <= 4100000000.0) {
tmp = x + a;
} 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.65d+96)) then
tmp = t_1
else if (t <= (-1.1d-73)) then
tmp = y * (b - z)
else if (t <= 4100000000.0d0) then
tmp = x + a
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.65e+96) {
tmp = t_1;
} else if (t <= -1.1e-73) {
tmp = y * (b - z);
} else if (t <= 4100000000.0) {
tmp = x + a;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -1.65e+96: tmp = t_1 elif t <= -1.1e-73: tmp = y * (b - z) elif t <= 4100000000.0: tmp = x + a 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.65e+96) tmp = t_1; elseif (t <= -1.1e-73) tmp = Float64(y * Float64(b - z)); elseif (t <= 4100000000.0) tmp = Float64(x + a); 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.65e+96) tmp = t_1; elseif (t <= -1.1e-73) tmp = y * (b - z); elseif (t <= 4100000000.0) tmp = x + a; 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.65e+96], t$95$1, If[LessEqual[t, -1.1e-73], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4100000000.0], N[(x + a), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -1.65 \cdot 10^{+96}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -1.1 \cdot 10^{-73}:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{elif}\;t \leq 4100000000:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -1.64999999999999992e96 or 4.1e9 < t Initial program 89.4%
Taylor expanded in t around inf 69.5%
if -1.64999999999999992e96 < t < -1.1e-73Initial program 87.1%
Taylor expanded in y around inf 56.9%
if -1.1e-73 < t < 4.1e9Initial program 99.1%
associate-+l-99.1%
sub-neg99.1%
metadata-eval99.1%
*-commutative99.1%
sub-neg99.1%
metadata-eval99.1%
sub-neg99.1%
metadata-eval99.1%
associate-+r+99.1%
+-commutative99.1%
associate-+l+99.1%
Applied egg-rr99.1%
Taylor expanded in z around 0 73.6%
associate--l+73.6%
sub-neg73.6%
metadata-eval73.6%
associate-+r+73.6%
sub-neg73.6%
metadata-eval73.6%
+-commutative73.6%
Simplified73.6%
Taylor expanded in b around 0 43.2%
Taylor expanded in t around 0 42.7%
cancel-sign-sub-inv42.7%
metadata-eval42.7%
*-lft-identity42.7%
+-commutative42.7%
Simplified42.7%
Final simplification56.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -3.3e+90)
t_1
(if (<= t -8.5e-6) (* z (- y)) (if (<= t 85000000.0) (+ x a) 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 <= -3.3e+90) {
tmp = t_1;
} else if (t <= -8.5e-6) {
tmp = z * -y;
} else if (t <= 85000000.0) {
tmp = x + a;
} 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 <= (-3.3d+90)) then
tmp = t_1
else if (t <= (-8.5d-6)) then
tmp = z * -y
else if (t <= 85000000.0d0) then
tmp = x + a
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 <= -3.3e+90) {
tmp = t_1;
} else if (t <= -8.5e-6) {
tmp = z * -y;
} else if (t <= 85000000.0) {
tmp = x + a;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -3.3e+90: tmp = t_1 elif t <= -8.5e-6: tmp = z * -y elif t <= 85000000.0: tmp = x + a 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 <= -3.3e+90) tmp = t_1; elseif (t <= -8.5e-6) tmp = Float64(z * Float64(-y)); elseif (t <= 85000000.0) tmp = Float64(x + a); 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 <= -3.3e+90) tmp = t_1; elseif (t <= -8.5e-6) tmp = z * -y; elseif (t <= 85000000.0) tmp = x + a; 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, -3.3e+90], t$95$1, If[LessEqual[t, -8.5e-6], N[(z * (-y)), $MachinePrecision], If[LessEqual[t, 85000000.0], N[(x + a), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -3.3 \cdot 10^{+90}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -8.5 \cdot 10^{-6}:\\
\;\;\;\;z \cdot \left(-y\right)\\
\mathbf{elif}\;t \leq 85000000:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -3.30000000000000008e90 or 8.5e7 < t Initial program 88.6%
Taylor expanded in t around inf 69.0%
if -3.30000000000000008e90 < t < -8.4999999999999999e-6Initial program 81.8%
Taylor expanded in z around inf 73.1%
Taylor expanded in y around inf 64.7%
mul-1-neg64.7%
*-commutative64.7%
distribute-rgt-neg-in64.7%
Simplified64.7%
if -8.4999999999999999e-6 < t < 8.5e7Initial program 98.4%
associate-+l-98.5%
sub-neg98.5%
metadata-eval98.5%
*-commutative98.5%
sub-neg98.5%
metadata-eval98.5%
sub-neg98.5%
metadata-eval98.5%
associate-+r+98.5%
+-commutative98.5%
associate-+l+98.5%
Applied egg-rr98.5%
Taylor expanded in z around 0 73.3%
associate--l+73.3%
sub-neg73.3%
metadata-eval73.3%
associate-+r+73.3%
sub-neg73.3%
metadata-eval73.3%
+-commutative73.3%
Simplified73.3%
Taylor expanded in b around 0 42.6%
Taylor expanded in t around 0 41.8%
cancel-sign-sub-inv41.8%
metadata-eval41.8%
*-lft-identity41.8%
+-commutative41.8%
Simplified41.8%
Final simplification54.9%
(FPCore (x y z t a b) :precision binary64 (if (<= t -4.2e+90) (* t b) (if (<= t -0.0036) (* z (- y)) (if (<= t 3.5e+14) (+ x a) (* t b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -4.2e+90) {
tmp = t * b;
} else if (t <= -0.0036) {
tmp = z * -y;
} else if (t <= 3.5e+14) {
tmp = x + a;
} 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 <= (-4.2d+90)) then
tmp = t * b
else if (t <= (-0.0036d0)) then
tmp = z * -y
else if (t <= 3.5d+14) then
tmp = x + a
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 <= -4.2e+90) {
tmp = t * b;
} else if (t <= -0.0036) {
tmp = z * -y;
} else if (t <= 3.5e+14) {
tmp = x + a;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -4.2e+90: tmp = t * b elif t <= -0.0036: tmp = z * -y elif t <= 3.5e+14: tmp = x + a else: tmp = t * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -4.2e+90) tmp = Float64(t * b); elseif (t <= -0.0036) tmp = Float64(z * Float64(-y)); elseif (t <= 3.5e+14) tmp = Float64(x + a); else tmp = Float64(t * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (t <= -4.2e+90) tmp = t * b; elseif (t <= -0.0036) tmp = z * -y; elseif (t <= 3.5e+14) tmp = x + a; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -4.2e+90], N[(t * b), $MachinePrecision], If[LessEqual[t, -0.0036], N[(z * (-y)), $MachinePrecision], If[LessEqual[t, 3.5e+14], N[(x + a), $MachinePrecision], N[(t * b), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4.2 \cdot 10^{+90}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq -0.0036:\\
\;\;\;\;z \cdot \left(-y\right)\\
\mathbf{elif}\;t \leq 3.5 \cdot 10^{+14}:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -4.19999999999999961e90 or 3.5e14 < t Initial program 88.4%
Taylor expanded in t around inf 69.6%
Taylor expanded in b around inf 35.6%
*-commutative35.6%
Simplified35.6%
if -4.19999999999999961e90 < t < -0.0035999999999999999Initial program 81.8%
Taylor expanded in z around inf 73.1%
Taylor expanded in y around inf 64.7%
mul-1-neg64.7%
*-commutative64.7%
distribute-rgt-neg-in64.7%
Simplified64.7%
if -0.0035999999999999999 < t < 3.5e14Initial program 98.5%
associate-+l-98.5%
sub-neg98.5%
metadata-eval98.5%
*-commutative98.5%
sub-neg98.5%
metadata-eval98.5%
sub-neg98.5%
metadata-eval98.5%
associate-+r+98.5%
+-commutative98.5%
associate-+l+98.5%
Applied egg-rr98.5%
Taylor expanded in z around 0 73.0%
associate--l+73.0%
sub-neg73.0%
metadata-eval73.0%
associate-+r+73.0%
sub-neg73.0%
metadata-eval73.0%
+-commutative73.0%
Simplified73.0%
Taylor expanded in b around 0 42.8%
Taylor expanded in t around 0 41.3%
cancel-sign-sub-inv41.3%
metadata-eval41.3%
*-lft-identity41.3%
+-commutative41.3%
Simplified41.3%
Final simplification39.8%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -2.22e+80) (not (<= b 3.1e+126))) (* (- (+ 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 <= -2.22e+80) || !(b <= 3.1e+126)) {
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 <= (-2.22d+80)) .or. (.not. (b <= 3.1d+126))) 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 <= -2.22e+80) || !(b <= 3.1e+126)) {
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 <= -2.22e+80) or not (b <= 3.1e+126): 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 <= -2.22e+80) || !(b <= 3.1e+126)) 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 <= -2.22e+80) || ~((b <= 3.1e+126))) 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, -2.22e+80], N[Not[LessEqual[b, 3.1e+126]], $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 -2.22 \cdot 10^{+80} \lor \neg \left(b \leq 3.1 \cdot 10^{+126}\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 < -2.21999999999999992e80 or 3.1e126 < b Initial program 84.1%
Taylor expanded in b around inf 87.7%
if -2.21999999999999992e80 < b < 3.1e126Initial program 97.7%
associate-+l-97.7%
sub-neg97.7%
metadata-eval97.7%
*-commutative97.7%
sub-neg97.7%
metadata-eval97.7%
sub-neg97.7%
metadata-eval97.7%
associate-+r+97.7%
+-commutative97.7%
associate-+l+97.7%
Applied egg-rr97.7%
Taylor expanded in z around 0 65.4%
associate--l+65.4%
sub-neg65.4%
metadata-eval65.4%
associate-+r+65.4%
sub-neg65.4%
metadata-eval65.4%
+-commutative65.4%
Simplified65.4%
Taylor expanded in b around 0 57.8%
Final simplification67.4%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -4.4e-28) (not (<= b 2.8e+126))) (* (- (+ y t) 2.0) b) (- a (* t a))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -4.4e-28) || !(b <= 2.8e+126)) {
tmp = ((y + t) - 2.0) * b;
} else {
tmp = a - (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 <= (-4.4d-28)) .or. (.not. (b <= 2.8d+126))) then
tmp = ((y + t) - 2.0d0) * b
else
tmp = a - (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 <= -4.4e-28) || !(b <= 2.8e+126)) {
tmp = ((y + t) - 2.0) * b;
} else {
tmp = a - (t * a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -4.4e-28) or not (b <= 2.8e+126): tmp = ((y + t) - 2.0) * b else: tmp = a - (t * a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -4.4e-28) || !(b <= 2.8e+126)) tmp = Float64(Float64(Float64(y + t) - 2.0) * b); else tmp = Float64(a - Float64(t * a)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((b <= -4.4e-28) || ~((b <= 2.8e+126))) tmp = ((y + t) - 2.0) * b; else tmp = a - (t * a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -4.4e-28], N[Not[LessEqual[b, 2.8e+126]], $MachinePrecision]], N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision], N[(a - N[(t * a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -4.4 \cdot 10^{-28} \lor \neg \left(b \leq 2.8 \cdot 10^{+126}\right):\\
\;\;\;\;\left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;a - t \cdot a\\
\end{array}
\end{array}
if b < -4.39999999999999992e-28 or 2.80000000000000009e126 < b Initial program 87.3%
Taylor expanded in b around inf 77.0%
if -4.39999999999999992e-28 < b < 2.80000000000000009e126Initial program 97.4%
Taylor expanded in a around inf 45.4%
Taylor expanded in t around 0 45.4%
associate-*r*45.4%
neg-mul-145.4%
Simplified45.4%
Final simplification58.0%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -4.3e+53) (not (<= b 3.6e+142))) (* t b) (* a (- 1.0 t))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -4.3e+53) || !(b <= 3.6e+142)) {
tmp = t * b;
} else {
tmp = 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 <= (-4.3d+53)) .or. (.not. (b <= 3.6d+142))) then
tmp = t * b
else
tmp = 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 <= -4.3e+53) || !(b <= 3.6e+142)) {
tmp = t * b;
} else {
tmp = a * (1.0 - t);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -4.3e+53) or not (b <= 3.6e+142): tmp = t * b else: tmp = a * (1.0 - t) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -4.3e+53) || !(b <= 3.6e+142)) tmp = Float64(t * b); else tmp = 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 <= -4.3e+53) || ~((b <= 3.6e+142))) tmp = t * b; else tmp = a * (1.0 - t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -4.3e+53], N[Not[LessEqual[b, 3.6e+142]], $MachinePrecision]], N[(t * b), $MachinePrecision], N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -4.3 \cdot 10^{+53} \lor \neg \left(b \leq 3.6 \cdot 10^{+142}\right):\\
\;\;\;\;t \cdot b\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(1 - t\right)\\
\end{array}
\end{array}
if b < -4.2999999999999998e53 or 3.6000000000000001e142 < b Initial program 84.5%
Taylor expanded in t around inf 44.8%
Taylor expanded in b around inf 43.6%
*-commutative43.6%
Simplified43.6%
if -4.2999999999999998e53 < b < 3.6000000000000001e142Initial program 97.7%
Taylor expanded in a around inf 43.7%
Final simplification43.6%
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -3.9e+79) (not (<= b 7.5e+122))) (* t b) (+ x a)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -3.9e+79) || !(b <= 7.5e+122)) {
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 ((b <= (-3.9d+79)) .or. (.not. (b <= 7.5d+122))) 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 ((b <= -3.9e+79) || !(b <= 7.5e+122)) {
tmp = t * b;
} else {
tmp = x + a;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -3.9e+79) or not (b <= 7.5e+122): tmp = t * b else: tmp = x + a return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -3.9e+79) || !(b <= 7.5e+122)) 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 ((b <= -3.9e+79) || ~((b <= 7.5e+122))) tmp = t * b; else tmp = x + a; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -3.9e+79], N[Not[LessEqual[b, 7.5e+122]], $MachinePrecision]], N[(t * b), $MachinePrecision], N[(x + a), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -3.9 \cdot 10^{+79} \lor \neg \left(b \leq 7.5 \cdot 10^{+122}\right):\\
\;\;\;\;t \cdot b\\
\mathbf{else}:\\
\;\;\;\;x + a\\
\end{array}
\end{array}
if b < -3.8999999999999997e79 or 7.5000000000000002e122 < b Initial program 84.5%
Taylor expanded in t around inf 45.9%
Taylor expanded in b around inf 42.5%
*-commutative42.5%
Simplified42.5%
if -3.8999999999999997e79 < b < 7.5000000000000002e122Initial program 97.7%
associate-+l-97.7%
sub-neg97.7%
metadata-eval97.7%
*-commutative97.7%
sub-neg97.7%
metadata-eval97.7%
sub-neg97.7%
metadata-eval97.7%
associate-+r+97.7%
+-commutative97.7%
associate-+l+97.7%
Applied egg-rr97.7%
Taylor expanded in z around 0 65.6%
associate--l+65.6%
sub-neg65.6%
metadata-eval65.6%
associate-+r+65.6%
sub-neg65.6%
metadata-eval65.6%
+-commutative65.6%
Simplified65.6%
Taylor expanded in b around 0 57.9%
Taylor expanded in t around 0 35.7%
cancel-sign-sub-inv35.7%
metadata-eval35.7%
*-lft-identity35.7%
+-commutative35.7%
Simplified35.7%
Final simplification37.9%
(FPCore (x y z t a b) :precision binary64 (if (or (<= t -0.041) (not (<= t 1.05))) (* t b) a))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((t <= -0.041) || !(t <= 1.05)) {
tmp = t * b;
} else {
tmp = 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 <= (-0.041d0)) .or. (.not. (t <= 1.05d0))) then
tmp = t * b
else
tmp = 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 <= -0.041) || !(t <= 1.05)) {
tmp = t * b;
} else {
tmp = a;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (t <= -0.041) or not (t <= 1.05): tmp = t * b else: tmp = a return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((t <= -0.041) || !(t <= 1.05)) tmp = Float64(t * b); else tmp = a; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((t <= -0.041) || ~((t <= 1.05))) tmp = t * b; else tmp = a; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[t, -0.041], N[Not[LessEqual[t, 1.05]], $MachinePrecision]], N[(t * b), $MachinePrecision], a]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -0.041 \lor \neg \left(t \leq 1.05\right):\\
\;\;\;\;t \cdot b\\
\mathbf{else}:\\
\;\;\;\;a\\
\end{array}
\end{array}
if t < -0.0410000000000000017 or 1.05000000000000004 < t Initial program 88.3%
Taylor expanded in t around inf 62.8%
Taylor expanded in b around inf 31.8%
*-commutative31.8%
Simplified31.8%
if -0.0410000000000000017 < t < 1.05000000000000004Initial program 98.4%
Taylor expanded in a around inf 27.4%
Taylor expanded in t around 0 26.8%
Final simplification29.3%
(FPCore (x y z t a b) :precision binary64 (if (<= x -9e+196) x (if (<= x 3e-25) a x)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (x <= -9e+196) {
tmp = x;
} else if (x <= 3e-25) {
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 <= (-9d+196)) then
tmp = x
else if (x <= 3d-25) 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 <= -9e+196) {
tmp = x;
} else if (x <= 3e-25) {
tmp = a;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if x <= -9e+196: tmp = x elif x <= 3e-25: tmp = a else: tmp = x return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (x <= -9e+196) tmp = x; elseif (x <= 3e-25) tmp = a; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (x <= -9e+196) tmp = x; elseif (x <= 3e-25) tmp = a; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[x, -9e+196], x, If[LessEqual[x, 3e-25], a, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -9 \cdot 10^{+196}:\\
\;\;\;\;x\\
\mathbf{elif}\;x \leq 3 \cdot 10^{-25}:\\
\;\;\;\;a\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -8.99999999999999956e196 or 2.9999999999999998e-25 < x Initial program 93.9%
Taylor expanded in x around inf 32.4%
if -8.99999999999999956e196 < x < 2.9999999999999998e-25Initial program 93.1%
Taylor expanded in a around inf 36.3%
Taylor expanded in t around 0 18.2%
(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 93.3%
Taylor expanded in a around inf 32.3%
Taylor expanded in t around 0 14.5%
herbie shell --seed 2024180
(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)))