
(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 23 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
(+ (+ (+ x (* z (- 1.0 y))) (* a (- 1.0 t))) (* (- (+ y t) 2.0) b))))
(if (<= t_1 INFINITY) t_1 (* y (- b z)))))
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);
}
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);
}
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) 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(b - z)); 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); 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[(b - z), $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(b - z\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
*-lowering-*.f64N/A
--lowering--.f6486.8%
Simplified86.8%
Final simplification99.6%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* b (+ t (+ y -2.0)))))
(if (<= b -4.3e+55)
t_1
(if (<= b -8.4e-40)
(* a (- 1.0 t))
(if (<= b -1.08e-75)
(* y (- b z))
(if (<= b -1.15e-256)
(+ x a)
(if (<= b 1.02e+55) (* z (- 1.0 y)) t_1)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = b * (t + (y + -2.0));
double tmp;
if (b <= -4.3e+55) {
tmp = t_1;
} else if (b <= -8.4e-40) {
tmp = a * (1.0 - t);
} else if (b <= -1.08e-75) {
tmp = y * (b - z);
} else if (b <= -1.15e-256) {
tmp = x + a;
} else if (b <= 1.02e+55) {
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 = b * (t + (y + (-2.0d0)))
if (b <= (-4.3d+55)) then
tmp = t_1
else if (b <= (-8.4d-40)) then
tmp = a * (1.0d0 - t)
else if (b <= (-1.08d-75)) then
tmp = y * (b - z)
else if (b <= (-1.15d-256)) then
tmp = x + a
else if (b <= 1.02d+55) 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 = b * (t + (y + -2.0));
double tmp;
if (b <= -4.3e+55) {
tmp = t_1;
} else if (b <= -8.4e-40) {
tmp = a * (1.0 - t);
} else if (b <= -1.08e-75) {
tmp = y * (b - z);
} else if (b <= -1.15e-256) {
tmp = x + a;
} else if (b <= 1.02e+55) {
tmp = z * (1.0 - y);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = b * (t + (y + -2.0)) tmp = 0 if b <= -4.3e+55: tmp = t_1 elif b <= -8.4e-40: tmp = a * (1.0 - t) elif b <= -1.08e-75: tmp = y * (b - z) elif b <= -1.15e-256: tmp = x + a elif b <= 1.02e+55: tmp = z * (1.0 - y) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(b * Float64(t + Float64(y + -2.0))) tmp = 0.0 if (b <= -4.3e+55) tmp = t_1; elseif (b <= -8.4e-40) tmp = Float64(a * Float64(1.0 - t)); elseif (b <= -1.08e-75) tmp = Float64(y * Float64(b - z)); elseif (b <= -1.15e-256) tmp = Float64(x + a); elseif (b <= 1.02e+55) 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 = b * (t + (y + -2.0)); tmp = 0.0; if (b <= -4.3e+55) tmp = t_1; elseif (b <= -8.4e-40) tmp = a * (1.0 - t); elseif (b <= -1.08e-75) tmp = y * (b - z); elseif (b <= -1.15e-256) tmp = x + a; elseif (b <= 1.02e+55) 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[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -4.3e+55], t$95$1, If[LessEqual[b, -8.4e-40], N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -1.08e-75], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -1.15e-256], N[(x + a), $MachinePrecision], If[LessEqual[b, 1.02e+55], N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(t + \left(y + -2\right)\right)\\
\mathbf{if}\;b \leq -4.3 \cdot 10^{+55}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -8.4 \cdot 10^{-40}:\\
\;\;\;\;a \cdot \left(1 - t\right)\\
\mathbf{elif}\;b \leq -1.08 \cdot 10^{-75}:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{elif}\;b \leq -1.15 \cdot 10^{-256}:\\
\;\;\;\;x + a\\
\mathbf{elif}\;b \leq 1.02 \cdot 10^{+55}:\\
\;\;\;\;z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -4.2999999999999999e55 or 1.02000000000000002e55 < b Initial program 93.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval80.3%
Simplified80.3%
if -4.2999999999999999e55 < b < -8.40000000000000071e-40Initial program 99.9%
Taylor expanded in a around inf
sub-negN/A
neg-mul-1N/A
metadata-evalN/A
distribute-lft-inN/A
+-commutativeN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6442.7%
Simplified42.7%
if -8.40000000000000071e-40 < b < -1.08e-75Initial program 100.0%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6473.5%
Simplified73.5%
if -1.08e-75 < b < -1.15e-256Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified97.1%
Taylor expanded in z around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f6469.8%
Simplified69.8%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6447.9%
Simplified47.9%
if -1.15e-256 < b < 1.02000000000000002e55Initial program 100.0%
Taylor expanded in z around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
neg-mul-1N/A
metadata-evalN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6456.6%
Simplified56.6%
(FPCore (x y z t a b) :precision binary64 (if (<= b -8e+186) (+ x (* (- (+ y t) 2.0) b)) (+ (+ (* y (- b z)) (* b (+ t -2.0))) (+ (+ x z) (* a (- 1.0 t))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -8e+186) {
tmp = x + (((y + t) - 2.0) * b);
} else {
tmp = ((y * (b - z)) + (b * (t + -2.0))) + ((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 <= (-8d+186)) then
tmp = x + (((y + t) - 2.0d0) * b)
else
tmp = ((y * (b - z)) + (b * (t + (-2.0d0)))) + ((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 <= -8e+186) {
tmp = x + (((y + t) - 2.0) * b);
} else {
tmp = ((y * (b - z)) + (b * (t + -2.0))) + ((x + z) + (a * (1.0 - t)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -8e+186: tmp = x + (((y + t) - 2.0) * b) else: tmp = ((y * (b - z)) + (b * (t + -2.0))) + ((x + z) + (a * (1.0 - t))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -8e+186) tmp = Float64(x + Float64(Float64(Float64(y + t) - 2.0) * b)); else tmp = Float64(Float64(Float64(y * Float64(b - z)) + Float64(b * Float64(t + -2.0))) + 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 <= -8e+186) tmp = x + (((y + t) - 2.0) * b); else tmp = ((y * (b - z)) + (b * (t + -2.0))) + ((x + z) + (a * (1.0 - t))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -8e+186], N[(x + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision], N[(N[(N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision] + N[(b * N[(t + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(x + z), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -8 \cdot 10^{+186}:\\
\;\;\;\;x + \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;\left(y \cdot \left(b - z\right) + b \cdot \left(t + -2\right)\right) + \left(\left(x + z\right) + a \cdot \left(1 - t\right)\right)\\
\end{array}
\end{array}
if b < -7.99999999999999984e186Initial program 87.1%
Taylor expanded in x around inf
Simplified93.9%
if -7.99999999999999984e186 < b Initial program 98.7%
Taylor expanded in y around 0
+-commutativeN/A
associate--l+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
cancel-sign-sub-invN/A
metadata-evalN/A
*-lft-identityN/A
+-commutativeN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
Simplified97.3%
Final simplification96.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* z (- 1.0 y))))
(if (<= b -7.4e+55)
(* b (- (+ t (+ y -2.0)) (* t (/ a b))))
(if (<= b 5.8e+94)
(+ (+ x (* a (- 1.0 t))) t_1)
(+ (* (- (+ y t) 2.0) b) t_1)))))
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 <= -7.4e+55) {
tmp = b * ((t + (y + -2.0)) - (t * (a / b)));
} else if (b <= 5.8e+94) {
tmp = (x + (a * (1.0 - t))) + t_1;
} else {
tmp = (((y + t) - 2.0) * b) + 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 = z * (1.0d0 - y)
if (b <= (-7.4d+55)) then
tmp = b * ((t + (y + (-2.0d0))) - (t * (a / b)))
else if (b <= 5.8d+94) then
tmp = (x + (a * (1.0d0 - t))) + t_1
else
tmp = (((y + t) - 2.0d0) * b) + 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 = z * (1.0 - y);
double tmp;
if (b <= -7.4e+55) {
tmp = b * ((t + (y + -2.0)) - (t * (a / b)));
} else if (b <= 5.8e+94) {
tmp = (x + (a * (1.0 - t))) + t_1;
} else {
tmp = (((y + t) - 2.0) * b) + t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = z * (1.0 - y) tmp = 0 if b <= -7.4e+55: tmp = b * ((t + (y + -2.0)) - (t * (a / b))) elif b <= 5.8e+94: tmp = (x + (a * (1.0 - t))) + t_1 else: tmp = (((y + t) - 2.0) * b) + t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(z * Float64(1.0 - y)) tmp = 0.0 if (b <= -7.4e+55) tmp = Float64(b * Float64(Float64(t + Float64(y + -2.0)) - Float64(t * Float64(a / b)))); elseif (b <= 5.8e+94) tmp = Float64(Float64(x + Float64(a * Float64(1.0 - t))) + t_1); else tmp = Float64(Float64(Float64(Float64(y + t) - 2.0) * b) + t_1); 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 <= -7.4e+55) tmp = b * ((t + (y + -2.0)) - (t * (a / b))); elseif (b <= 5.8e+94) tmp = (x + (a * (1.0 - t))) + t_1; else tmp = (((y + t) - 2.0) * b) + t_1; 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[LessEqual[b, -7.4e+55], N[(b * N[(N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision] - N[(t * N[(a / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 5.8e+94], N[(N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], N[(N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision] + t$95$1), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(1 - y\right)\\
\mathbf{if}\;b \leq -7.4 \cdot 10^{+55}:\\
\;\;\;\;b \cdot \left(\left(t + \left(y + -2\right)\right) - t \cdot \frac{a}{b}\right)\\
\mathbf{elif}\;b \leq 5.8 \cdot 10^{+94}:\\
\;\;\;\;\left(x + a \cdot \left(1 - t\right)\right) + t\_1\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y + t\right) - 2\right) \cdot b + t\_1\\
\end{array}
\end{array}
if b < -7.4000000000000004e55Initial program 90.6%
Taylor expanded in b around -inf
mul-1-negN/A
distribute-rgt-neg-inN/A
distribute-lft-outN/A
mul-1-negN/A
remove-double-negN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
/-lowering-/.f64N/A
Simplified94.3%
Taylor expanded in t around inf
associate-*l/N/A
associate-*l*N/A
*-commutativeN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
/-lowering-/.f6487.5%
Simplified87.5%
if -7.4000000000000004e55 < b < 5.7999999999999997e94Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified92.1%
if 5.7999999999999997e94 < b Initial program 96.0%
Taylor expanded in z around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
neg-mul-1N/A
metadata-evalN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6492.0%
Simplified92.0%
Final simplification91.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* z (- 1.0 y))) (t_2 (* (- (+ y t) 2.0) b)))
(if (<= b -5e+67)
(+ x t_2)
(if (<= b 5.8e+94) (+ (+ x (* a (- 1.0 t))) t_1) (+ t_2 t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = z * (1.0 - y);
double t_2 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -5e+67) {
tmp = x + t_2;
} else if (b <= 5.8e+94) {
tmp = (x + (a * (1.0 - t))) + t_1;
} else {
tmp = t_2 + 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 = z * (1.0d0 - y)
t_2 = ((y + t) - 2.0d0) * b
if (b <= (-5d+67)) then
tmp = x + t_2
else if (b <= 5.8d+94) then
tmp = (x + (a * (1.0d0 - t))) + t_1
else
tmp = t_2 + 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 = z * (1.0 - y);
double t_2 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -5e+67) {
tmp = x + t_2;
} else if (b <= 5.8e+94) {
tmp = (x + (a * (1.0 - t))) + t_1;
} else {
tmp = t_2 + t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = z * (1.0 - y) t_2 = ((y + t) - 2.0) * b tmp = 0 if b <= -5e+67: tmp = x + t_2 elif b <= 5.8e+94: tmp = (x + (a * (1.0 - t))) + t_1 else: tmp = t_2 + t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(z * Float64(1.0 - y)) t_2 = Float64(Float64(Float64(y + t) - 2.0) * b) tmp = 0.0 if (b <= -5e+67) tmp = Float64(x + t_2); elseif (b <= 5.8e+94) tmp = Float64(Float64(x + Float64(a * Float64(1.0 - t))) + t_1); else tmp = Float64(t_2 + t_1); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = z * (1.0 - y); t_2 = ((y + t) - 2.0) * b; tmp = 0.0; if (b <= -5e+67) tmp = x + t_2; elseif (b <= 5.8e+94) tmp = (x + (a * (1.0 - t))) + t_1; else tmp = t_2 + t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]}, If[LessEqual[b, -5e+67], N[(x + t$95$2), $MachinePrecision], If[LessEqual[b, 5.8e+94], N[(N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], N[(t$95$2 + t$95$1), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(1 - y\right)\\
t_2 := \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{if}\;b \leq -5 \cdot 10^{+67}:\\
\;\;\;\;x + t\_2\\
\mathbf{elif}\;b \leq 5.8 \cdot 10^{+94}:\\
\;\;\;\;\left(x + a \cdot \left(1 - t\right)\right) + t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2 + t\_1\\
\end{array}
\end{array}
if b < -4.99999999999999976e67Initial program 89.6%
Taylor expanded in x around inf
Simplified89.9%
if -4.99999999999999976e67 < b < 5.7999999999999997e94Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified91.2%
if 5.7999999999999997e94 < b Initial program 96.0%
Taylor expanded in z around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
neg-mul-1N/A
metadata-evalN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6492.0%
Simplified92.0%
Final simplification91.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* z (- 1.0 y))) (t_2 (* (- (+ y t) 2.0) b)))
(if (<= b -1.9e+68)
(+ x t_2)
(if (<= b 8.2e+84) (+ (* a (- 1.0 t)) t_1) (+ t_2 t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = z * (1.0 - y);
double t_2 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -1.9e+68) {
tmp = x + t_2;
} else if (b <= 8.2e+84) {
tmp = (a * (1.0 - t)) + t_1;
} else {
tmp = t_2 + 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 = z * (1.0d0 - y)
t_2 = ((y + t) - 2.0d0) * b
if (b <= (-1.9d+68)) then
tmp = x + t_2
else if (b <= 8.2d+84) then
tmp = (a * (1.0d0 - t)) + t_1
else
tmp = t_2 + 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 = z * (1.0 - y);
double t_2 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -1.9e+68) {
tmp = x + t_2;
} else if (b <= 8.2e+84) {
tmp = (a * (1.0 - t)) + t_1;
} else {
tmp = t_2 + t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = z * (1.0 - y) t_2 = ((y + t) - 2.0) * b tmp = 0 if b <= -1.9e+68: tmp = x + t_2 elif b <= 8.2e+84: tmp = (a * (1.0 - t)) + t_1 else: tmp = t_2 + t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(z * Float64(1.0 - y)) t_2 = Float64(Float64(Float64(y + t) - 2.0) * b) tmp = 0.0 if (b <= -1.9e+68) tmp = Float64(x + t_2); elseif (b <= 8.2e+84) tmp = Float64(Float64(a * Float64(1.0 - t)) + t_1); else tmp = Float64(t_2 + t_1); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = z * (1.0 - y); t_2 = ((y + t) - 2.0) * b; tmp = 0.0; if (b <= -1.9e+68) tmp = x + t_2; elseif (b <= 8.2e+84) tmp = (a * (1.0 - t)) + t_1; else tmp = t_2 + t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]}, If[LessEqual[b, -1.9e+68], N[(x + t$95$2), $MachinePrecision], If[LessEqual[b, 8.2e+84], N[(N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], N[(t$95$2 + t$95$1), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(1 - y\right)\\
t_2 := \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{if}\;b \leq -1.9 \cdot 10^{+68}:\\
\;\;\;\;x + t\_2\\
\mathbf{elif}\;b \leq 8.2 \cdot 10^{+84}:\\
\;\;\;\;a \cdot \left(1 - t\right) + t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2 + t\_1\\
\end{array}
\end{array}
if b < -1.9e68Initial program 89.6%
Taylor expanded in x around inf
Simplified89.9%
if -1.9e68 < b < 8.2000000000000006e84Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified91.1%
Taylor expanded in x around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
--lowering--.f6471.2%
Simplified71.2%
if 8.2000000000000006e84 < b Initial program 96.1%
Taylor expanded in z around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
neg-mul-1N/A
metadata-evalN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6490.3%
Simplified90.3%
Final simplification78.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* a (- 1.0 t))) (t_2 (* (- (+ y t) 2.0) b)))
(if (<= b -2.7e+68)
(+ x t_2)
(if (<= b 2.7e+56) (+ t_1 (* z (- 1.0 y))) (+ t_2 t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (1.0 - t);
double t_2 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -2.7e+68) {
tmp = x + t_2;
} else if (b <= 2.7e+56) {
tmp = t_1 + (z * (1.0 - y));
} else {
tmp = t_2 + 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 = a * (1.0d0 - t)
t_2 = ((y + t) - 2.0d0) * b
if (b <= (-2.7d+68)) then
tmp = x + t_2
else if (b <= 2.7d+56) then
tmp = t_1 + (z * (1.0d0 - y))
else
tmp = t_2 + 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 t_2 = ((y + t) - 2.0) * b;
double tmp;
if (b <= -2.7e+68) {
tmp = x + t_2;
} else if (b <= 2.7e+56) {
tmp = t_1 + (z * (1.0 - y));
} else {
tmp = t_2 + t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (1.0 - t) t_2 = ((y + t) - 2.0) * b tmp = 0 if b <= -2.7e+68: tmp = x + t_2 elif b <= 2.7e+56: tmp = t_1 + (z * (1.0 - y)) else: tmp = t_2 + t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(a * Float64(1.0 - t)) t_2 = Float64(Float64(Float64(y + t) - 2.0) * b) tmp = 0.0 if (b <= -2.7e+68) tmp = Float64(x + t_2); elseif (b <= 2.7e+56) tmp = Float64(t_1 + Float64(z * Float64(1.0 - y))); else tmp = Float64(t_2 + t_1); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = a * (1.0 - t); t_2 = ((y + t) - 2.0) * b; tmp = 0.0; if (b <= -2.7e+68) tmp = x + t_2; elseif (b <= 2.7e+56) tmp = t_1 + (z * (1.0 - y)); else tmp = t_2 + 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]}, Block[{t$95$2 = N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]}, If[LessEqual[b, -2.7e+68], N[(x + t$95$2), $MachinePrecision], If[LessEqual[b, 2.7e+56], N[(t$95$1 + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t$95$2 + t$95$1), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
t_2 := \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{if}\;b \leq -2.7 \cdot 10^{+68}:\\
\;\;\;\;x + t\_2\\
\mathbf{elif}\;b \leq 2.7 \cdot 10^{+56}:\\
\;\;\;\;t\_1 + z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2 + t\_1\\
\end{array}
\end{array}
if b < -2.69999999999999991e68Initial program 89.6%
Taylor expanded in x around inf
Simplified89.9%
if -2.69999999999999991e68 < b < 2.7000000000000001e56Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified91.6%
Taylor expanded in x around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
--lowering--.f6471.3%
Simplified71.3%
if 2.7000000000000001e56 < b Initial program 96.3%
Taylor expanded in a around inf
sub-negN/A
neg-mul-1N/A
metadata-evalN/A
distribute-lft-inN/A
+-commutativeN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6484.2%
Simplified84.2%
Final simplification77.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* b (+ t (+ y -2.0)))))
(if (<= b -2.2e+55)
t_1
(if (<= b 3.4e-281)
(+ x (* a (- 1.0 t)))
(if (<= b 4.7e+55) (* z (- 1.0 y)) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = b * (t + (y + -2.0));
double tmp;
if (b <= -2.2e+55) {
tmp = t_1;
} else if (b <= 3.4e-281) {
tmp = x + (a * (1.0 - t));
} else if (b <= 4.7e+55) {
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 = b * (t + (y + (-2.0d0)))
if (b <= (-2.2d+55)) then
tmp = t_1
else if (b <= 3.4d-281) then
tmp = x + (a * (1.0d0 - t))
else if (b <= 4.7d+55) 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 = b * (t + (y + -2.0));
double tmp;
if (b <= -2.2e+55) {
tmp = t_1;
} else if (b <= 3.4e-281) {
tmp = x + (a * (1.0 - t));
} else if (b <= 4.7e+55) {
tmp = z * (1.0 - y);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = b * (t + (y + -2.0)) tmp = 0 if b <= -2.2e+55: tmp = t_1 elif b <= 3.4e-281: tmp = x + (a * (1.0 - t)) elif b <= 4.7e+55: tmp = z * (1.0 - y) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(b * Float64(t + Float64(y + -2.0))) tmp = 0.0 if (b <= -2.2e+55) tmp = t_1; elseif (b <= 3.4e-281) tmp = Float64(x + Float64(a * Float64(1.0 - t))); elseif (b <= 4.7e+55) 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 = b * (t + (y + -2.0)); tmp = 0.0; if (b <= -2.2e+55) tmp = t_1; elseif (b <= 3.4e-281) tmp = x + (a * (1.0 - t)); elseif (b <= 4.7e+55) 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[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -2.2e+55], t$95$1, If[LessEqual[b, 3.4e-281], N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 4.7e+55], N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(t + \left(y + -2\right)\right)\\
\mathbf{if}\;b \leq -2.2 \cdot 10^{+55}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 3.4 \cdot 10^{-281}:\\
\;\;\;\;x + a \cdot \left(1 - t\right)\\
\mathbf{elif}\;b \leq 4.7 \cdot 10^{+55}:\\
\;\;\;\;z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -2.2000000000000001e55 or 4.7000000000000001e55 < b Initial program 93.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval80.3%
Simplified80.3%
if -2.2000000000000001e55 < b < 3.4e-281Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified92.2%
Taylor expanded in z around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f6461.1%
Simplified61.1%
if 3.4e-281 < b < 4.7000000000000001e55Initial program 100.0%
Taylor expanded in z around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
neg-mul-1N/A
metadata-evalN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6460.3%
Simplified60.3%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ x (* (- (+ y t) 2.0) b))))
(if (<= b -2.15e+68)
t_1
(if (<= b 1.7e+91) (+ (* a (- 1.0 t)) (* z (- 1.0 y))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (((y + t) - 2.0) * b);
double tmp;
if (b <= -2.15e+68) {
tmp = t_1;
} else if (b <= 1.7e+91) {
tmp = (a * (1.0 - t)) + (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 + (((y + t) - 2.0d0) * b)
if (b <= (-2.15d+68)) then
tmp = t_1
else if (b <= 1.7d+91) then
tmp = (a * (1.0d0 - t)) + (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 + (((y + t) - 2.0) * b);
double tmp;
if (b <= -2.15e+68) {
tmp = t_1;
} else if (b <= 1.7e+91) {
tmp = (a * (1.0 - t)) + (z * (1.0 - y));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x + (((y + t) - 2.0) * b) tmp = 0 if b <= -2.15e+68: tmp = t_1 elif b <= 1.7e+91: tmp = (a * (1.0 - t)) + (z * (1.0 - y)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x + Float64(Float64(Float64(y + t) - 2.0) * b)) tmp = 0.0 if (b <= -2.15e+68) tmp = t_1; elseif (b <= 1.7e+91) tmp = Float64(Float64(a * Float64(1.0 - t)) + 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 + (((y + t) - 2.0) * b); tmp = 0.0; if (b <= -2.15e+68) tmp = t_1; elseif (b <= 1.7e+91) tmp = (a * (1.0 - t)) + (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[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -2.15e+68], t$95$1, If[LessEqual[b, 1.7e+91], N[(N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision] + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{if}\;b \leq -2.15 \cdot 10^{+68}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 1.7 \cdot 10^{+91}:\\
\;\;\;\;a \cdot \left(1 - t\right) + z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -2.1500000000000001e68 or 1.7e91 < b Initial program 92.9%
Taylor expanded in x around inf
Simplified87.5%
if -2.1500000000000001e68 < b < 1.7e91Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified91.1%
Taylor expanded in x around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
--lowering--.f6471.2%
Simplified71.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -7e+41)
t_1
(if (<= t -5.2e-127)
(* z (- 1.0 y))
(if (<= t 1.65e+31) (* y (- b 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 <= -7e+41) {
tmp = t_1;
} else if (t <= -5.2e-127) {
tmp = z * (1.0 - y);
} else if (t <= 1.65e+31) {
tmp = y * (b - 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 <= (-7d+41)) then
tmp = t_1
else if (t <= (-5.2d-127)) then
tmp = z * (1.0d0 - y)
else if (t <= 1.65d+31) then
tmp = y * (b - 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 <= -7e+41) {
tmp = t_1;
} else if (t <= -5.2e-127) {
tmp = z * (1.0 - y);
} else if (t <= 1.65e+31) {
tmp = y * (b - z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -7e+41: tmp = t_1 elif t <= -5.2e-127: tmp = z * (1.0 - y) elif t <= 1.65e+31: tmp = y * (b - 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 <= -7e+41) tmp = t_1; elseif (t <= -5.2e-127) tmp = Float64(z * Float64(1.0 - y)); elseif (t <= 1.65e+31) tmp = Float64(y * Float64(b - 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 <= -7e+41) tmp = t_1; elseif (t <= -5.2e-127) tmp = z * (1.0 - y); elseif (t <= 1.65e+31) tmp = y * (b - 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, -7e+41], t$95$1, If[LessEqual[t, -5.2e-127], N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.65e+31], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -7 \cdot 10^{+41}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -5.2 \cdot 10^{-127}:\\
\;\;\;\;z \cdot \left(1 - y\right)\\
\mathbf{elif}\;t \leq 1.65 \cdot 10^{+31}:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -6.9999999999999998e41 or 1.64999999999999996e31 < t Initial program 95.7%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6469.1%
Simplified69.1%
if -6.9999999999999998e41 < t < -5.19999999999999982e-127Initial program 97.4%
Taylor expanded in z around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
neg-mul-1N/A
metadata-evalN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6447.8%
Simplified47.8%
if -5.19999999999999982e-127 < t < 1.64999999999999996e31Initial program 99.0%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6447.1%
Simplified47.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -4.7e+22)
t_1
(if (<= t -1.76e-102) (+ x a) (if (<= t 7e+28) (* 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 <= -4.7e+22) {
tmp = t_1;
} else if (t <= -1.76e-102) {
tmp = x + a;
} else if (t <= 7e+28) {
tmp = 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 <= (-4.7d+22)) then
tmp = t_1
else if (t <= (-1.76d-102)) then
tmp = x + a
else if (t <= 7d+28) then
tmp = 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 <= -4.7e+22) {
tmp = t_1;
} else if (t <= -1.76e-102) {
tmp = x + a;
} else if (t <= 7e+28) {
tmp = 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 <= -4.7e+22: tmp = t_1 elif t <= -1.76e-102: tmp = x + a elif t <= 7e+28: tmp = 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 <= -4.7e+22) tmp = t_1; elseif (t <= -1.76e-102) tmp = Float64(x + a); elseif (t <= 7e+28) tmp = 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 <= -4.7e+22) tmp = t_1; elseif (t <= -1.76e-102) tmp = x + a; elseif (t <= 7e+28) tmp = 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, -4.7e+22], t$95$1, If[LessEqual[t, -1.76e-102], N[(x + a), $MachinePrecision], If[LessEqual[t, 7e+28], N[(b * N[(y + -2.0), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -4.7 \cdot 10^{+22}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -1.76 \cdot 10^{-102}:\\
\;\;\;\;x + a\\
\mathbf{elif}\;t \leq 7 \cdot 10^{+28}:\\
\;\;\;\;b \cdot \left(y + -2\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -4.70000000000000021e22 or 6.9999999999999999e28 < t Initial program 95.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6467.0%
Simplified67.0%
if -4.70000000000000021e22 < t < -1.7599999999999999e-102Initial program 96.4%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified86.4%
Taylor expanded in z around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f6443.2%
Simplified43.2%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6441.8%
Simplified41.8%
if -1.7599999999999999e-102 < t < 6.9999999999999999e28Initial program 99.0%
Taylor expanded in y around 0
+-commutativeN/A
associate--l+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
cancel-sign-sub-invN/A
metadata-evalN/A
*-lft-identityN/A
+-commutativeN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
Simplified99.0%
Taylor expanded in t around 0
associate-+r+N/A
associate-+r+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64100.0%
Simplified100.0%
Taylor expanded in b around inf
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f6440.0%
Simplified40.0%
Final simplification53.2%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (+ x (* (- (+ y t) 2.0) b)))) (if (<= b -7.2e+54) t_1 (if (<= b 6.3e+56) (+ x (* z (- 1.0 y))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (((y + t) - 2.0) * b);
double tmp;
if (b <= -7.2e+54) {
tmp = t_1;
} else if (b <= 6.3e+56) {
tmp = x + (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 + (((y + t) - 2.0d0) * b)
if (b <= (-7.2d+54)) then
tmp = t_1
else if (b <= 6.3d+56) then
tmp = x + (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 + (((y + t) - 2.0) * b);
double tmp;
if (b <= -7.2e+54) {
tmp = t_1;
} else if (b <= 6.3e+56) {
tmp = x + (z * (1.0 - y));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x + (((y + t) - 2.0) * b) tmp = 0 if b <= -7.2e+54: tmp = t_1 elif b <= 6.3e+56: tmp = x + (z * (1.0 - y)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x + Float64(Float64(Float64(y + t) - 2.0) * b)) tmp = 0.0 if (b <= -7.2e+54) tmp = t_1; elseif (b <= 6.3e+56) tmp = Float64(x + 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 + (((y + t) - 2.0) * b); tmp = 0.0; if (b <= -7.2e+54) tmp = t_1; elseif (b <= 6.3e+56) tmp = x + (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[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -7.2e+54], t$95$1, If[LessEqual[b, 6.3e+56], N[(x + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{if}\;b \leq -7.2 \cdot 10^{+54}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 6.3 \cdot 10^{+56}:\\
\;\;\;\;x + z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -7.2000000000000003e54 or 6.3000000000000001e56 < b Initial program 93.5%
Taylor expanded in x around inf
Simplified84.8%
if -7.2000000000000003e54 < b < 6.3000000000000001e56Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified92.6%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f6465.7%
Simplified65.7%
(FPCore (x y z t a b) :precision binary64 (if (<= b -2e+19) (* t b) (if (<= b 3.8e-291) x (if (<= b 60.0) z (* y b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -2e+19) {
tmp = t * b;
} else if (b <= 3.8e-291) {
tmp = x;
} else if (b <= 60.0) {
tmp = z;
} else {
tmp = y * 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 (b <= (-2d+19)) then
tmp = t * b
else if (b <= 3.8d-291) then
tmp = x
else if (b <= 60.0d0) then
tmp = z
else
tmp = y * 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 (b <= -2e+19) {
tmp = t * b;
} else if (b <= 3.8e-291) {
tmp = x;
} else if (b <= 60.0) {
tmp = z;
} else {
tmp = y * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -2e+19: tmp = t * b elif b <= 3.8e-291: tmp = x elif b <= 60.0: tmp = z else: tmp = y * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -2e+19) tmp = Float64(t * b); elseif (b <= 3.8e-291) tmp = x; elseif (b <= 60.0) tmp = z; else tmp = Float64(y * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -2e+19) tmp = t * b; elseif (b <= 3.8e-291) tmp = x; elseif (b <= 60.0) tmp = z; else tmp = y * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -2e+19], N[(t * b), $MachinePrecision], If[LessEqual[b, 3.8e-291], x, If[LessEqual[b, 60.0], z, N[(y * b), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -2 \cdot 10^{+19}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;b \leq 3.8 \cdot 10^{-291}:\\
\;\;\;\;x\\
\mathbf{elif}\;b \leq 60:\\
\;\;\;\;z\\
\mathbf{else}:\\
\;\;\;\;y \cdot b\\
\end{array}
\end{array}
if b < -2e19Initial program 91.9%
Taylor expanded in x around inf
Simplified78.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6442.6%
Simplified42.6%
if -2e19 < b < 3.7999999999999998e-291Initial program 100.0%
Taylor expanded in x around inf
Simplified33.2%
if 3.7999999999999998e-291 < b < 60Initial program 100.0%
Taylor expanded in z around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
neg-mul-1N/A
metadata-evalN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6460.5%
Simplified60.5%
Taylor expanded in y around 0
Simplified21.6%
if 60 < b Initial program 96.8%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6449.3%
Simplified49.3%
Taylor expanded in b around inf
*-commutativeN/A
*-lowering-*.f6439.4%
Simplified39.4%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* b (+ t (+ y -2.0))))) (if (<= b -1.3e+56) t_1 (if (<= b 7.2e+94) (+ x (* z (- 1.0 y))) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = b * (t + (y + -2.0));
double tmp;
if (b <= -1.3e+56) {
tmp = t_1;
} else if (b <= 7.2e+94) {
tmp = x + (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 = b * (t + (y + (-2.0d0)))
if (b <= (-1.3d+56)) then
tmp = t_1
else if (b <= 7.2d+94) then
tmp = x + (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 = b * (t + (y + -2.0));
double tmp;
if (b <= -1.3e+56) {
tmp = t_1;
} else if (b <= 7.2e+94) {
tmp = x + (z * (1.0 - y));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = b * (t + (y + -2.0)) tmp = 0 if b <= -1.3e+56: tmp = t_1 elif b <= 7.2e+94: tmp = x + (z * (1.0 - y)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(b * Float64(t + Float64(y + -2.0))) tmp = 0.0 if (b <= -1.3e+56) tmp = t_1; elseif (b <= 7.2e+94) tmp = Float64(x + 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 = b * (t + (y + -2.0)); tmp = 0.0; if (b <= -1.3e+56) tmp = t_1; elseif (b <= 7.2e+94) tmp = x + (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[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.3e+56], t$95$1, If[LessEqual[b, 7.2e+94], N[(x + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(t + \left(y + -2\right)\right)\\
\mathbf{if}\;b \leq -1.3 \cdot 10^{+56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 7.2 \cdot 10^{+94}:\\
\;\;\;\;x + z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1.30000000000000005e56 or 7.19999999999999985e94 < b Initial program 93.1%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval83.1%
Simplified83.1%
if -1.30000000000000005e56 < b < 7.19999999999999985e94Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified92.1%
Taylor expanded in a around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f6464.8%
Simplified64.8%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* t (- b a)))) (if (<= t -3.5e+27) t_1 (if (<= t 3.4e+31) (+ x (* y b)) 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.5e+27) {
tmp = t_1;
} else if (t <= 3.4e+31) {
tmp = x + (y * b);
} 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.5d+27)) then
tmp = t_1
else if (t <= 3.4d+31) then
tmp = x + (y * b)
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.5e+27) {
tmp = t_1;
} else if (t <= 3.4e+31) {
tmp = x + (y * b);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -3.5e+27: tmp = t_1 elif t <= 3.4e+31: tmp = x + (y * b) 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.5e+27) tmp = t_1; elseif (t <= 3.4e+31) tmp = Float64(x + Float64(y * b)); 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.5e+27) tmp = t_1; elseif (t <= 3.4e+31) tmp = x + (y * b); 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.5e+27], t$95$1, If[LessEqual[t, 3.4e+31], N[(x + N[(y * b), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -3.5 \cdot 10^{+27}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 3.4 \cdot 10^{+31}:\\
\;\;\;\;x + y \cdot b\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -3.5000000000000002e27 or 3.3999999999999998e31 < t Initial program 95.8%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6468.5%
Simplified68.5%
if -3.5000000000000002e27 < t < 3.3999999999999998e31Initial program 98.5%
Taylor expanded in x around inf
Simplified57.0%
Taylor expanded in y around inf
*-commutativeN/A
*-lowering-*.f6446.0%
Simplified46.0%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* t (- b a)))) (if (<= t -6.4e+30) t_1 (if (<= t 1.8e+31) (* y (- b 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 <= -6.4e+30) {
tmp = t_1;
} else if (t <= 1.8e+31) {
tmp = y * (b - 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 <= (-6.4d+30)) then
tmp = t_1
else if (t <= 1.8d+31) then
tmp = y * (b - 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 <= -6.4e+30) {
tmp = t_1;
} else if (t <= 1.8e+31) {
tmp = y * (b - z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -6.4e+30: tmp = t_1 elif t <= 1.8e+31: tmp = y * (b - 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 <= -6.4e+30) tmp = t_1; elseif (t <= 1.8e+31) tmp = Float64(y * Float64(b - 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 <= -6.4e+30) tmp = t_1; elseif (t <= 1.8e+31) tmp = y * (b - 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, -6.4e+30], t$95$1, If[LessEqual[t, 1.8e+31], N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -6.4 \cdot 10^{+30}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.8 \cdot 10^{+31}:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -6.39999999999999945e30 or 1.79999999999999998e31 < t Initial program 95.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6468.0%
Simplified68.0%
if -6.39999999999999945e30 < t < 1.79999999999999998e31Initial program 98.5%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6443.3%
Simplified43.3%
(FPCore (x y z t a b) :precision binary64 (if (<= b -2.5e+90) (* t b) (if (<= b 3.7e+84) (* a (- 1.0 t)) (* b (+ y -2.0)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -2.5e+90) {
tmp = t * b;
} else if (b <= 3.7e+84) {
tmp = a * (1.0 - t);
} else {
tmp = b * (y + -2.0);
}
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.5d+90)) then
tmp = t * b
else if (b <= 3.7d+84) then
tmp = a * (1.0d0 - t)
else
tmp = b * (y + (-2.0d0))
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.5e+90) {
tmp = t * b;
} else if (b <= 3.7e+84) {
tmp = a * (1.0 - t);
} else {
tmp = b * (y + -2.0);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -2.5e+90: tmp = t * b elif b <= 3.7e+84: tmp = a * (1.0 - t) else: tmp = b * (y + -2.0) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -2.5e+90) tmp = Float64(t * b); elseif (b <= 3.7e+84) tmp = Float64(a * Float64(1.0 - t)); else tmp = Float64(b * Float64(y + -2.0)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -2.5e+90) tmp = t * b; elseif (b <= 3.7e+84) tmp = a * (1.0 - t); else tmp = b * (y + -2.0); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -2.5e+90], N[(t * b), $MachinePrecision], If[LessEqual[b, 3.7e+84], N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision], N[(b * N[(y + -2.0), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -2.5 \cdot 10^{+90}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;b \leq 3.7 \cdot 10^{+84}:\\
\;\;\;\;a \cdot \left(1 - t\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y + -2\right)\\
\end{array}
\end{array}
if b < -2.5000000000000002e90Initial program 88.6%
Taylor expanded in x around inf
Simplified91.2%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6451.3%
Simplified51.3%
if -2.5000000000000002e90 < b < 3.7e84Initial program 100.0%
Taylor expanded in a around inf
sub-negN/A
neg-mul-1N/A
metadata-evalN/A
distribute-lft-inN/A
+-commutativeN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6431.8%
Simplified31.8%
if 3.7e84 < b Initial program 96.1%
Taylor expanded in y around 0
+-commutativeN/A
associate--l+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
cancel-sign-sub-invN/A
metadata-evalN/A
*-lft-identityN/A
+-commutativeN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
Simplified90.2%
Taylor expanded in t around 0
associate-+r+N/A
associate-+r+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f6480.9%
Simplified80.9%
Taylor expanded in b around inf
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
+-lowering-+.f6462.3%
Simplified62.3%
Final simplification41.2%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* a (- 1.0 t)))) (if (<= t -9.5e+33) t_1 (if (<= t 7e+61) (+ x a) 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 (t <= -9.5e+33) {
tmp = t_1;
} else if (t <= 7e+61) {
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 = a * (1.0d0 - t)
if (t <= (-9.5d+33)) then
tmp = t_1
else if (t <= 7d+61) 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 = a * (1.0 - t);
double tmp;
if (t <= -9.5e+33) {
tmp = t_1;
} else if (t <= 7e+61) {
tmp = x + a;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (1.0 - t) tmp = 0 if t <= -9.5e+33: tmp = t_1 elif t <= 7e+61: tmp = x + a else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(a * Float64(1.0 - t)) tmp = 0.0 if (t <= -9.5e+33) tmp = t_1; elseif (t <= 7e+61) tmp = Float64(x + a); else tmp = 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 (t <= -9.5e+33) tmp = t_1; elseif (t <= 7e+61) tmp = x + a; else tmp = 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[t, -9.5e+33], t$95$1, If[LessEqual[t, 7e+61], N[(x + a), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
\mathbf{if}\;t \leq -9.5 \cdot 10^{+33}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 7 \cdot 10^{+61}:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -9.5000000000000003e33 or 7.00000000000000036e61 < t Initial program 95.4%
Taylor expanded in a around inf
sub-negN/A
neg-mul-1N/A
metadata-evalN/A
distribute-lft-inN/A
+-commutativeN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6448.5%
Simplified48.5%
if -9.5000000000000003e33 < t < 7.00000000000000036e61Initial program 98.6%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified68.4%
Taylor expanded in z around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f6432.8%
Simplified32.8%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6432.6%
Simplified32.6%
(FPCore (x y z t a b) :precision binary64 (if (<= b -5.8e+19) (* t b) (if (<= b 1.06e+105) (+ x a) (* y b))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -5.8e+19) {
tmp = t * b;
} else if (b <= 1.06e+105) {
tmp = x + a;
} else {
tmp = y * 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 (b <= (-5.8d+19)) then
tmp = t * b
else if (b <= 1.06d+105) then
tmp = x + a
else
tmp = y * 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 (b <= -5.8e+19) {
tmp = t * b;
} else if (b <= 1.06e+105) {
tmp = x + a;
} else {
tmp = y * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -5.8e+19: tmp = t * b elif b <= 1.06e+105: tmp = x + a else: tmp = y * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -5.8e+19) tmp = Float64(t * b); elseif (b <= 1.06e+105) tmp = Float64(x + a); else tmp = Float64(y * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -5.8e+19) tmp = t * b; elseif (b <= 1.06e+105) tmp = x + a; else tmp = y * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -5.8e+19], N[(t * b), $MachinePrecision], If[LessEqual[b, 1.06e+105], N[(x + a), $MachinePrecision], N[(y * b), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -5.8 \cdot 10^{+19}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;b \leq 1.06 \cdot 10^{+105}:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;y \cdot b\\
\end{array}
\end{array}
if b < -5.8e19Initial program 91.9%
Taylor expanded in x around inf
Simplified78.7%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6442.6%
Simplified42.6%
if -5.8e19 < b < 1.06e105Initial program 100.0%
Taylor expanded in b around 0
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
Simplified91.1%
Taylor expanded in z around 0
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f6450.9%
Simplified50.9%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6430.0%
Simplified30.0%
if 1.06e105 < b Initial program 95.7%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6455.5%
Simplified55.5%
Taylor expanded in b around inf
*-commutativeN/A
*-lowering-*.f6449.2%
Simplified49.2%
(FPCore (x y z t a b) :precision binary64 (if (<= t -5.2e+31) (* t b) (if (<= t 6e+33) x (* t b))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -5.2e+31) {
tmp = t * b;
} else if (t <= 6e+33) {
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 <= (-5.2d+31)) then
tmp = t * b
else if (t <= 6d+33) 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 <= -5.2e+31) {
tmp = t * b;
} else if (t <= 6e+33) {
tmp = x;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -5.2e+31: tmp = t * b elif t <= 6e+33: tmp = x else: tmp = t * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -5.2e+31) tmp = Float64(t * b); elseif (t <= 6e+33) 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 <= -5.2e+31) tmp = t * b; elseif (t <= 6e+33) tmp = x; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -5.2e+31], N[(t * b), $MachinePrecision], If[LessEqual[t, 6e+33], x, N[(t * b), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -5.2 \cdot 10^{+31}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq 6 \cdot 10^{+33}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -5.2e31 or 5.99999999999999967e33 < t Initial program 95.8%
Taylor expanded in x around inf
Simplified48.4%
Taylor expanded in t around inf
*-commutativeN/A
*-lowering-*.f6437.0%
Simplified37.0%
if -5.2e31 < t < 5.99999999999999967e33Initial program 98.5%
Taylor expanded in x around inf
Simplified24.8%
(FPCore (x y z t a b) :precision binary64 (if (<= x -2.4e+54) x (if (<= x 5e+103) z x)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (x <= -2.4e+54) {
tmp = x;
} else if (x <= 5e+103) {
tmp = z;
} 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 <= (-2.4d+54)) then
tmp = x
else if (x <= 5d+103) then
tmp = z
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 <= -2.4e+54) {
tmp = x;
} else if (x <= 5e+103) {
tmp = z;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if x <= -2.4e+54: tmp = x elif x <= 5e+103: tmp = z else: tmp = x return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (x <= -2.4e+54) tmp = x; elseif (x <= 5e+103) tmp = z; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (x <= -2.4e+54) tmp = x; elseif (x <= 5e+103) tmp = z; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[x, -2.4e+54], x, If[LessEqual[x, 5e+103], z, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -2.4 \cdot 10^{+54}:\\
\;\;\;\;x\\
\mathbf{elif}\;x \leq 5 \cdot 10^{+103}:\\
\;\;\;\;z\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -2.39999999999999998e54 or 5e103 < x Initial program 95.7%
Taylor expanded in x around inf
Simplified37.0%
if -2.39999999999999998e54 < x < 5e103Initial program 98.1%
Taylor expanded in z around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
neg-mul-1N/A
metadata-evalN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-lft-inN/A
metadata-evalN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6440.2%
Simplified40.2%
Taylor expanded in y around 0
Simplified16.3%
(FPCore (x y z t a b) :precision binary64 (if (<= a -3.7e+111) a (if (<= a 1.5e+223) x a)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -3.7e+111) {
tmp = a;
} else if (a <= 1.5e+223) {
tmp = x;
} 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 (a <= (-3.7d+111)) then
tmp = a
else if (a <= 1.5d+223) then
tmp = x
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 (a <= -3.7e+111) {
tmp = a;
} else if (a <= 1.5e+223) {
tmp = x;
} else {
tmp = a;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if a <= -3.7e+111: tmp = a elif a <= 1.5e+223: tmp = x else: tmp = a return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (a <= -3.7e+111) tmp = a; elseif (a <= 1.5e+223) tmp = x; else tmp = a; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (a <= -3.7e+111) tmp = a; elseif (a <= 1.5e+223) tmp = x; else tmp = a; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[a, -3.7e+111], a, If[LessEqual[a, 1.5e+223], x, a]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.7 \cdot 10^{+111}:\\
\;\;\;\;a\\
\mathbf{elif}\;a \leq 1.5 \cdot 10^{+223}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;a\\
\end{array}
\end{array}
if a < -3.7000000000000003e111 or 1.50000000000000001e223 < a Initial program 89.5%
Taylor expanded in y around 0
+-commutativeN/A
associate--l+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
cancel-sign-sub-invN/A
metadata-evalN/A
*-lft-identityN/A
+-commutativeN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
Simplified89.5%
Taylor expanded in t around 0
associate-+r+N/A
associate-+r+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f6455.7%
Simplified55.7%
Taylor expanded in a around inf
Simplified18.8%
if -3.7000000000000003e111 < a < 1.50000000000000001e223Initial program 99.5%
Taylor expanded in x around inf
Simplified20.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 97.3%
Taylor expanded in y around 0
+-commutativeN/A
associate--l+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
associate--r+N/A
sub-negN/A
+-lowering-+.f64N/A
cancel-sign-sub-invN/A
metadata-evalN/A
*-lft-identityN/A
+-commutativeN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
sub-negN/A
Simplified95.3%
Taylor expanded in t around 0
associate-+r+N/A
associate-+r+N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f6473.2%
Simplified73.2%
Taylor expanded in a around inf
Simplified7.1%
herbie shell --seed 2024161
(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)))