
(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
(+ (+ (+ x (* z (- 1.0 y))) (* a (- 1.0 t))) (* (- (+ y t) 2.0) b))))
(if (<= t_1 INFINITY) t_1 (* b (+ t (+ y -2.0))))))
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 = b * (t + (y + -2.0));
}
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 = b * (t + (y + -2.0));
}
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 = b * (t + (y + -2.0)) 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(b * Float64(t + Float64(y + -2.0))); 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 = b * (t + (y + -2.0)); 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[(b * N[(t + N[(y + -2.0), $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}:\\
\;\;\;\;b \cdot \left(t + \left(y + -2\right)\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 b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval78.2
Simplified78.2%
Final simplification99.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (fma a (- 1.0 t) x))
(t_2 (* b (+ t (+ y -2.0))))
(t_3 (fma z (- 1.0 y) x)))
(if (<= b -6.8e+105)
t_2
(if (<= b -1.05e+29)
t_1
(if (<= b -1.08e-91)
t_3
(if (<= b -6.5e-267)
t_1
(if (<= b 1.2) t_3 (if (<= b 1.7e+165) t_1 t_2))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = fma(a, (1.0 - t), x);
double t_2 = b * (t + (y + -2.0));
double t_3 = fma(z, (1.0 - y), x);
double tmp;
if (b <= -6.8e+105) {
tmp = t_2;
} else if (b <= -1.05e+29) {
tmp = t_1;
} else if (b <= -1.08e-91) {
tmp = t_3;
} else if (b <= -6.5e-267) {
tmp = t_1;
} else if (b <= 1.2) {
tmp = t_3;
} else if (b <= 1.7e+165) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b) t_1 = fma(a, Float64(1.0 - t), x) t_2 = Float64(b * Float64(t + Float64(y + -2.0))) t_3 = fma(z, Float64(1.0 - y), x) tmp = 0.0 if (b <= -6.8e+105) tmp = t_2; elseif (b <= -1.05e+29) tmp = t_1; elseif (b <= -1.08e-91) tmp = t_3; elseif (b <= -6.5e-267) tmp = t_1; elseif (b <= 1.2) tmp = t_3; elseif (b <= 1.7e+165) tmp = t_1; else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a * N[(1.0 - t), $MachinePrecision] + x), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(z * N[(1.0 - y), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[b, -6.8e+105], t$95$2, If[LessEqual[b, -1.05e+29], t$95$1, If[LessEqual[b, -1.08e-91], t$95$3, If[LessEqual[b, -6.5e-267], t$95$1, If[LessEqual[b, 1.2], t$95$3, If[LessEqual[b, 1.7e+165], t$95$1, t$95$2]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(a, 1 - t, x\right)\\
t_2 := b \cdot \left(t + \left(y + -2\right)\right)\\
t_3 := \mathsf{fma}\left(z, 1 - y, x\right)\\
\mathbf{if}\;b \leq -6.8 \cdot 10^{+105}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq -1.05 \cdot 10^{+29}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -1.08 \cdot 10^{-91}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;b \leq -6.5 \cdot 10^{-267}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 1.2:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;b \leq 1.7 \cdot 10^{+165}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if b < -6.7999999999999999e105 or 1.70000000000000005e165 < b Initial program 92.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval88.4
Simplified88.4%
if -6.7999999999999999e105 < b < -1.0500000000000001e29 or -1.07999999999999998e-91 < b < -6.4999999999999999e-267 or 1.19999999999999996 < b < 1.70000000000000005e165Initial program 95.7%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6484.5
Simplified84.5%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6465.5
Simplified65.5%
if -1.0500000000000001e29 < b < -1.07999999999999998e-91 or -6.4999999999999999e-267 < b < 1.19999999999999996Initial program 100.0%
Taylor expanded in a around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6478.5
Simplified78.5%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6470.8
Simplified70.8%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (fma z (- 1.0 y) x))
(t_2 (* t (- b a)))
(t_3 (fma b (+ y -2.0) a)))
(if (<= t -1.7e+65)
t_2
(if (<= t -1.05e-47)
t_1
(if (<= t -6e-107)
t_3
(if (<= t 1.35e-200)
t_1
(if (<= t 1.32e-11) t_3 (if (<= t 9.5e+54) t_1 t_2))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = fma(z, (1.0 - y), x);
double t_2 = t * (b - a);
double t_3 = fma(b, (y + -2.0), a);
double tmp;
if (t <= -1.7e+65) {
tmp = t_2;
} else if (t <= -1.05e-47) {
tmp = t_1;
} else if (t <= -6e-107) {
tmp = t_3;
} else if (t <= 1.35e-200) {
tmp = t_1;
} else if (t <= 1.32e-11) {
tmp = t_3;
} else if (t <= 9.5e+54) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b) t_1 = fma(z, Float64(1.0 - y), x) t_2 = Float64(t * Float64(b - a)) t_3 = fma(b, Float64(y + -2.0), a) tmp = 0.0 if (t <= -1.7e+65) tmp = t_2; elseif (t <= -1.05e-47) tmp = t_1; elseif (t <= -6e-107) tmp = t_3; elseif (t <= 1.35e-200) tmp = t_1; elseif (t <= 1.32e-11) tmp = t_3; elseif (t <= 9.5e+54) tmp = t_1; else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(z * N[(1.0 - y), $MachinePrecision] + x), $MachinePrecision]}, Block[{t$95$2 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(b * N[(y + -2.0), $MachinePrecision] + a), $MachinePrecision]}, If[LessEqual[t, -1.7e+65], t$95$2, If[LessEqual[t, -1.05e-47], t$95$1, If[LessEqual[t, -6e-107], t$95$3, If[LessEqual[t, 1.35e-200], t$95$1, If[LessEqual[t, 1.32e-11], t$95$3, If[LessEqual[t, 9.5e+54], t$95$1, t$95$2]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(z, 1 - y, x\right)\\
t_2 := t \cdot \left(b - a\right)\\
t_3 := \mathsf{fma}\left(b, y + -2, a\right)\\
\mathbf{if}\;t \leq -1.7 \cdot 10^{+65}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -1.05 \cdot 10^{-47}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -6 \cdot 10^{-107}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;t \leq 1.35 \cdot 10^{-200}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.32 \cdot 10^{-11}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;t \leq 9.5 \cdot 10^{+54}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -1.7e65 or 9.4999999999999999e54 < t Initial program 92.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6480.9
Simplified80.9%
if -1.7e65 < t < -1.05e-47 or -5.9999999999999994e-107 < t < 1.3500000000000001e-200 or 1.32e-11 < t < 9.4999999999999999e54Initial program 98.2%
Taylor expanded in a around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6482.4
Simplified82.4%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6464.0
Simplified64.0%
if -1.05e-47 < t < -5.9999999999999994e-107 or 1.3500000000000001e-200 < t < 1.32e-11Initial program 98.3%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6477.7
Simplified77.7%
Taylor expanded in t around 0
associate-+r+N/A
+-commutativeN/A
associate-+l+N/A
+-lowering-+.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval77.6
Simplified77.6%
Taylor expanded in x around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6464.5
Simplified64.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* z (- 1.0 y))) (t_2 (* t (- b a))))
(if (<= t -4.2e+40)
t_2
(if (<= t -6.5e-230)
(fma y b x)
(if (<= t -4.4e-259)
t_1
(if (<= t 78.0) (+ x a) (if (<= t 1.82e+53) t_1 t_2)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = z * (1.0 - y);
double t_2 = t * (b - a);
double tmp;
if (t <= -4.2e+40) {
tmp = t_2;
} else if (t <= -6.5e-230) {
tmp = fma(y, b, x);
} else if (t <= -4.4e-259) {
tmp = t_1;
} else if (t <= 78.0) {
tmp = x + a;
} else if (t <= 1.82e+53) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b) t_1 = Float64(z * Float64(1.0 - y)) t_2 = Float64(t * Float64(b - a)) tmp = 0.0 if (t <= -4.2e+40) tmp = t_2; elseif (t <= -6.5e-230) tmp = fma(y, b, x); elseif (t <= -4.4e-259) tmp = t_1; elseif (t <= 78.0) tmp = Float64(x + a); elseif (t <= 1.82e+53) tmp = t_1; else tmp = t_2; end return 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[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.2e+40], t$95$2, If[LessEqual[t, -6.5e-230], N[(y * b + x), $MachinePrecision], If[LessEqual[t, -4.4e-259], t$95$1, If[LessEqual[t, 78.0], N[(x + a), $MachinePrecision], If[LessEqual[t, 1.82e+53], t$95$1, t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(1 - y\right)\\
t_2 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -4.2 \cdot 10^{+40}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -6.5 \cdot 10^{-230}:\\
\;\;\;\;\mathsf{fma}\left(y, b, x\right)\\
\mathbf{elif}\;t \leq -4.4 \cdot 10^{-259}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 78:\\
\;\;\;\;x + a\\
\mathbf{elif}\;t \leq 1.82 \cdot 10^{+53}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -4.2000000000000002e40 or 1.81999999999999999e53 < t Initial program 93.3%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6477.9
Simplified77.9%
if -4.2000000000000002e40 < t < -6.5000000000000004e-230Initial program 96.9%
Taylor expanded in x around inf
Simplified58.1%
Taylor expanded in y around inf
Simplified48.4%
+-commutativeN/A
accelerator-lowering-fma.f6448.4
Applied egg-rr48.4%
if -6.5000000000000004e-230 < t < -4.40000000000000019e-259 or 78 < t < 1.81999999999999999e53Initial program 95.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
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6466.2
Simplified66.2%
if -4.40000000000000019e-259 < t < 78Initial program 100.0%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6472.1
Simplified72.1%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6448.4
Simplified48.4%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6447.4
Simplified47.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (fma a (- 1.0 t) x)) (t_2 (+ t (+ y -2.0))))
(if (<= b -8.6e+37)
(fma b t_2 t_1)
(if (<= b 3.5e+86)
(fma z (- 1.0 y) t_1)
(fma b t_2 (fma z (- 1.0 y) x))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = fma(a, (1.0 - t), x);
double t_2 = t + (y + -2.0);
double tmp;
if (b <= -8.6e+37) {
tmp = fma(b, t_2, t_1);
} else if (b <= 3.5e+86) {
tmp = fma(z, (1.0 - y), t_1);
} else {
tmp = fma(b, t_2, fma(z, (1.0 - y), x));
}
return tmp;
}
function code(x, y, z, t, a, b) t_1 = fma(a, Float64(1.0 - t), x) t_2 = Float64(t + Float64(y + -2.0)) tmp = 0.0 if (b <= -8.6e+37) tmp = fma(b, t_2, t_1); elseif (b <= 3.5e+86) tmp = fma(z, Float64(1.0 - y), t_1); else tmp = fma(b, t_2, fma(z, Float64(1.0 - y), x)); end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a * N[(1.0 - t), $MachinePrecision] + x), $MachinePrecision]}, Block[{t$95$2 = N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -8.6e+37], N[(b * t$95$2 + t$95$1), $MachinePrecision], If[LessEqual[b, 3.5e+86], N[(z * N[(1.0 - y), $MachinePrecision] + t$95$1), $MachinePrecision], N[(b * t$95$2 + N[(z * N[(1.0 - y), $MachinePrecision] + x), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(a, 1 - t, x\right)\\
t_2 := t + \left(y + -2\right)\\
\mathbf{if}\;b \leq -8.6 \cdot 10^{+37}:\\
\;\;\;\;\mathsf{fma}\left(b, t\_2, t\_1\right)\\
\mathbf{elif}\;b \leq 3.5 \cdot 10^{+86}:\\
\;\;\;\;\mathsf{fma}\left(z, 1 - y, t\_1\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(b, t\_2, \mathsf{fma}\left(z, 1 - y, x\right)\right)\\
\end{array}
\end{array}
if b < -8.5999999999999994e37Initial program 96.2%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6495.4
Simplified95.4%
if -8.5999999999999994e37 < b < 3.50000000000000019e86Initial program 98.7%
Taylor expanded in b around 0
+-commutativeN/A
associate--r+N/A
sub-negN/A
+-commutativeN/A
associate-+r-N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f64N/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
Simplified89.7%
if 3.50000000000000019e86 < b Initial program 90.0%
Taylor expanded in a around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6484.1
Simplified84.1%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (fma a (- 1.0 t) x)) (t_2 (fma b (+ t (+ y -2.0)) t_1))) (if (<= b -2.8e+40) t_2 (if (<= b 5e+116) (fma z (- 1.0 y) t_1) t_2))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = fma(a, (1.0 - t), x);
double t_2 = fma(b, (t + (y + -2.0)), t_1);
double tmp;
if (b <= -2.8e+40) {
tmp = t_2;
} else if (b <= 5e+116) {
tmp = fma(z, (1.0 - y), t_1);
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b) t_1 = fma(a, Float64(1.0 - t), x) t_2 = fma(b, Float64(t + Float64(y + -2.0)), t_1) tmp = 0.0 if (b <= -2.8e+40) tmp = t_2; elseif (b <= 5e+116) tmp = fma(z, Float64(1.0 - y), t_1); else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a * N[(1.0 - t), $MachinePrecision] + x), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]}, If[LessEqual[b, -2.8e+40], t$95$2, If[LessEqual[b, 5e+116], N[(z * N[(1.0 - y), $MachinePrecision] + t$95$1), $MachinePrecision], t$95$2]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(a, 1 - t, x\right)\\
t_2 := \mathsf{fma}\left(b, t + \left(y + -2\right), t\_1\right)\\
\mathbf{if}\;b \leq -2.8 \cdot 10^{+40}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq 5 \cdot 10^{+116}:\\
\;\;\;\;\mathsf{fma}\left(z, 1 - y, t\_1\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if b < -2.8000000000000001e40 or 5.00000000000000025e116 < b Initial program 93.7%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6490.0
Simplified90.0%
if -2.8000000000000001e40 < b < 5.00000000000000025e116Initial program 98.1%
Taylor expanded in b around 0
+-commutativeN/A
associate--r+N/A
sub-negN/A
+-commutativeN/A
associate-+r-N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f64N/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
Simplified89.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- 0.0 a))))
(if (<= t -1.08e+138)
t_1
(if (<= t -7.4e-238)
(fma y b x)
(if (<= t 6.4e+25) (+ x a) (if (<= t 2.15e+251) t_1 (* t b)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (0.0 - a);
double tmp;
if (t <= -1.08e+138) {
tmp = t_1;
} else if (t <= -7.4e-238) {
tmp = fma(y, b, x);
} else if (t <= 6.4e+25) {
tmp = x + a;
} else if (t <= 2.15e+251) {
tmp = t_1;
} else {
tmp = t * b;
}
return tmp;
}
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(0.0 - a)) tmp = 0.0 if (t <= -1.08e+138) tmp = t_1; elseif (t <= -7.4e-238) tmp = fma(y, b, x); elseif (t <= 6.4e+25) tmp = Float64(x + a); elseif (t <= 2.15e+251) tmp = t_1; else tmp = Float64(t * b); end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(0.0 - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.08e+138], t$95$1, If[LessEqual[t, -7.4e-238], N[(y * b + x), $MachinePrecision], If[LessEqual[t, 6.4e+25], N[(x + a), $MachinePrecision], If[LessEqual[t, 2.15e+251], t$95$1, N[(t * b), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(0 - a\right)\\
\mathbf{if}\;t \leq -1.08 \cdot 10^{+138}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -7.4 \cdot 10^{-238}:\\
\;\;\;\;\mathsf{fma}\left(y, b, x\right)\\
\mathbf{elif}\;t \leq 6.4 \cdot 10^{+25}:\\
\;\;\;\;x + a\\
\mathbf{elif}\;t \leq 2.15 \cdot 10^{+251}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -1.08000000000000007e138 or 6.3999999999999999e25 < t < 2.15e251Initial program 93.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6479.6
Simplified79.6%
Taylor expanded in b around 0
mul-1-negN/A
neg-sub0N/A
--lowering--.f6452.5
Simplified52.5%
sub0-negN/A
neg-lowering-neg.f6452.5
Applied egg-rr52.5%
if -1.08000000000000007e138 < t < -7.40000000000000048e-238Initial program 96.6%
Taylor expanded in x around inf
Simplified54.5%
Taylor expanded in y around inf
Simplified41.8%
+-commutativeN/A
accelerator-lowering-fma.f6441.8
Applied egg-rr41.8%
if -7.40000000000000048e-238 < t < 6.3999999999999999e25Initial program 98.9%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6469.8
Simplified69.8%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6444.3
Simplified44.3%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6443.5
Simplified43.5%
if 2.15e251 < t Initial program 91.7%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6492.3
Simplified92.3%
Taylor expanded in b around inf
Simplified84.0%
Final simplification47.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ x (* (- (+ y t) 2.0) b))))
(if (<= b -1.38e+57)
t_1
(if (<= b -1.16e-91)
(fma z (- 1.0 y) (+ x a))
(if (<= b 5.2e+149) (+ x (fma a (- 1.0 t) z)) 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 <= -1.38e+57) {
tmp = t_1;
} else if (b <= -1.16e-91) {
tmp = fma(z, (1.0 - y), (x + a));
} else if (b <= 5.2e+149) {
tmp = x + fma(a, (1.0 - t), z);
} 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 <= -1.38e+57) tmp = t_1; elseif (b <= -1.16e-91) tmp = fma(z, Float64(1.0 - y), Float64(x + a)); elseif (b <= 5.2e+149) tmp = Float64(x + fma(a, Float64(1.0 - t), z)); else tmp = t_1; end return 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, -1.38e+57], t$95$1, If[LessEqual[b, -1.16e-91], N[(z * N[(1.0 - y), $MachinePrecision] + N[(x + a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 5.2e+149], N[(x + N[(a * N[(1.0 - t), $MachinePrecision] + z), $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 -1.38 \cdot 10^{+57}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -1.16 \cdot 10^{-91}:\\
\;\;\;\;\mathsf{fma}\left(z, 1 - y, x + a\right)\\
\mathbf{elif}\;b \leq 5.2 \cdot 10^{+149}:\\
\;\;\;\;x + \mathsf{fma}\left(a, 1 - t, z\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1.38e57 or 5.19999999999999957e149 < b Initial program 92.8%
Taylor expanded in x around inf
Simplified86.6%
if -1.38e57 < b < -1.15999999999999994e-91Initial program 100.0%
Taylor expanded in b around 0
+-commutativeN/A
associate--r+N/A
sub-negN/A
+-commutativeN/A
associate-+r-N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f64N/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
Simplified86.2%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6476.9
Simplified76.9%
if -1.15999999999999994e-91 < b < 5.19999999999999957e149Initial program 97.9%
Taylor expanded in b around 0
+-commutativeN/A
associate--r+N/A
sub-negN/A
+-commutativeN/A
associate-+r-N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f64N/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
Simplified87.7%
Taylor expanded in y around 0
+-lowering-+.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6471.9
Simplified71.9%
(FPCore (x y z t a b)
:precision binary64
(if (<= b -1.1e+59)
(+ x (* (- (+ y t) 2.0) b))
(if (<= b 4.1e+165)
(fma z (- 1.0 y) (fma a (- 1.0 t) x))
(* b (+ t (+ y -2.0))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -1.1e+59) {
tmp = x + (((y + t) - 2.0) * b);
} else if (b <= 4.1e+165) {
tmp = fma(z, (1.0 - y), fma(a, (1.0 - t), x));
} else {
tmp = b * (t + (y + -2.0));
}
return tmp;
}
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -1.1e+59) tmp = Float64(x + Float64(Float64(Float64(y + t) - 2.0) * b)); elseif (b <= 4.1e+165) tmp = fma(z, Float64(1.0 - y), fma(a, Float64(1.0 - t), x)); else tmp = Float64(b * Float64(t + Float64(y + -2.0))); end return tmp end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.1e+59], N[(x + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 4.1e+165], N[(z * N[(1.0 - y), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision] + x), $MachinePrecision]), $MachinePrecision], N[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.1 \cdot 10^{+59}:\\
\;\;\;\;x + \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{elif}\;b \leq 4.1 \cdot 10^{+165}:\\
\;\;\;\;\mathsf{fma}\left(z, 1 - y, \mathsf{fma}\left(a, 1 - t, x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(t + \left(y + -2\right)\right)\\
\end{array}
\end{array}
if b < -1.1e59Initial program 96.0%
Taylor expanded in x around inf
Simplified89.1%
if -1.1e59 < b < 4.1000000000000003e165Initial program 97.7%
Taylor expanded in b around 0
+-commutativeN/A
associate--r+N/A
sub-negN/A
+-commutativeN/A
associate-+r-N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f64N/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
Simplified86.6%
if 4.1000000000000003e165 < b Initial program 89.6%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval88.3
Simplified88.3%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -1.26e+36)
t_1
(if (<= t -1.7e-240) (fma y b x) (if (<= t 2.9e+21) (+ 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.26e+36) {
tmp = t_1;
} else if (t <= -1.7e-240) {
tmp = fma(y, b, x);
} else if (t <= 2.9e+21) {
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.26e+36) tmp = t_1; elseif (t <= -1.7e-240) tmp = fma(y, b, x); elseif (t <= 2.9e+21) tmp = Float64(x + a); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.26e+36], t$95$1, If[LessEqual[t, -1.7e-240], N[(y * b + x), $MachinePrecision], If[LessEqual[t, 2.9e+21], 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.26 \cdot 10^{+36}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -1.7 \cdot 10^{-240}:\\
\;\;\;\;\mathsf{fma}\left(y, b, x\right)\\
\mathbf{elif}\;t \leq 2.9 \cdot 10^{+21}:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -1.25999999999999994e36 or 2.9e21 < t Initial program 93.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6473.7
Simplified73.7%
if -1.25999999999999994e36 < t < -1.69999999999999995e-240Initial program 97.1%
Taylor expanded in x around inf
Simplified55.7%
Taylor expanded in y around inf
Simplified46.4%
+-commutativeN/A
accelerator-lowering-fma.f6446.4
Applied egg-rr46.4%
if -1.69999999999999995e-240 < t < 2.9e21Initial program 98.8%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6470.5
Simplified70.5%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6444.8
Simplified44.8%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6444.0
Simplified44.0%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* t (- b a)))) (if (<= t -8.2e+58) t_1 (if (<= t 6.1e+53) (fma z (- 1.0 y) (+ 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 <= -8.2e+58) {
tmp = t_1;
} else if (t <= 6.1e+53) {
tmp = fma(z, (1.0 - y), (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 <= -8.2e+58) tmp = t_1; elseif (t <= 6.1e+53) tmp = fma(z, Float64(1.0 - y), Float64(x + a)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -8.2e+58], t$95$1, If[LessEqual[t, 6.1e+53], N[(z * N[(1.0 - y), $MachinePrecision] + N[(x + a), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -8.2 \cdot 10^{+58}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 6.1 \cdot 10^{+53}:\\
\;\;\;\;\mathsf{fma}\left(z, 1 - y, x + a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -8.2e58 or 6.1000000000000002e53 < t Initial program 92.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6480.9
Simplified80.9%
if -8.2e58 < t < 6.1000000000000002e53Initial program 98.2%
Taylor expanded in b around 0
+-commutativeN/A
associate--r+N/A
sub-negN/A
+-commutativeN/A
associate-+r-N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f64N/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
Simplified73.9%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6471.2
Simplified71.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* b (+ t (+ y -2.0)))))
(if (<= b -2.4e+107)
t_1
(if (<= b 1.68e+165) (+ x (fma a (- 1.0 t) z)) 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.4e+107) {
tmp = t_1;
} else if (b <= 1.68e+165) {
tmp = x + fma(a, (1.0 - t), z);
} 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.4e+107) tmp = t_1; elseif (b <= 1.68e+165) tmp = Float64(x + fma(a, Float64(1.0 - t), z)); else tmp = t_1; end return 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.4e+107], t$95$1, If[LessEqual[b, 1.68e+165], N[(x + N[(a * N[(1.0 - t), $MachinePrecision] + z), $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.4 \cdot 10^{+107}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 1.68 \cdot 10^{+165}:\\
\;\;\;\;x + \mathsf{fma}\left(a, 1 - t, z\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -2.4000000000000001e107 or 1.67999999999999992e165 < b Initial program 92.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval88.4
Simplified88.4%
if -2.4000000000000001e107 < b < 1.67999999999999992e165Initial program 97.9%
Taylor expanded in b around 0
+-commutativeN/A
associate--r+N/A
sub-negN/A
+-commutativeN/A
associate-+r-N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f64N/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
Simplified86.0%
Taylor expanded in y around 0
+-lowering-+.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6467.7
Simplified67.7%
(FPCore (x y z t a b) :precision binary64 (if (<= t -3.3e+118) (* t b) (if (<= t -4.2e-239) (fma y b x) (if (<= t 6.2e+62) (+ x a) (* t b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -3.3e+118) {
tmp = t * b;
} else if (t <= -4.2e-239) {
tmp = fma(y, b, x);
} else if (t <= 6.2e+62) {
tmp = x + a;
} else {
tmp = t * b;
}
return tmp;
}
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -3.3e+118) tmp = Float64(t * b); elseif (t <= -4.2e-239) tmp = fma(y, b, x); elseif (t <= 6.2e+62) tmp = Float64(x + a); else tmp = Float64(t * b); end return tmp end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -3.3e+118], N[(t * b), $MachinePrecision], If[LessEqual[t, -4.2e-239], N[(y * b + x), $MachinePrecision], If[LessEqual[t, 6.2e+62], N[(x + a), $MachinePrecision], N[(t * b), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.3 \cdot 10^{+118}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq -4.2 \cdot 10^{-239}:\\
\;\;\;\;\mathsf{fma}\left(y, b, x\right)\\
\mathbf{elif}\;t \leq 6.2 \cdot 10^{+62}:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -3.3e118 or 6.20000000000000029e62 < t Initial program 93.1%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6486.7
Simplified86.7%
Taylor expanded in b around inf
Simplified46.7%
if -3.3e118 < t < -4.2000000000000004e-239Initial program 96.4%
Taylor expanded in x around inf
Simplified53.2%
Taylor expanded in y around inf
Simplified42.2%
+-commutativeN/A
accelerator-lowering-fma.f6442.3
Applied egg-rr42.3%
if -4.2000000000000004e-239 < t < 6.20000000000000029e62Initial program 99.0%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6469.9
Simplified69.9%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6445.1
Simplified45.1%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6441.3
Simplified41.3%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* y (- b z)))) (if (<= y -1.7e+49) t_1 (if (<= y 3.7e+26) (fma a (- 1.0 t) x) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = y * (b - z);
double tmp;
if (y <= -1.7e+49) {
tmp = t_1;
} else if (y <= 3.7e+26) {
tmp = fma(a, (1.0 - t), x);
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b) t_1 = Float64(y * Float64(b - z)) tmp = 0.0 if (y <= -1.7e+49) tmp = t_1; elseif (y <= 3.7e+26) tmp = fma(a, Float64(1.0 - t), x); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.7e+49], t$95$1, If[LessEqual[y, 3.7e+26], N[(a * N[(1.0 - t), $MachinePrecision] + x), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(b - z\right)\\
\mathbf{if}\;y \leq -1.7 \cdot 10^{+49}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 3.7 \cdot 10^{+26}:\\
\;\;\;\;\mathsf{fma}\left(a, 1 - t, x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -1.7e49 or 3.69999999999999988e26 < y Initial program 93.6%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6467.9
Simplified67.9%
if -1.7e49 < y < 3.69999999999999988e26Initial program 98.6%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6480.1
Simplified80.1%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6454.1
Simplified54.1%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* a (- 1.0 t)))) (if (<= a -1.35e+44) t_1 (if (<= a 3.6e+137) (fma y b x) 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 (a <= -1.35e+44) {
tmp = t_1;
} else if (a <= 3.6e+137) {
tmp = fma(y, b, x);
} 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 (a <= -1.35e+44) tmp = t_1; elseif (a <= 3.6e+137) tmp = fma(y, b, x); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.35e+44], t$95$1, If[LessEqual[a, 3.6e+137], N[(y * b + x), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
\mathbf{if}\;a \leq -1.35 \cdot 10^{+44}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+137}:\\
\;\;\;\;\mathsf{fma}\left(y, b, x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.35e44 or 3.6e137 < a Initial program 94.1%
Taylor expanded in a around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
metadata-evalN/A
distribute-lft-inN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6461.2
Simplified61.2%
if -1.35e44 < a < 3.6e137Initial program 98.0%
Taylor expanded in x around inf
Simplified64.7%
Taylor expanded in y around inf
Simplified37.2%
+-commutativeN/A
accelerator-lowering-fma.f6437.2
Applied egg-rr37.2%
(FPCore (x y z t a b) :precision binary64 (if (<= x -2.25e+21) x (if (<= x 3.9e-76) a (if (<= x 7.5e+186) z x))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (x <= -2.25e+21) {
tmp = x;
} else if (x <= 3.9e-76) {
tmp = a;
} else if (x <= 7.5e+186) {
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.25d+21)) then
tmp = x
else if (x <= 3.9d-76) then
tmp = a
else if (x <= 7.5d+186) 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.25e+21) {
tmp = x;
} else if (x <= 3.9e-76) {
tmp = a;
} else if (x <= 7.5e+186) {
tmp = z;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if x <= -2.25e+21: tmp = x elif x <= 3.9e-76: tmp = a elif x <= 7.5e+186: tmp = z else: tmp = x return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (x <= -2.25e+21) tmp = x; elseif (x <= 3.9e-76) tmp = a; elseif (x <= 7.5e+186) 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.25e+21) tmp = x; elseif (x <= 3.9e-76) tmp = a; elseif (x <= 7.5e+186) tmp = z; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[x, -2.25e+21], x, If[LessEqual[x, 3.9e-76], a, If[LessEqual[x, 7.5e+186], z, x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -2.25 \cdot 10^{+21}:\\
\;\;\;\;x\\
\mathbf{elif}\;x \leq 3.9 \cdot 10^{-76}:\\
\;\;\;\;a\\
\mathbf{elif}\;x \leq 7.5 \cdot 10^{+186}:\\
\;\;\;\;z\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -2.25e21 or 7.4999999999999998e186 < x Initial program 97.6%
Taylor expanded in x around inf
Simplified39.3%
if -2.25e21 < x < 3.90000000000000025e-76Initial program 96.2%
Taylor expanded in a around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
metadata-evalN/A
distribute-lft-inN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6439.1
Simplified39.1%
Taylor expanded in t around 0
Simplified19.6%
if 3.90000000000000025e-76 < x < 7.4999999999999998e186Initial program 95.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
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6442.5
Simplified42.5%
Taylor expanded in y around 0
Simplified21.8%
(FPCore (x y z t a b) :precision binary64 (if (<= t -8.7e+21) (* t b) (if (<= t 2.35e+63) (+ x a) (* t b))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -8.7e+21) {
tmp = t * b;
} else if (t <= 2.35e+63) {
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 <= (-8.7d+21)) then
tmp = t * b
else if (t <= 2.35d+63) 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 <= -8.7e+21) {
tmp = t * b;
} else if (t <= 2.35e+63) {
tmp = x + a;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -8.7e+21: tmp = t * b elif t <= 2.35e+63: tmp = x + a else: tmp = t * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -8.7e+21) tmp = Float64(t * b); elseif (t <= 2.35e+63) 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 <= -8.7e+21) tmp = t * b; elseif (t <= 2.35e+63) tmp = x + a; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -8.7e+21], N[(t * b), $MachinePrecision], If[LessEqual[t, 2.35e+63], N[(x + a), $MachinePrecision], N[(t * b), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -8.7 \cdot 10^{+21}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq 2.35 \cdot 10^{+63}:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -8.7e21 or 2.3500000000000001e63 < t Initial program 93.3%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6478.6
Simplified78.6%
Taylor expanded in b around inf
Simplified42.0%
if -8.7e21 < t < 2.3500000000000001e63Initial program 98.2%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6470.7
Simplified70.7%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6443.1
Simplified43.1%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6440.3
Simplified40.3%
(FPCore (x y z t a b) :precision binary64 (if (<= y -1.45e+47) (* y b) (if (<= y 3.5e+208) (+ x a) (* y b))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.45e+47) {
tmp = y * b;
} else if (y <= 3.5e+208) {
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 (y <= (-1.45d+47)) then
tmp = y * b
else if (y <= 3.5d+208) 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 (y <= -1.45e+47) {
tmp = y * b;
} else if (y <= 3.5e+208) {
tmp = x + a;
} else {
tmp = y * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.45e+47: tmp = y * b elif y <= 3.5e+208: tmp = x + a else: tmp = y * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.45e+47) tmp = Float64(y * b); elseif (y <= 3.5e+208) 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 (y <= -1.45e+47) tmp = y * b; elseif (y <= 3.5e+208) tmp = x + a; else tmp = y * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.45e+47], N[(y * b), $MachinePrecision], If[LessEqual[y, 3.5e+208], N[(x + a), $MachinePrecision], N[(y * b), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.45 \cdot 10^{+47}:\\
\;\;\;\;y \cdot b\\
\mathbf{elif}\;y \leq 3.5 \cdot 10^{+208}:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;y \cdot b\\
\end{array}
\end{array}
if y < -1.4499999999999999e47 or 3.50000000000000016e208 < y Initial program 90.4%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6467.6
Simplified67.6%
Taylor expanded in y around inf
*-lowering-*.f6441.0
Simplified41.0%
if -1.4499999999999999e47 < y < 3.50000000000000016e208Initial program 98.9%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6478.7
Simplified78.7%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6451.2
Simplified51.2%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6436.0
Simplified36.0%
Final simplification37.4%
(FPCore (x y z t a b) :precision binary64 (if (<= z -2.3e+185) z (if (<= z 9.8e+182) (+ x a) z)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (z <= -2.3e+185) {
tmp = z;
} else if (z <= 9.8e+182) {
tmp = x + a;
} else {
tmp = z;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (z <= (-2.3d+185)) then
tmp = z
else if (z <= 9.8d+182) then
tmp = x + a
else
tmp = z
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (z <= -2.3e+185) {
tmp = z;
} else if (z <= 9.8e+182) {
tmp = x + a;
} else {
tmp = z;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if z <= -2.3e+185: tmp = z elif z <= 9.8e+182: tmp = x + a else: tmp = z return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (z <= -2.3e+185) tmp = z; elseif (z <= 9.8e+182) tmp = Float64(x + a); else tmp = z; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (z <= -2.3e+185) tmp = z; elseif (z <= 9.8e+182) tmp = x + a; else tmp = z; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[z, -2.3e+185], z, If[LessEqual[z, 9.8e+182], N[(x + a), $MachinePrecision], z]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.3 \cdot 10^{+185}:\\
\;\;\;\;z\\
\mathbf{elif}\;z \leq 9.8 \cdot 10^{+182}:\\
\;\;\;\;x + a\\
\mathbf{else}:\\
\;\;\;\;z\\
\end{array}
\end{array}
if z < -2.3000000000000001e185 or 9.7999999999999999e182 < z Initial program 92.6%
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
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6466.6
Simplified66.6%
Taylor expanded in y around 0
Simplified32.5%
if -2.3000000000000001e185 < z < 9.7999999999999999e182Initial program 97.5%
Taylor expanded in z around 0
+-commutativeN/A
associate--l+N/A
accelerator-lowering-fma.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-commutativeN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6485.8
Simplified85.8%
Taylor expanded in b around 0
+-commutativeN/A
accelerator-lowering-fma.f64N/A
--lowering--.f6451.3
Simplified51.3%
Taylor expanded in t around 0
+-commutativeN/A
+-lowering-+.f6434.5
Simplified34.5%
(FPCore (x y z t a b) :precision binary64 (if (<= x -2.22e+21) x (if (<= x 7e+15) a x)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (x <= -2.22e+21) {
tmp = x;
} else if (x <= 7e+15) {
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 <= (-2.22d+21)) then
tmp = x
else if (x <= 7d+15) 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 <= -2.22e+21) {
tmp = x;
} else if (x <= 7e+15) {
tmp = a;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if x <= -2.22e+21: tmp = x elif x <= 7e+15: tmp = a else: tmp = x return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (x <= -2.22e+21) tmp = x; elseif (x <= 7e+15) tmp = a; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (x <= -2.22e+21) tmp = x; elseif (x <= 7e+15) tmp = a; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[x, -2.22e+21], x, If[LessEqual[x, 7e+15], a, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -2.22 \cdot 10^{+21}:\\
\;\;\;\;x\\
\mathbf{elif}\;x \leq 7 \cdot 10^{+15}:\\
\;\;\;\;a\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -2.22e21 or 7e15 < x Initial program 97.6%
Taylor expanded in x around inf
Simplified30.8%
if -2.22e21 < x < 7e15Initial program 95.4%
Taylor expanded in a around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
metadata-evalN/A
distribute-lft-inN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6436.2
Simplified36.2%
Taylor expanded in t around 0
Simplified18.9%
(FPCore (x y z t a b) :precision binary64 a)
double code(double x, double y, double z, double t, double a, double b) {
return a;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = a
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return a;
}
def code(x, y, z, t, a, b): return a
function code(x, y, z, t, a, b) return a end
function tmp = code(x, y, z, t, a, b) tmp = a; end
code[x_, y_, z_, t_, a_, b_] := a
\begin{array}{l}
\\
a
\end{array}
Initial program 96.5%
Taylor expanded in a around inf
sub-negN/A
neg-mul-1N/A
+-commutativeN/A
metadata-evalN/A
distribute-lft-inN/A
metadata-evalN/A
sub-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
metadata-evalN/A
+-commutativeN/A
distribute-neg-inN/A
metadata-evalN/A
sub-negN/A
--lowering--.f6430.1
Simplified30.1%
Taylor expanded in t around 0
Simplified13.7%
herbie shell --seed 2024196
(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)))