
(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 20 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 (+ y -2.0)) (* t (- b a))))))
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 * (y + -2.0)) + (t * (b - a));
}
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 * (y + -2.0)) + (t * (b - a));
}
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 * (y + -2.0)) + (t * (b - a)) 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(Float64(b * Float64(y + -2.0)) + Float64(t * Float64(b - a))); 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 * (y + -2.0)) + (t * (b - a)); 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[(N[(b * N[(y + -2.0), $MachinePrecision]), $MachinePrecision] + N[(t * N[(b - a), $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(y + -2\right) + t \cdot \left(b - a\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 t around inf
+-commutativeN/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
div-subN/A
unsub-negN/A
mul-1-negN/A
+-commutativeN/A
associate--l-N/A
div-subN/A
*-lowering-*.f64N/A
Simplified0.0%
Taylor expanded in x around inf
/-lowering-/.f6442.9%
Simplified42.9%
Taylor expanded in x around 0
+-commutativeN/A
associate--l+N/A
distribute-lft-outN/A
+-commutativeN/A
associate-+r+N/A
associate-*r*N/A
distribute-rgt-inN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
--lowering--.f6485.7%
Simplified85.7%
Final simplification99.6%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* b (+ t (+ y -2.0)))))
(if (<= b -9.6e+102)
t_1
(if (<= b -0.001)
(+ x (* t b))
(if (<= b -6e-77)
(* t (- (/ x t) a))
(if (<= b 2.1e-27) (* 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 <= -9.6e+102) {
tmp = t_1;
} else if (b <= -0.001) {
tmp = x + (t * b);
} else if (b <= -6e-77) {
tmp = t * ((x / t) - a);
} else if (b <= 2.1e-27) {
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 <= (-9.6d+102)) then
tmp = t_1
else if (b <= (-0.001d0)) then
tmp = x + (t * b)
else if (b <= (-6d-77)) then
tmp = t * ((x / t) - a)
else if (b <= 2.1d-27) 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 <= -9.6e+102) {
tmp = t_1;
} else if (b <= -0.001) {
tmp = x + (t * b);
} else if (b <= -6e-77) {
tmp = t * ((x / t) - a);
} else if (b <= 2.1e-27) {
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 <= -9.6e+102: tmp = t_1 elif b <= -0.001: tmp = x + (t * b) elif b <= -6e-77: tmp = t * ((x / t) - a) elif b <= 2.1e-27: 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 <= -9.6e+102) tmp = t_1; elseif (b <= -0.001) tmp = Float64(x + Float64(t * b)); elseif (b <= -6e-77) tmp = Float64(t * Float64(Float64(x / t) - a)); elseif (b <= 2.1e-27) 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 <= -9.6e+102) tmp = t_1; elseif (b <= -0.001) tmp = x + (t * b); elseif (b <= -6e-77) tmp = t * ((x / t) - a); elseif (b <= 2.1e-27) 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, -9.6e+102], t$95$1, If[LessEqual[b, -0.001], N[(x + N[(t * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -6e-77], N[(t * N[(N[(x / t), $MachinePrecision] - a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.1e-27], 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 -9.6 \cdot 10^{+102}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq -0.001:\\
\;\;\;\;x + t \cdot b\\
\mathbf{elif}\;b \leq -6 \cdot 10^{-77}:\\
\;\;\;\;t \cdot \left(\frac{x}{t} - a\right)\\
\mathbf{elif}\;b \leq 2.1 \cdot 10^{-27}:\\
\;\;\;\;z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -9.59999999999999978e102 or 2.10000000000000015e-27 < b Initial program 93.7%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval71.4%
Simplified71.4%
if -9.59999999999999978e102 < b < -1e-3Initial program 100.0%
Taylor expanded in x around inf
Simplified70.1%
Taylor expanded in t around inf
Simplified54.7%
if -1e-3 < b < -6.00000000000000033e-77Initial program 99.9%
Taylor expanded in t around inf
+-commutativeN/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
div-subN/A
unsub-negN/A
mul-1-negN/A
+-commutativeN/A
associate--l-N/A
div-subN/A
*-lowering-*.f64N/A
Simplified89.2%
Taylor expanded in x around inf
/-lowering-/.f6477.5%
Simplified77.5%
Taylor expanded in b around 0
*-lowering-*.f64N/A
--lowering--.f64N/A
/-lowering-/.f6471.8%
Simplified71.8%
if -6.00000000000000033e-77 < b < 2.10000000000000015e-27Initial program 100.0%
Taylor expanded in z around inf
sub-negN/A
metadata-evalN/A
neg-mul-1N/A
distribute-lft-inN/A
+-commutativeN/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--.f6448.8%
Simplified48.8%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* z (- 1.0 y))) (t_2 (+ (* (- (+ y t) 2.0) b) (+ x t_1))))
(if (<= b -52000000.0)
t_2
(if (<= b 110000000.0) (+ x (+ t_1 (* a (- 1.0 t)))) 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 = (((y + t) - 2.0) * b) + (x + t_1);
double tmp;
if (b <= -52000000.0) {
tmp = t_2;
} else if (b <= 110000000.0) {
tmp = x + (t_1 + (a * (1.0 - t)));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = z * (1.0d0 - y)
t_2 = (((y + t) - 2.0d0) * b) + (x + t_1)
if (b <= (-52000000.0d0)) then
tmp = t_2
else if (b <= 110000000.0d0) then
tmp = x + (t_1 + (a * (1.0d0 - t)))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = z * (1.0 - y);
double t_2 = (((y + t) - 2.0) * b) + (x + t_1);
double tmp;
if (b <= -52000000.0) {
tmp = t_2;
} else if (b <= 110000000.0) {
tmp = x + (t_1 + (a * (1.0 - t)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = z * (1.0 - y) t_2 = (((y + t) - 2.0) * b) + (x + t_1) tmp = 0 if b <= -52000000.0: tmp = t_2 elif b <= 110000000.0: tmp = x + (t_1 + (a * (1.0 - t))) 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(Float64(Float64(Float64(y + t) - 2.0) * b) + Float64(x + t_1)) tmp = 0.0 if (b <= -52000000.0) tmp = t_2; elseif (b <= 110000000.0) tmp = Float64(x + Float64(t_1 + Float64(a * Float64(1.0 - t)))); else tmp = t_2; 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) + (x + t_1); tmp = 0.0; if (b <= -52000000.0) tmp = t_2; elseif (b <= 110000000.0) tmp = x + (t_1 + (a * (1.0 - t))); else tmp = t_2; 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[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision] + N[(x + t$95$1), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -52000000.0], t$95$2, If[LessEqual[b, 110000000.0], N[(x + N[(t$95$1 + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]
\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 + \left(x + t\_1\right)\\
\mathbf{if}\;b \leq -52000000:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq 110000000:\\
\;\;\;\;x + \left(t\_1 + a \cdot \left(1 - t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if b < -5.2e7 or 1.1e8 < b Initial program 94.6%
Taylor expanded in a around 0
sub-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/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--.f6488.5%
Simplified88.5%
if -5.2e7 < b < 1.1e8Initial program 100.0%
Taylor expanded in b around 0
sub-negN/A
+-lowering-+.f64N/A
+-commutativeN/A
distribute-neg-inN/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/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--.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6494.0%
Simplified94.0%
Final simplification91.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ x (* (- (+ y t) 2.0) b))))
(if (<= b -3.4e+75)
t_1
(if (<= b 6.4e+92) (+ x (+ (* z (- 1.0 y)) (* a (- 1.0 t)))) 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 <= -3.4e+75) {
tmp = t_1;
} else if (b <= 6.4e+92) {
tmp = x + ((z * (1.0 - y)) + (a * (1.0 - t)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = x + (((y + t) - 2.0d0) * b)
if (b <= (-3.4d+75)) then
tmp = t_1
else if (b <= 6.4d+92) then
tmp = x + ((z * (1.0d0 - y)) + (a * (1.0d0 - t)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (((y + t) - 2.0) * b);
double tmp;
if (b <= -3.4e+75) {
tmp = t_1;
} else if (b <= 6.4e+92) {
tmp = x + ((z * (1.0 - y)) + (a * (1.0 - t)));
} 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 <= -3.4e+75: tmp = t_1 elif b <= 6.4e+92: tmp = x + ((z * (1.0 - y)) + (a * (1.0 - t))) 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 <= -3.4e+75) tmp = t_1; elseif (b <= 6.4e+92) tmp = Float64(x + Float64(Float64(z * Float64(1.0 - y)) + Float64(a * Float64(1.0 - t)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x + (((y + t) - 2.0) * b); tmp = 0.0; if (b <= -3.4e+75) tmp = t_1; elseif (b <= 6.4e+92) tmp = x + ((z * (1.0 - y)) + (a * (1.0 - t))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -3.4e+75], t$95$1, If[LessEqual[b, 6.4e+92], N[(x + N[(N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision] + N[(a * N[(1.0 - t), $MachinePrecision]), $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 -3.4 \cdot 10^{+75}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 6.4 \cdot 10^{+92}:\\
\;\;\;\;x + \left(z \cdot \left(1 - y\right) + a \cdot \left(1 - t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -3.40000000000000011e75 or 6.40000000000000051e92 < b Initial program 94.1%
Taylor expanded in x around inf
Simplified85.5%
if -3.40000000000000011e75 < b < 6.40000000000000051e92Initial program 99.3%
Taylor expanded in b around 0
sub-negN/A
+-lowering-+.f64N/A
+-commutativeN/A
distribute-neg-inN/A
sub-negN/A
--lowering--.f64N/A
distribute-rgt-neg-inN/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--.f64N/A
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6488.2%
Simplified88.2%
Final simplification87.1%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* y (- b z))))
(if (<= y -8.2e+22)
t_1
(if (<= y 7e-263)
(+ x (* b (- t 2.0)))
(if (<= y 3.35e+62) (+ x (* a (- 1.0 t))) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = y * (b - z);
double tmp;
if (y <= -8.2e+22) {
tmp = t_1;
} else if (y <= 7e-263) {
tmp = x + (b * (t - 2.0));
} else if (y <= 3.35e+62) {
tmp = x + (a * (1.0 - t));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = y * (b - z)
if (y <= (-8.2d+22)) then
tmp = t_1
else if (y <= 7d-263) then
tmp = x + (b * (t - 2.0d0))
else if (y <= 3.35d+62) then
tmp = x + (a * (1.0d0 - t))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = y * (b - z);
double tmp;
if (y <= -8.2e+22) {
tmp = t_1;
} else if (y <= 7e-263) {
tmp = x + (b * (t - 2.0));
} else if (y <= 3.35e+62) {
tmp = x + (a * (1.0 - t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = y * (b - z) tmp = 0 if y <= -8.2e+22: tmp = t_1 elif y <= 7e-263: tmp = x + (b * (t - 2.0)) elif y <= 3.35e+62: tmp = x + (a * (1.0 - t)) 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 <= -8.2e+22) tmp = t_1; elseif (y <= 7e-263) tmp = Float64(x + Float64(b * Float64(t - 2.0))); elseif (y <= 3.35e+62) tmp = Float64(x + Float64(a * Float64(1.0 - t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = y * (b - z); tmp = 0.0; if (y <= -8.2e+22) tmp = t_1; elseif (y <= 7e-263) tmp = x + (b * (t - 2.0)); elseif (y <= 3.35e+62) tmp = x + (a * (1.0 - t)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.2e+22], t$95$1, If[LessEqual[y, 7e-263], N[(x + N[(b * N[(t - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.35e+62], N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(b - z\right)\\
\mathbf{if}\;y \leq -8.2 \cdot 10^{+22}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 7 \cdot 10^{-263}:\\
\;\;\;\;x + b \cdot \left(t - 2\right)\\
\mathbf{elif}\;y \leq 3.35 \cdot 10^{+62}:\\
\;\;\;\;x + a \cdot \left(1 - t\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -8.19999999999999958e22 or 3.3499999999999998e62 < y Initial program 96.8%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6473.4%
Simplified73.4%
if -8.19999999999999958e22 < y < 6.99999999999999938e-263Initial program 98.6%
Taylor expanded in x around inf
Simplified61.9%
Taylor expanded in y around 0
Simplified61.9%
if 6.99999999999999938e-263 < y < 3.3499999999999998e62Initial program 96.2%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified100.0%
Taylor expanded in a around inf
*-lowering-*.f64N/A
mul-1-negN/A
unsub-negN/A
--lowering--.f6463.2%
Simplified63.2%
Final simplification67.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* b (+ t (+ y -2.0)))))
(if (<= b -1.85e+103)
t_1
(if (<= b 2.55e-139)
(+ x (* a (- 1.0 t)))
(if (<= b 4.4e-24) (* y (- b 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 <= -1.85e+103) {
tmp = t_1;
} else if (b <= 2.55e-139) {
tmp = x + (a * (1.0 - t));
} else if (b <= 4.4e-24) {
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 = b * (t + (y + (-2.0d0)))
if (b <= (-1.85d+103)) then
tmp = t_1
else if (b <= 2.55d-139) then
tmp = x + (a * (1.0d0 - t))
else if (b <= 4.4d-24) 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 = b * (t + (y + -2.0));
double tmp;
if (b <= -1.85e+103) {
tmp = t_1;
} else if (b <= 2.55e-139) {
tmp = x + (a * (1.0 - t));
} else if (b <= 4.4e-24) {
tmp = y * (b - z);
} 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.85e+103: tmp = t_1 elif b <= 2.55e-139: tmp = x + (a * (1.0 - t)) elif b <= 4.4e-24: tmp = y * (b - 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 <= -1.85e+103) tmp = t_1; elseif (b <= 2.55e-139) tmp = Float64(x + Float64(a * Float64(1.0 - t))); elseif (b <= 4.4e-24) 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 = b * (t + (y + -2.0)); tmp = 0.0; if (b <= -1.85e+103) tmp = t_1; elseif (b <= 2.55e-139) tmp = x + (a * (1.0 - t)); elseif (b <= 4.4e-24) 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[(b * N[(t + N[(y + -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.85e+103], t$95$1, If[LessEqual[b, 2.55e-139], N[(x + N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 4.4e-24], N[(y * N[(b - 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 -1.85 \cdot 10^{+103}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 2.55 \cdot 10^{-139}:\\
\;\;\;\;x + a \cdot \left(1 - t\right)\\
\mathbf{elif}\;b \leq 4.4 \cdot 10^{-24}:\\
\;\;\;\;y \cdot \left(b - z\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -1.85000000000000016e103 or 4.40000000000000003e-24 < b Initial program 93.7%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval71.4%
Simplified71.4%
if -1.85000000000000016e103 < b < 2.55000000000000018e-139Initial program 100.0%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified100.0%
Taylor expanded in a around inf
*-lowering-*.f64N/A
mul-1-negN/A
unsub-negN/A
--lowering--.f6455.2%
Simplified55.2%
if 2.55000000000000018e-139 < b < 4.40000000000000003e-24Initial program 99.9%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6466.0%
Simplified66.0%
(FPCore (x y z t a b) :precision binary64 (+ x (+ (* b (+ y -2.0)) (+ (* t (- b a)) (+ a (* z (- 1.0 y)))))))
double code(double x, double y, double z, double t, double a, double b) {
return x + ((b * (y + -2.0)) + ((t * (b - a)) + (a + (z * (1.0 - y)))));
}
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 + ((b * (y + (-2.0d0))) + ((t * (b - a)) + (a + (z * (1.0d0 - y)))))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x + ((b * (y + -2.0)) + ((t * (b - a)) + (a + (z * (1.0 - y)))));
}
def code(x, y, z, t, a, b): return x + ((b * (y + -2.0)) + ((t * (b - a)) + (a + (z * (1.0 - y)))))
function code(x, y, z, t, a, b) return Float64(x + Float64(Float64(b * Float64(y + -2.0)) + Float64(Float64(t * Float64(b - a)) + Float64(a + Float64(z * Float64(1.0 - y)))))) end
function tmp = code(x, y, z, t, a, b) tmp = x + ((b * (y + -2.0)) + ((t * (b - a)) + (a + (z * (1.0 - y))))); end
code[x_, y_, z_, t_, a_, b_] := N[(x + N[(N[(b * N[(y + -2.0), $MachinePrecision]), $MachinePrecision] + N[(N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision] + N[(a + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(b \cdot \left(y + -2\right) + \left(t \cdot \left(b - a\right) + \left(a + z \cdot \left(1 - y\right)\right)\right)\right)
\end{array}
Initial program 97.2%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified96.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* y (- b z))))
(if (<= y -2.65e+21)
t_1
(if (<= y -9e-273)
(* b (+ t -2.0))
(if (<= y 114000000000.0) (+ x (* b -2.0)) 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 <= -2.65e+21) {
tmp = t_1;
} else if (y <= -9e-273) {
tmp = b * (t + -2.0);
} else if (y <= 114000000000.0) {
tmp = x + (b * -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 = y * (b - z)
if (y <= (-2.65d+21)) then
tmp = t_1
else if (y <= (-9d-273)) then
tmp = b * (t + (-2.0d0))
else if (y <= 114000000000.0d0) then
tmp = x + (b * (-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 = y * (b - z);
double tmp;
if (y <= -2.65e+21) {
tmp = t_1;
} else if (y <= -9e-273) {
tmp = b * (t + -2.0);
} else if (y <= 114000000000.0) {
tmp = x + (b * -2.0);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = y * (b - z) tmp = 0 if y <= -2.65e+21: tmp = t_1 elif y <= -9e-273: tmp = b * (t + -2.0) elif y <= 114000000000.0: tmp = x + (b * -2.0) 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 <= -2.65e+21) tmp = t_1; elseif (y <= -9e-273) tmp = Float64(b * Float64(t + -2.0)); elseif (y <= 114000000000.0) tmp = Float64(x + Float64(b * -2.0)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = y * (b - z); tmp = 0.0; if (y <= -2.65e+21) tmp = t_1; elseif (y <= -9e-273) tmp = b * (t + -2.0); elseif (y <= 114000000000.0) tmp = x + (b * -2.0); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.65e+21], t$95$1, If[LessEqual[y, -9e-273], N[(b * N[(t + -2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 114000000000.0], N[(x + N[(b * -2.0), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(b - z\right)\\
\mathbf{if}\;y \leq -2.65 \cdot 10^{+21}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq -9 \cdot 10^{-273}:\\
\;\;\;\;b \cdot \left(t + -2\right)\\
\mathbf{elif}\;y \leq 114000000000:\\
\;\;\;\;x + b \cdot -2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -2.65e21 or 1.14e11 < y Initial program 96.4%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6470.1%
Simplified70.1%
if -2.65e21 < y < -8.99999999999999921e-273Initial program 98.2%
Taylor expanded in x around inf
Simplified54.1%
Taylor expanded in y around 0
Simplified54.1%
Taylor expanded in x around 0
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6440.8%
Simplified40.8%
if -8.99999999999999921e-273 < y < 1.14e11Initial program 98.3%
Taylor expanded in x around inf
Simplified62.8%
Taylor expanded in y around 0
Simplified62.8%
Taylor expanded in t around 0
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f6447.4%
Simplified47.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* y (- b z))))
(if (<= y -1.45e+24)
t_1
(if (<= y 2.4e-262)
(* b (+ t -2.0))
(if (<= y 560000000000.0) (* a (- 1.0 t)) 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.45e+24) {
tmp = t_1;
} else if (y <= 2.4e-262) {
tmp = b * (t + -2.0);
} else if (y <= 560000000000.0) {
tmp = a * (1.0 - t);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = y * (b - z)
if (y <= (-1.45d+24)) then
tmp = t_1
else if (y <= 2.4d-262) then
tmp = b * (t + (-2.0d0))
else if (y <= 560000000000.0d0) then
tmp = a * (1.0d0 - t)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = y * (b - z);
double tmp;
if (y <= -1.45e+24) {
tmp = t_1;
} else if (y <= 2.4e-262) {
tmp = b * (t + -2.0);
} else if (y <= 560000000000.0) {
tmp = a * (1.0 - t);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = y * (b - z) tmp = 0 if y <= -1.45e+24: tmp = t_1 elif y <= 2.4e-262: tmp = b * (t + -2.0) elif y <= 560000000000.0: tmp = a * (1.0 - t) 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.45e+24) tmp = t_1; elseif (y <= 2.4e-262) tmp = Float64(b * Float64(t + -2.0)); elseif (y <= 560000000000.0) tmp = Float64(a * Float64(1.0 - t)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = y * (b - z); tmp = 0.0; if (y <= -1.45e+24) tmp = t_1; elseif (y <= 2.4e-262) tmp = b * (t + -2.0); elseif (y <= 560000000000.0) tmp = a * (1.0 - t); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.45e+24], t$95$1, If[LessEqual[y, 2.4e-262], N[(b * N[(t + -2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 560000000000.0], N[(a * N[(1.0 - t), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(b - z\right)\\
\mathbf{if}\;y \leq -1.45 \cdot 10^{+24}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 2.4 \cdot 10^{-262}:\\
\;\;\;\;b \cdot \left(t + -2\right)\\
\mathbf{elif}\;y \leq 560000000000:\\
\;\;\;\;a \cdot \left(1 - t\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -1.4499999999999999e24 or 5.6e11 < y Initial program 96.4%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6470.1%
Simplified70.1%
if -1.4499999999999999e24 < y < 2.4e-262Initial program 98.6%
Taylor expanded in x around inf
Simplified61.9%
Taylor expanded in y around 0
Simplified61.9%
Taylor expanded in x around 0
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6443.4%
Simplified43.4%
if 2.4e-262 < y < 5.6e11Initial program 97.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
sub-negN/A
metadata-evalN/A
distribute-lft-inN/A
metadata-evalN/A
+-commutativeN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6444.0%
Simplified44.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* t (- b a))))
(if (<= t -13.0)
t_1
(if (<= t 2.8e-301) (* y b) (if (<= t 2.25e+21) (+ x z) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -13.0) {
tmp = t_1;
} else if (t <= 2.8e-301) {
tmp = y * b;
} else if (t <= 2.25e+21) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = t * (b - a)
if (t <= (-13.0d0)) then
tmp = t_1
else if (t <= 2.8d-301) then
tmp = y * b
else if (t <= 2.25d+21) then
tmp = x + z
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = t * (b - a);
double tmp;
if (t <= -13.0) {
tmp = t_1;
} else if (t <= 2.8e-301) {
tmp = y * b;
} else if (t <= 2.25e+21) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = t * (b - a) tmp = 0 if t <= -13.0: tmp = t_1 elif t <= 2.8e-301: tmp = y * b elif t <= 2.25e+21: tmp = x + z else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(t * Float64(b - a)) tmp = 0.0 if (t <= -13.0) tmp = t_1; elseif (t <= 2.8e-301) tmp = Float64(y * b); elseif (t <= 2.25e+21) tmp = Float64(x + z); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = t * (b - a); tmp = 0.0; if (t <= -13.0) tmp = t_1; elseif (t <= 2.8e-301) tmp = y * b; elseif (t <= 2.25e+21) tmp = x + z; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(t * N[(b - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -13.0], t$95$1, If[LessEqual[t, 2.8e-301], N[(y * b), $MachinePrecision], If[LessEqual[t, 2.25e+21], N[(x + z), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b - a\right)\\
\mathbf{if}\;t \leq -13:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 2.8 \cdot 10^{-301}:\\
\;\;\;\;y \cdot b\\
\mathbf{elif}\;t \leq 2.25 \cdot 10^{+21}:\\
\;\;\;\;x + z\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -13 or 2.25e21 < t Initial program 96.6%
Taylor expanded in t around inf
*-lowering-*.f64N/A
--lowering--.f6462.1%
Simplified62.1%
if -13 < t < 2.8000000000000001e-301Initial program 98.6%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6449.5%
Simplified49.5%
Taylor expanded in b around inf
Simplified28.3%
if 2.8000000000000001e-301 < t < 2.25e21Initial program 96.8%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified96.8%
Taylor expanded in z around inf
*-lowering-*.f64N/A
--lowering--.f6460.3%
Simplified60.3%
Taylor expanded in y around 0
+-lowering-+.f6439.2%
Simplified39.2%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* a (- 1.0 t))))
(if (<= a -6.3e+25)
t_1
(if (<= a -7.2e-218) (* b (+ t -2.0)) (if (<= a 1.95e+76) (+ x z) 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 <= -6.3e+25) {
tmp = t_1;
} else if (a <= -7.2e-218) {
tmp = b * (t + -2.0);
} else if (a <= 1.95e+76) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = a * (1.0d0 - t)
if (a <= (-6.3d+25)) then
tmp = t_1
else if (a <= (-7.2d-218)) then
tmp = b * (t + (-2.0d0))
else if (a <= 1.95d+76) then
tmp = x + z
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (1.0 - t);
double tmp;
if (a <= -6.3e+25) {
tmp = t_1;
} else if (a <= -7.2e-218) {
tmp = b * (t + -2.0);
} else if (a <= 1.95e+76) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (1.0 - t) tmp = 0 if a <= -6.3e+25: tmp = t_1 elif a <= -7.2e-218: tmp = b * (t + -2.0) elif a <= 1.95e+76: tmp = x + z 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 <= -6.3e+25) tmp = t_1; elseif (a <= -7.2e-218) tmp = Float64(b * Float64(t + -2.0)); elseif (a <= 1.95e+76) tmp = Float64(x + z); 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 (a <= -6.3e+25) tmp = t_1; elseif (a <= -7.2e-218) tmp = b * (t + -2.0); elseif (a <= 1.95e+76) tmp = x + z; 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[a, -6.3e+25], t$95$1, If[LessEqual[a, -7.2e-218], N[(b * N[(t + -2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.95e+76], N[(x + z), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
\mathbf{if}\;a \leq -6.3 \cdot 10^{+25}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -7.2 \cdot 10^{-218}:\\
\;\;\;\;b \cdot \left(t + -2\right)\\
\mathbf{elif}\;a \leq 1.95 \cdot 10^{+76}:\\
\;\;\;\;x + z\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -6.29999999999999973e25 or 1.94999999999999995e76 < a Initial program 94.0%
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
sub-negN/A
metadata-evalN/A
distribute-lft-inN/A
metadata-evalN/A
+-commutativeN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6454.4%
Simplified54.4%
if -6.29999999999999973e25 < a < -7.20000000000000023e-218Initial program 99.9%
Taylor expanded in x around inf
Simplified67.8%
Taylor expanded in y around 0
Simplified48.0%
Taylor expanded in x around 0
*-lowering-*.f64N/A
sub-negN/A
metadata-evalN/A
+-lowering-+.f6438.0%
Simplified38.0%
if -7.20000000000000023e-218 < a < 1.94999999999999995e76Initial program 98.9%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified96.9%
Taylor expanded in z around inf
*-lowering-*.f64N/A
--lowering--.f6461.7%
Simplified61.7%
Taylor expanded in y around 0
+-lowering-+.f6432.8%
Simplified32.8%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (* a (- 1.0 t))))
(if (<= a -1.75e+44)
t_1
(if (<= a -6.4e-182) (* y b) (if (<= a 2.9e+79) (+ x z) 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.75e+44) {
tmp = t_1;
} else if (a <= -6.4e-182) {
tmp = y * b;
} else if (a <= 2.9e+79) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = a * (1.0d0 - t)
if (a <= (-1.75d+44)) then
tmp = t_1
else if (a <= (-6.4d-182)) then
tmp = y * b
else if (a <= 2.9d+79) then
tmp = x + z
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a * (1.0 - t);
double tmp;
if (a <= -1.75e+44) {
tmp = t_1;
} else if (a <= -6.4e-182) {
tmp = y * b;
} else if (a <= 2.9e+79) {
tmp = x + z;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = a * (1.0 - t) tmp = 0 if a <= -1.75e+44: tmp = t_1 elif a <= -6.4e-182: tmp = y * b elif a <= 2.9e+79: tmp = x + z 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.75e+44) tmp = t_1; elseif (a <= -6.4e-182) tmp = Float64(y * b); elseif (a <= 2.9e+79) tmp = Float64(x + z); 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 (a <= -1.75e+44) tmp = t_1; elseif (a <= -6.4e-182) tmp = y * b; elseif (a <= 2.9e+79) tmp = x + z; 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[a, -1.75e+44], t$95$1, If[LessEqual[a, -6.4e-182], N[(y * b), $MachinePrecision], If[LessEqual[a, 2.9e+79], N[(x + z), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(1 - t\right)\\
\mathbf{if}\;a \leq -1.75 \cdot 10^{+44}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -6.4 \cdot 10^{-182}:\\
\;\;\;\;y \cdot b\\
\mathbf{elif}\;a \leq 2.9 \cdot 10^{+79}:\\
\;\;\;\;x + z\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.75e44 or 2.89999999999999992e79 < a Initial program 93.8%
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
sub-negN/A
metadata-evalN/A
distribute-lft-inN/A
metadata-evalN/A
+-commutativeN/A
neg-mul-1N/A
sub-negN/A
--lowering--.f6455.5%
Simplified55.5%
if -1.75e44 < a < -6.40000000000000004e-182Initial program 99.9%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6450.2%
Simplified50.2%
Taylor expanded in b around inf
Simplified27.3%
if -6.40000000000000004e-182 < a < 2.89999999999999992e79Initial program 99.1%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified97.2%
Taylor expanded in z around inf
*-lowering-*.f64N/A
--lowering--.f6460.6%
Simplified60.6%
Taylor expanded in y around 0
+-lowering-+.f6431.4%
Simplified31.4%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ x (* (- (+ y t) 2.0) b))))
(if (<= b -53000000.0)
t_1
(if (<= b 3500000000000.0) (+ (* 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 = x + (((y + t) - 2.0) * b);
double tmp;
if (b <= -53000000.0) {
tmp = t_1;
} else if (b <= 3500000000000.0) {
tmp = (z * (1.0 - y)) + (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 = x + (((y + t) - 2.0d0) * b)
if (b <= (-53000000.0d0)) then
tmp = t_1
else if (b <= 3500000000000.0d0) then
tmp = (z * (1.0d0 - y)) + (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 = x + (((y + t) - 2.0) * b);
double tmp;
if (b <= -53000000.0) {
tmp = t_1;
} else if (b <= 3500000000000.0) {
tmp = (z * (1.0 - y)) + (x + a);
} 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 <= -53000000.0: tmp = t_1 elif b <= 3500000000000.0: tmp = (z * (1.0 - y)) + (x + a) 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 <= -53000000.0) tmp = t_1; elseif (b <= 3500000000000.0) tmp = Float64(Float64(z * Float64(1.0 - y)) + Float64(x + a)); 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 <= -53000000.0) tmp = t_1; elseif (b <= 3500000000000.0) tmp = (z * (1.0 - y)) + (x + a); 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, -53000000.0], t$95$1, If[LessEqual[b, 3500000000000.0], N[(N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision] + N[(x + a), $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 -53000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 3500000000000:\\
\;\;\;\;z \cdot \left(1 - y\right) + \left(x + a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -5.3e7 or 3.5e12 < b Initial program 94.5%
Taylor expanded in x around inf
Simplified78.9%
if -5.3e7 < b < 3.5e12Initial program 100.0%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified100.0%
Taylor expanded in b around 0
associate-+r+N/A
associate-+r+N/A
+-commutativeN/A
associate-+r+N/A
mul-1-negN/A
*-rgt-identityN/A
distribute-rgt-neg-inN/A
mul-1-negN/A
distribute-lft-inN/A
+-lowering-+.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
--lowering--.f6494.0%
Simplified94.0%
Taylor expanded in t around 0
Simplified72.8%
Final simplification75.9%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ x (* z (- 1.0 y)))))
(if (<= z -4.3e+105)
t_1
(if (<= z 80000000000000.0) (+ x (* (- (+ y t) 2.0) b)) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (z * (1.0 - y));
double tmp;
if (z <= -4.3e+105) {
tmp = t_1;
} else if (z <= 80000000000000.0) {
tmp = x + (((y + t) - 2.0) * 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 = x + (z * (1.0d0 - y))
if (z <= (-4.3d+105)) then
tmp = t_1
else if (z <= 80000000000000.0d0) then
tmp = x + (((y + t) - 2.0d0) * 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 = x + (z * (1.0 - y));
double tmp;
if (z <= -4.3e+105) {
tmp = t_1;
} else if (z <= 80000000000000.0) {
tmp = x + (((y + t) - 2.0) * b);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x + (z * (1.0 - y)) tmp = 0 if z <= -4.3e+105: tmp = t_1 elif z <= 80000000000000.0: tmp = x + (((y + t) - 2.0) * b) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x + Float64(z * Float64(1.0 - y))) tmp = 0.0 if (z <= -4.3e+105) tmp = t_1; elseif (z <= 80000000000000.0) tmp = Float64(x + Float64(Float64(Float64(y + t) - 2.0) * b)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x + (z * (1.0 - y)); tmp = 0.0; if (z <= -4.3e+105) tmp = t_1; elseif (z <= 80000000000000.0) tmp = x + (((y + t) - 2.0) * b); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x + N[(z * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -4.3e+105], t$95$1, If[LessEqual[z, 80000000000000.0], N[(x + N[(N[(N[(y + t), $MachinePrecision] - 2.0), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + z \cdot \left(1 - y\right)\\
\mathbf{if}\;z \leq -4.3 \cdot 10^{+105}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 80000000000000:\\
\;\;\;\;x + \left(\left(y + t\right) - 2\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -4.3000000000000002e105 or 8e13 < z Initial program 97.0%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified95.0%
Taylor expanded in z around inf
*-lowering-*.f64N/A
--lowering--.f6475.0%
Simplified75.0%
if -4.3000000000000002e105 < z < 8e13Initial program 97.4%
Taylor expanded in x around inf
Simplified67.0%
(FPCore (x y z t a b) :precision binary64 (if (<= y -1.7e+69) (* y b) (if (<= y 6.5e-8) (+ x z) (if (<= y 1.2e+127) (* t b) (* y b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.7e+69) {
tmp = y * b;
} else if (y <= 6.5e-8) {
tmp = x + z;
} else if (y <= 1.2e+127) {
tmp = t * b;
} 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.7d+69)) then
tmp = y * b
else if (y <= 6.5d-8) then
tmp = x + z
else if (y <= 1.2d+127) then
tmp = t * b
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.7e+69) {
tmp = y * b;
} else if (y <= 6.5e-8) {
tmp = x + z;
} else if (y <= 1.2e+127) {
tmp = t * b;
} else {
tmp = y * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.7e+69: tmp = y * b elif y <= 6.5e-8: tmp = x + z elif y <= 1.2e+127: tmp = t * b else: tmp = y * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.7e+69) tmp = Float64(y * b); elseif (y <= 6.5e-8) tmp = Float64(x + z); elseif (y <= 1.2e+127) tmp = Float64(t * b); 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.7e+69) tmp = y * b; elseif (y <= 6.5e-8) tmp = x + z; elseif (y <= 1.2e+127) tmp = t * b; else tmp = y * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.7e+69], N[(y * b), $MachinePrecision], If[LessEqual[y, 6.5e-8], N[(x + z), $MachinePrecision], If[LessEqual[y, 1.2e+127], N[(t * b), $MachinePrecision], N[(y * b), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.7 \cdot 10^{+69}:\\
\;\;\;\;y \cdot b\\
\mathbf{elif}\;y \leq 6.5 \cdot 10^{-8}:\\
\;\;\;\;x + z\\
\mathbf{elif}\;y \leq 1.2 \cdot 10^{+127}:\\
\;\;\;\;t \cdot b\\
\mathbf{else}:\\
\;\;\;\;y \cdot b\\
\end{array}
\end{array}
if y < -1.69999999999999993e69 or 1.2000000000000001e127 < y Initial program 95.8%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6478.8%
Simplified78.8%
Taylor expanded in b around inf
Simplified40.1%
if -1.69999999999999993e69 < y < 6.49999999999999997e-8Initial program 98.4%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified100.0%
Taylor expanded in z around inf
*-lowering-*.f64N/A
--lowering--.f6440.2%
Simplified40.2%
Taylor expanded in y around 0
+-lowering-+.f6433.1%
Simplified33.1%
if 6.49999999999999997e-8 < y < 1.2000000000000001e127Initial program 96.7%
Taylor expanded in x around inf
Simplified41.1%
Taylor expanded in t around inf
*-lowering-*.f6424.5%
Simplified24.5%
Final simplification34.7%
(FPCore (x y z t a b) :precision binary64 (if (<= t -1.35e+47) (* t b) (if (<= t 9.5e-302) (* y b) (if (<= t 1.55e+63) x (* t b)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -1.35e+47) {
tmp = t * b;
} else if (t <= 9.5e-302) {
tmp = y * b;
} else if (t <= 1.55e+63) {
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 <= (-1.35d+47)) then
tmp = t * b
else if (t <= 9.5d-302) then
tmp = y * b
else if (t <= 1.55d+63) 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 <= -1.35e+47) {
tmp = t * b;
} else if (t <= 9.5e-302) {
tmp = y * b;
} else if (t <= 1.55e+63) {
tmp = x;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -1.35e+47: tmp = t * b elif t <= 9.5e-302: tmp = y * b elif t <= 1.55e+63: tmp = x else: tmp = t * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -1.35e+47) tmp = Float64(t * b); elseif (t <= 9.5e-302) tmp = Float64(y * b); elseif (t <= 1.55e+63) 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 <= -1.35e+47) tmp = t * b; elseif (t <= 9.5e-302) tmp = y * b; elseif (t <= 1.55e+63) tmp = x; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -1.35e+47], N[(t * b), $MachinePrecision], If[LessEqual[t, 9.5e-302], N[(y * b), $MachinePrecision], If[LessEqual[t, 1.55e+63], x, N[(t * b), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.35 \cdot 10^{+47}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq 9.5 \cdot 10^{-302}:\\
\;\;\;\;y \cdot b\\
\mathbf{elif}\;t \leq 1.55 \cdot 10^{+63}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -1.34999999999999998e47 or 1.55e63 < t Initial program 95.8%
Taylor expanded in x around inf
Simplified45.7%
Taylor expanded in t around inf
*-lowering-*.f6437.1%
Simplified37.1%
if -1.34999999999999998e47 < t < 9.49999999999999991e-302Initial program 98.7%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6447.8%
Simplified47.8%
Taylor expanded in b around inf
Simplified27.3%
if 9.49999999999999991e-302 < t < 1.55e63Initial program 97.4%
Taylor expanded in x around inf
Simplified28.1%
Final simplification31.2%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* b (+ t (+ y -2.0))))) (if (<= b -8.4e+102) t_1 (if (<= b 1.38e+78) (+ 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 <= -8.4e+102) {
tmp = t_1;
} else if (b <= 1.38e+78) {
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 <= (-8.4d+102)) then
tmp = t_1
else if (b <= 1.38d+78) 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 <= -8.4e+102) {
tmp = t_1;
} else if (b <= 1.38e+78) {
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 <= -8.4e+102: tmp = t_1 elif b <= 1.38e+78: 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 <= -8.4e+102) tmp = t_1; elseif (b <= 1.38e+78) 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 <= -8.4e+102) tmp = t_1; elseif (b <= 1.38e+78) 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, -8.4e+102], t$95$1, If[LessEqual[b, 1.38e+78], 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 -8.4 \cdot 10^{+102}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 1.38 \cdot 10^{+78}:\\
\;\;\;\;x + z \cdot \left(1 - y\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -8.40000000000000006e102 or 1.37999999999999992e78 < b Initial program 92.6%
Taylor expanded in b around inf
*-lowering-*.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-eval78.9%
Simplified78.9%
if -8.40000000000000006e102 < b < 1.37999999999999992e78Initial program 100.0%
Taylor expanded in t around 0
associate--l+N/A
+-lowering-+.f64N/A
associate--l+N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-lowering-+.f64N/A
metadata-evalN/A
sub-negN/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
distribute-neg-inN/A
mul-1-negN/A
remove-double-negN/A
+-lowering-+.f64N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
sub-negN/A
Simplified100.0%
Taylor expanded in z around inf
*-lowering-*.f64N/A
--lowering--.f6458.2%
Simplified58.2%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (* y (- b z)))) (if (<= y -6.6e+24) t_1 (if (<= y 7.5e+57) (+ x (* t b)) 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 <= -6.6e+24) {
tmp = t_1;
} else if (y <= 7.5e+57) {
tmp = x + (t * 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 = y * (b - z)
if (y <= (-6.6d+24)) then
tmp = t_1
else if (y <= 7.5d+57) then
tmp = x + (t * 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 = y * (b - z);
double tmp;
if (y <= -6.6e+24) {
tmp = t_1;
} else if (y <= 7.5e+57) {
tmp = x + (t * b);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = y * (b - z) tmp = 0 if y <= -6.6e+24: tmp = t_1 elif y <= 7.5e+57: tmp = x + (t * b) 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 <= -6.6e+24) tmp = t_1; elseif (y <= 7.5e+57) tmp = Float64(x + Float64(t * b)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = y * (b - z); tmp = 0.0; if (y <= -6.6e+24) tmp = t_1; elseif (y <= 7.5e+57) tmp = x + (t * b); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(y * N[(b - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -6.6e+24], t$95$1, If[LessEqual[y, 7.5e+57], N[(x + N[(t * b), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(b - z\right)\\
\mathbf{if}\;y \leq -6.6 \cdot 10^{+24}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 7.5 \cdot 10^{+57}:\\
\;\;\;\;x + t \cdot b\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -6.5999999999999998e24 or 7.5000000000000006e57 < y Initial program 96.9%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f6473.1%
Simplified73.1%
if -6.5999999999999998e24 < y < 7.5000000000000006e57Initial program 97.6%
Taylor expanded in x around inf
Simplified58.2%
Taylor expanded in t around inf
Simplified41.4%
(FPCore (x y z t a b) :precision binary64 (if (<= t -5.2e+48) (* t b) (if (<= t 1.02e+66) x (* t b))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -5.2e+48) {
tmp = t * b;
} else if (t <= 1.02e+66) {
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+48)) then
tmp = t * b
else if (t <= 1.02d+66) 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+48) {
tmp = t * b;
} else if (t <= 1.02e+66) {
tmp = x;
} else {
tmp = t * b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -5.2e+48: tmp = t * b elif t <= 1.02e+66: tmp = x else: tmp = t * b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -5.2e+48) tmp = Float64(t * b); elseif (t <= 1.02e+66) 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+48) tmp = t * b; elseif (t <= 1.02e+66) tmp = x; else tmp = t * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -5.2e+48], N[(t * b), $MachinePrecision], If[LessEqual[t, 1.02e+66], x, N[(t * b), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -5.2 \cdot 10^{+48}:\\
\;\;\;\;t \cdot b\\
\mathbf{elif}\;t \leq 1.02 \cdot 10^{+66}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t \cdot b\\
\end{array}
\end{array}
if t < -5.1999999999999999e48 or 1.01999999999999998e66 < t Initial program 95.7%
Taylor expanded in x around inf
Simplified45.6%
Taylor expanded in t around inf
*-lowering-*.f6437.8%
Simplified37.8%
if -5.1999999999999999e48 < t < 1.01999999999999998e66Initial program 98.1%
Taylor expanded in x around inf
Simplified20.1%
Final simplification26.5%
(FPCore (x y z t a b) :precision binary64 x)
double code(double x, double y, double z, double t, double a, double b) {
return x;
}
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
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x;
}
def code(x, y, z, t, a, b): return x
function code(x, y, z, t, a, b) return x end
function tmp = code(x, y, z, t, a, b) tmp = x; end
code[x_, y_, z_, t_, a_, b_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 97.2%
Taylor expanded in x around inf
Simplified15.3%
herbie shell --seed 2024158
(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)))