
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i))))
(* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a))))
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i))))
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a))))
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(y0 * b) - Float64(y1 * i)))) + Float64(Float64(Float64(x * y2) - Float64(z * y3)) * Float64(Float64(y0 * c) - Float64(y1 * a)))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * Float64(Float64(y4 * b) - Float64(y5 * i)))) - Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(y4 * c) - Float64(y5 * a)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * Float64(Float64(y4 * y1) - Float64(y5 * y0)))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 31 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i))))
(* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a))))
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i))))
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a))))
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(y0 * b) - Float64(y1 * i)))) + Float64(Float64(Float64(x * y2) - Float64(z * y3)) * Float64(Float64(y0 * c) - Float64(y1 * a)))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * Float64(Float64(y4 * b) - Float64(y5 * i)))) - Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(y4 * c) - Float64(y5 * a)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * Float64(Float64(y4 * y1) - Float64(y5 * y0)))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\end{array}
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (fma t y2 (- 0.0 (* y y3))))
(t_2 (- (* z y3) (* x y2)))
(t_3 (- (* c y0) (* a y1)))
(t_4 (- (* k y2) (* j y3)))
(t_5 (* y5 (fma i (- (* y k) (* t j)) (fma t_4 (- 0.0 y0) (* a t_1)))))
(t_6 (* y4 (- (fma b (- (* t j) (* y k)) (* y1 t_4)) (* c t_1)))))
(if (<= y5 -4.25e+164)
t_5
(if (<= y5 -1.5e+35)
t_6
(if (<= y5 -1.85e-230)
(* y1 (fma a t_2 (fma y4 t_4 (* i (- (* x j) (* z k))))))
(if (<= y5 2.65e-298)
(*
x
(-
(fma t_3 y2 (* y (fma a b (- 0.0 (* c i)))))
(* j (fma b y0 (* i (- 0.0 y1))))))
(if (<= y5 3e-101)
t_6
(if (<= y5 4.4e+39)
(*
y2
(+
(fma t_3 x (* k (fma y1 y4 (* y0 (- 0.0 y5)))))
(* t (- (* a y5) (* c y4)))))
(if (<= y5 2.1e+194)
(*
(fma y0 t_2 (fma i (- (* x y) (* z t)) (* y4 t_1)))
(- 0.0 c))
t_5)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = fma(t, y2, (0.0 - (y * y3)));
double t_2 = (z * y3) - (x * y2);
double t_3 = (c * y0) - (a * y1);
double t_4 = (k * y2) - (j * y3);
double t_5 = y5 * fma(i, ((y * k) - (t * j)), fma(t_4, (0.0 - y0), (a * t_1)));
double t_6 = y4 * (fma(b, ((t * j) - (y * k)), (y1 * t_4)) - (c * t_1));
double tmp;
if (y5 <= -4.25e+164) {
tmp = t_5;
} else if (y5 <= -1.5e+35) {
tmp = t_6;
} else if (y5 <= -1.85e-230) {
tmp = y1 * fma(a, t_2, fma(y4, t_4, (i * ((x * j) - (z * k)))));
} else if (y5 <= 2.65e-298) {
tmp = x * (fma(t_3, y2, (y * fma(a, b, (0.0 - (c * i))))) - (j * fma(b, y0, (i * (0.0 - y1)))));
} else if (y5 <= 3e-101) {
tmp = t_6;
} else if (y5 <= 4.4e+39) {
tmp = y2 * (fma(t_3, x, (k * fma(y1, y4, (y0 * (0.0 - y5))))) + (t * ((a * y5) - (c * y4))));
} else if (y5 <= 2.1e+194) {
tmp = fma(y0, t_2, fma(i, ((x * y) - (z * t)), (y4 * t_1))) * (0.0 - c);
} else {
tmp = t_5;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = fma(t, y2, Float64(0.0 - Float64(y * y3))) t_2 = Float64(Float64(z * y3) - Float64(x * y2)) t_3 = Float64(Float64(c * y0) - Float64(a * y1)) t_4 = Float64(Float64(k * y2) - Float64(j * y3)) t_5 = Float64(y5 * fma(i, Float64(Float64(y * k) - Float64(t * j)), fma(t_4, Float64(0.0 - y0), Float64(a * t_1)))) t_6 = Float64(y4 * Float64(fma(b, Float64(Float64(t * j) - Float64(y * k)), Float64(y1 * t_4)) - Float64(c * t_1))) tmp = 0.0 if (y5 <= -4.25e+164) tmp = t_5; elseif (y5 <= -1.5e+35) tmp = t_6; elseif (y5 <= -1.85e-230) tmp = Float64(y1 * fma(a, t_2, fma(y4, t_4, Float64(i * Float64(Float64(x * j) - Float64(z * k)))))); elseif (y5 <= 2.65e-298) tmp = Float64(x * Float64(fma(t_3, y2, Float64(y * fma(a, b, Float64(0.0 - Float64(c * i))))) - Float64(j * fma(b, y0, Float64(i * Float64(0.0 - y1)))))); elseif (y5 <= 3e-101) tmp = t_6; elseif (y5 <= 4.4e+39) tmp = Float64(y2 * Float64(fma(t_3, x, Float64(k * fma(y1, y4, Float64(y0 * Float64(0.0 - y5))))) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y5 <= 2.1e+194) tmp = Float64(fma(y0, t_2, fma(i, Float64(Float64(x * y) - Float64(z * t)), Float64(y4 * t_1))) * Float64(0.0 - c)); else tmp = t_5; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y5 * N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision] + N[(t$95$4 * N[(0.0 - y0), $MachinePrecision] + N[(a * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(y4 * N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$4), $MachinePrecision]), $MachinePrecision] - N[(c * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -4.25e+164], t$95$5, If[LessEqual[y5, -1.5e+35], t$95$6, If[LessEqual[y5, -1.85e-230], N[(y1 * N[(a * t$95$2 + N[(y4 * t$95$4 + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 2.65e-298], N[(x * N[(N[(t$95$3 * y2 + N[(y * N[(a * b + N[(0.0 - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(j * N[(b * y0 + N[(i * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 3e-101], t$95$6, If[LessEqual[y5, 4.4e+39], N[(y2 * N[(N[(t$95$3 * x + N[(k * N[(y1 * y4 + N[(y0 * N[(0.0 - y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 2.1e+194], N[(N[(y0 * t$95$2 + N[(i * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(0.0 - c), $MachinePrecision]), $MachinePrecision], t$95$5]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\\
t_2 := z \cdot y3 - x \cdot y2\\
t_3 := c \cdot y0 - a \cdot y1\\
t_4 := k \cdot y2 - j \cdot y3\\
t_5 := y5 \cdot \mathsf{fma}\left(i, y \cdot k - t \cdot j, \mathsf{fma}\left(t\_4, 0 - y0, a \cdot t\_1\right)\right)\\
t_6 := y4 \cdot \left(\mathsf{fma}\left(b, t \cdot j - y \cdot k, y1 \cdot t\_4\right) - c \cdot t\_1\right)\\
\mathbf{if}\;y5 \leq -4.25 \cdot 10^{+164}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;y5 \leq -1.5 \cdot 10^{+35}:\\
\;\;\;\;t\_6\\
\mathbf{elif}\;y5 \leq -1.85 \cdot 10^{-230}:\\
\;\;\;\;y1 \cdot \mathsf{fma}\left(a, t\_2, \mathsf{fma}\left(y4, t\_4, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
\mathbf{elif}\;y5 \leq 2.65 \cdot 10^{-298}:\\
\;\;\;\;x \cdot \left(\mathsf{fma}\left(t\_3, y2, y \cdot \mathsf{fma}\left(a, b, 0 - c \cdot i\right)\right) - j \cdot \mathsf{fma}\left(b, y0, i \cdot \left(0 - y1\right)\right)\right)\\
\mathbf{elif}\;y5 \leq 3 \cdot 10^{-101}:\\
\;\;\;\;t\_6\\
\mathbf{elif}\;y5 \leq 4.4 \cdot 10^{+39}:\\
\;\;\;\;y2 \cdot \left(\mathsf{fma}\left(t\_3, x, k \cdot \mathsf{fma}\left(y1, y4, y0 \cdot \left(0 - y5\right)\right)\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y5 \leq 2.1 \cdot 10^{+194}:\\
\;\;\;\;\mathsf{fma}\left(y0, t\_2, \mathsf{fma}\left(i, x \cdot y - z \cdot t, y4 \cdot t\_1\right)\right) \cdot \left(0 - c\right)\\
\mathbf{else}:\\
\;\;\;\;t\_5\\
\end{array}
\end{array}
if y5 < -4.25000000000000014e164 or 2.10000000000000016e194 < y5 Initial program 30.0%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified87.5%
if -4.25000000000000014e164 < y5 < -1.49999999999999995e35 or 2.65000000000000001e-298 < y5 < 3.0000000000000003e-101Initial program 33.7%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6467.9
Simplified67.9%
if -1.49999999999999995e35 < y5 < -1.84999999999999991e-230Initial program 38.3%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified57.1%
if -1.84999999999999991e-230 < y5 < 2.65000000000000001e-298Initial program 40.0%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified74.0%
if 3.0000000000000003e-101 < y5 < 4.4000000000000003e39Initial program 25.7%
Taylor expanded in y2 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified53.7%
if 4.4000000000000003e39 < y5 < 2.10000000000000016e194Initial program 21.6%
Taylor expanded in c around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified57.2%
Final simplification65.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* t j) (* y k)))
(t_2 (- (* k y2) (* j y3)))
(t_3
(+
(+
(+
(+
(+
(* (- (* a b) (* c i)) (- (* x y) (* z t)))
(* (- (* b y0) (* i y1)) (- (* z k) (* x j))))
(* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))))
(* t_1 (- (* b y4) (* i y5))))
(* (- (* t y2) (* y y3)) (- (* a y5) (* c y4))))
(* (- (* y1 y4) (* y0 y5)) t_2))))
(if (<= t_3 INFINITY)
t_3
(* y4 (- (fma b t_1 (* y1 t_2)) (* c (fma t y2 (- 0.0 (* y y3)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (t * j) - (y * k);
double t_2 = (k * y2) - (j * y3);
double t_3 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (((x * y2) - (z * y3)) * ((c * y0) - (a * y1)))) + (t_1 * ((b * y4) - (i * y5)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * t_2);
double tmp;
if (t_3 <= ((double) INFINITY)) {
tmp = t_3;
} else {
tmp = y4 * (fma(b, t_1, (y1 * t_2)) - (c * fma(t, y2, (0.0 - (y * y3)))));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(t * j) - Float64(y * k)) t_2 = Float64(Float64(k * y2) - Float64(j * y3)) t_3 = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(a * b) - Float64(c * i)) * Float64(Float64(x * y) - Float64(z * t))) + Float64(Float64(Float64(b * y0) - Float64(i * y1)) * Float64(Float64(z * k) - Float64(x * j)))) + Float64(Float64(Float64(x * y2) - Float64(z * y3)) * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(t_1 * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(a * y5) - Float64(c * y4)))) + Float64(Float64(Float64(y1 * y4) - Float64(y0 * y5)) * t_2)) tmp = 0.0 if (t_3 <= Inf) tmp = t_3; else tmp = Float64(y4 * Float64(fma(b, t_1, Float64(y1 * t_2)) - Float64(c * fma(t, y2, Float64(0.0 - Float64(y * y3)))))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(N[(N[(N[(N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision] * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision] * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$3, Infinity], t$95$3, N[(y4 * N[(N[(b * t$95$1 + N[(y1 * t$95$2), $MachinePrecision]), $MachinePrecision] - N[(c * N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot j - y \cdot k\\
t_2 := k \cdot y2 - j \cdot y3\\
t_3 := \left(\left(\left(\left(\left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right) + \left(b \cdot y0 - i \cdot y1\right) \cdot \left(z \cdot k - x \cdot j\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + t\_1 \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + \left(t \cdot y2 - y \cdot y3\right) \cdot \left(a \cdot y5 - c \cdot y4\right)\right) + \left(y1 \cdot y4 - y0 \cdot y5\right) \cdot t\_2\\
\mathbf{if}\;t\_3 \leq \infty:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(\mathsf{fma}\left(b, t\_1, y1 \cdot t\_2\right) - c \cdot \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\right)\\
\end{array}
\end{array}
if (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) < +inf.0Initial program 93.4%
if +inf.0 < (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) Initial program 0.0%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6447.0
Simplified47.0%
Final simplification62.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (fma a b (- 0.0 (* c i))))
(t_2 (fma b y0 (* i (- 0.0 y1))))
(t_3 (fma t y2 (- 0.0 (* y y3))))
(t_4 (- (* c y0) (* a y1)))
(t_5 (- (* k y2) (* j y3)))
(t_6 (* y5 (fma i (- (* y k) (* t j)) (fma t_5 (- 0.0 y0) (* a t_3)))))
(t_7 (* y4 (- (fma b (- (* t j) (* y k)) (* y1 t_5)) (* c t_3)))))
(if (<= y5 -2.85e+165)
t_6
(if (<= y5 -3.4e+35)
t_7
(if (<= y5 -1e-236)
(*
y1
(fma a (- (* z y3) (* x y2)) (fma y4 t_5 (* i (- (* x j) (* z k))))))
(if (<= y5 4.2e-298)
(* x (- (fma t_4 y2 (* y t_1)) (* j t_2)))
(if (<= y5 1.02e-53)
t_7
(if (<= y5 6e+193)
(* z (- (* k t_2) (fma y3 t_4 (* t t_1))))
t_6))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = fma(a, b, (0.0 - (c * i)));
double t_2 = fma(b, y0, (i * (0.0 - y1)));
double t_3 = fma(t, y2, (0.0 - (y * y3)));
double t_4 = (c * y0) - (a * y1);
double t_5 = (k * y2) - (j * y3);
double t_6 = y5 * fma(i, ((y * k) - (t * j)), fma(t_5, (0.0 - y0), (a * t_3)));
double t_7 = y4 * (fma(b, ((t * j) - (y * k)), (y1 * t_5)) - (c * t_3));
double tmp;
if (y5 <= -2.85e+165) {
tmp = t_6;
} else if (y5 <= -3.4e+35) {
tmp = t_7;
} else if (y5 <= -1e-236) {
tmp = y1 * fma(a, ((z * y3) - (x * y2)), fma(y4, t_5, (i * ((x * j) - (z * k)))));
} else if (y5 <= 4.2e-298) {
tmp = x * (fma(t_4, y2, (y * t_1)) - (j * t_2));
} else if (y5 <= 1.02e-53) {
tmp = t_7;
} else if (y5 <= 6e+193) {
tmp = z * ((k * t_2) - fma(y3, t_4, (t * t_1)));
} else {
tmp = t_6;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = fma(a, b, Float64(0.0 - Float64(c * i))) t_2 = fma(b, y0, Float64(i * Float64(0.0 - y1))) t_3 = fma(t, y2, Float64(0.0 - Float64(y * y3))) t_4 = Float64(Float64(c * y0) - Float64(a * y1)) t_5 = Float64(Float64(k * y2) - Float64(j * y3)) t_6 = Float64(y5 * fma(i, Float64(Float64(y * k) - Float64(t * j)), fma(t_5, Float64(0.0 - y0), Float64(a * t_3)))) t_7 = Float64(y4 * Float64(fma(b, Float64(Float64(t * j) - Float64(y * k)), Float64(y1 * t_5)) - Float64(c * t_3))) tmp = 0.0 if (y5 <= -2.85e+165) tmp = t_6; elseif (y5 <= -3.4e+35) tmp = t_7; elseif (y5 <= -1e-236) tmp = Float64(y1 * fma(a, Float64(Float64(z * y3) - Float64(x * y2)), fma(y4, t_5, Float64(i * Float64(Float64(x * j) - Float64(z * k)))))); elseif (y5 <= 4.2e-298) tmp = Float64(x * Float64(fma(t_4, y2, Float64(y * t_1)) - Float64(j * t_2))); elseif (y5 <= 1.02e-53) tmp = t_7; elseif (y5 <= 6e+193) tmp = Float64(z * Float64(Float64(k * t_2) - fma(y3, t_4, Float64(t * t_1)))); else tmp = t_6; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(a * b + N[(0.0 - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * y0 + N[(i * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(y5 * N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision] + N[(t$95$5 * N[(0.0 - y0), $MachinePrecision] + N[(a * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(y4 * N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$5), $MachinePrecision]), $MachinePrecision] - N[(c * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -2.85e+165], t$95$6, If[LessEqual[y5, -3.4e+35], t$95$7, If[LessEqual[y5, -1e-236], N[(y1 * N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$5 + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 4.2e-298], N[(x * N[(N[(t$95$4 * y2 + N[(y * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(j * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 1.02e-53], t$95$7, If[LessEqual[y5, 6e+193], N[(z * N[(N[(k * t$95$2), $MachinePrecision] - N[(y3 * t$95$4 + N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$6]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(a, b, 0 - c \cdot i\right)\\
t_2 := \mathsf{fma}\left(b, y0, i \cdot \left(0 - y1\right)\right)\\
t_3 := \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\\
t_4 := c \cdot y0 - a \cdot y1\\
t_5 := k \cdot y2 - j \cdot y3\\
t_6 := y5 \cdot \mathsf{fma}\left(i, y \cdot k - t \cdot j, \mathsf{fma}\left(t\_5, 0 - y0, a \cdot t\_3\right)\right)\\
t_7 := y4 \cdot \left(\mathsf{fma}\left(b, t \cdot j - y \cdot k, y1 \cdot t\_5\right) - c \cdot t\_3\right)\\
\mathbf{if}\;y5 \leq -2.85 \cdot 10^{+165}:\\
\;\;\;\;t\_6\\
\mathbf{elif}\;y5 \leq -3.4 \cdot 10^{+35}:\\
\;\;\;\;t\_7\\
\mathbf{elif}\;y5 \leq -1 \cdot 10^{-236}:\\
\;\;\;\;y1 \cdot \mathsf{fma}\left(a, z \cdot y3 - x \cdot y2, \mathsf{fma}\left(y4, t\_5, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
\mathbf{elif}\;y5 \leq 4.2 \cdot 10^{-298}:\\
\;\;\;\;x \cdot \left(\mathsf{fma}\left(t\_4, y2, y \cdot t\_1\right) - j \cdot t\_2\right)\\
\mathbf{elif}\;y5 \leq 1.02 \cdot 10^{-53}:\\
\;\;\;\;t\_7\\
\mathbf{elif}\;y5 \leq 6 \cdot 10^{+193}:\\
\;\;\;\;z \cdot \left(k \cdot t\_2 - \mathsf{fma}\left(y3, t\_4, t \cdot t\_1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_6\\
\end{array}
\end{array}
if y5 < -2.85000000000000013e165 or 6e193 < y5 Initial program 30.0%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified87.5%
if -2.85000000000000013e165 < y5 < -3.4000000000000001e35 or 4.2000000000000001e-298 < y5 < 1.02000000000000002e-53Initial program 32.1%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6464.1
Simplified64.1%
if -3.4000000000000001e35 < y5 < -1e-236Initial program 38.3%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified57.1%
if -1e-236 < y5 < 4.2000000000000001e-298Initial program 40.0%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified74.0%
if 1.02000000000000002e-53 < y5 < 6e193Initial program 24.1%
Taylor expanded in z around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified58.2%
Final simplification65.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (fma t y2 (- 0.0 (* y y3))))
(t_2 (- (* c y0) (* a y1)))
(t_3 (- (* k y2) (* j y3)))
(t_4 (* y5 (fma i (- (* y k) (* t j)) (fma t_3 (- 0.0 y0) (* a t_1)))))
(t_5 (* y4 (- (fma b (- (* t j) (* y k)) (* y1 t_3)) (* c t_1)))))
(if (<= y5 -4.6e+166)
t_4
(if (<= y5 -2.2e+38)
t_5
(if (<= y5 -5.4e-238)
(*
y1
(fma a (- (* z y3) (* x y2)) (fma y4 t_3 (* i (- (* x j) (* z k))))))
(if (<= y5 1.15e-297)
(*
x
(-
(fma t_2 y2 (* y (fma a b (- 0.0 (* c i)))))
(* j (fma b y0 (* i (- 0.0 y1))))))
(if (<= y5 5.4e-95)
t_5
(if (<= y5 7.7e+62)
(*
y2
(+
(fma t_2 x (* k (fma y1 y4 (* y0 (- 0.0 y5)))))
(* t (- (* a y5) (* c y4)))))
t_4))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = fma(t, y2, (0.0 - (y * y3)));
double t_2 = (c * y0) - (a * y1);
double t_3 = (k * y2) - (j * y3);
double t_4 = y5 * fma(i, ((y * k) - (t * j)), fma(t_3, (0.0 - y0), (a * t_1)));
double t_5 = y4 * (fma(b, ((t * j) - (y * k)), (y1 * t_3)) - (c * t_1));
double tmp;
if (y5 <= -4.6e+166) {
tmp = t_4;
} else if (y5 <= -2.2e+38) {
tmp = t_5;
} else if (y5 <= -5.4e-238) {
tmp = y1 * fma(a, ((z * y3) - (x * y2)), fma(y4, t_3, (i * ((x * j) - (z * k)))));
} else if (y5 <= 1.15e-297) {
tmp = x * (fma(t_2, y2, (y * fma(a, b, (0.0 - (c * i))))) - (j * fma(b, y0, (i * (0.0 - y1)))));
} else if (y5 <= 5.4e-95) {
tmp = t_5;
} else if (y5 <= 7.7e+62) {
tmp = y2 * (fma(t_2, x, (k * fma(y1, y4, (y0 * (0.0 - y5))))) + (t * ((a * y5) - (c * y4))));
} else {
tmp = t_4;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = fma(t, y2, Float64(0.0 - Float64(y * y3))) t_2 = Float64(Float64(c * y0) - Float64(a * y1)) t_3 = Float64(Float64(k * y2) - Float64(j * y3)) t_4 = Float64(y5 * fma(i, Float64(Float64(y * k) - Float64(t * j)), fma(t_3, Float64(0.0 - y0), Float64(a * t_1)))) t_5 = Float64(y4 * Float64(fma(b, Float64(Float64(t * j) - Float64(y * k)), Float64(y1 * t_3)) - Float64(c * t_1))) tmp = 0.0 if (y5 <= -4.6e+166) tmp = t_4; elseif (y5 <= -2.2e+38) tmp = t_5; elseif (y5 <= -5.4e-238) tmp = Float64(y1 * fma(a, Float64(Float64(z * y3) - Float64(x * y2)), fma(y4, t_3, Float64(i * Float64(Float64(x * j) - Float64(z * k)))))); elseif (y5 <= 1.15e-297) tmp = Float64(x * Float64(fma(t_2, y2, Float64(y * fma(a, b, Float64(0.0 - Float64(c * i))))) - Float64(j * fma(b, y0, Float64(i * Float64(0.0 - y1)))))); elseif (y5 <= 5.4e-95) tmp = t_5; elseif (y5 <= 7.7e+62) tmp = Float64(y2 * Float64(fma(t_2, x, Float64(k * fma(y1, y4, Float64(y0 * Float64(0.0 - y5))))) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); else tmp = t_4; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y5 * N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision] + N[(t$95$3 * N[(0.0 - y0), $MachinePrecision] + N[(a * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y4 * N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$3), $MachinePrecision]), $MachinePrecision] - N[(c * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -4.6e+166], t$95$4, If[LessEqual[y5, -2.2e+38], t$95$5, If[LessEqual[y5, -5.4e-238], N[(y1 * N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$3 + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 1.15e-297], N[(x * N[(N[(t$95$2 * y2 + N[(y * N[(a * b + N[(0.0 - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(j * N[(b * y0 + N[(i * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 5.4e-95], t$95$5, If[LessEqual[y5, 7.7e+62], N[(y2 * N[(N[(t$95$2 * x + N[(k * N[(y1 * y4 + N[(y0 * N[(0.0 - y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\\
t_2 := c \cdot y0 - a \cdot y1\\
t_3 := k \cdot y2 - j \cdot y3\\
t_4 := y5 \cdot \mathsf{fma}\left(i, y \cdot k - t \cdot j, \mathsf{fma}\left(t\_3, 0 - y0, a \cdot t\_1\right)\right)\\
t_5 := y4 \cdot \left(\mathsf{fma}\left(b, t \cdot j - y \cdot k, y1 \cdot t\_3\right) - c \cdot t\_1\right)\\
\mathbf{if}\;y5 \leq -4.6 \cdot 10^{+166}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;y5 \leq -2.2 \cdot 10^{+38}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;y5 \leq -5.4 \cdot 10^{-238}:\\
\;\;\;\;y1 \cdot \mathsf{fma}\left(a, z \cdot y3 - x \cdot y2, \mathsf{fma}\left(y4, t\_3, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
\mathbf{elif}\;y5 \leq 1.15 \cdot 10^{-297}:\\
\;\;\;\;x \cdot \left(\mathsf{fma}\left(t\_2, y2, y \cdot \mathsf{fma}\left(a, b, 0 - c \cdot i\right)\right) - j \cdot \mathsf{fma}\left(b, y0, i \cdot \left(0 - y1\right)\right)\right)\\
\mathbf{elif}\;y5 \leq 5.4 \cdot 10^{-95}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;y5 \leq 7.7 \cdot 10^{+62}:\\
\;\;\;\;y2 \cdot \left(\mathsf{fma}\left(t\_2, x, k \cdot \mathsf{fma}\left(y1, y4, y0 \cdot \left(0 - y5\right)\right)\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if y5 < -4.60000000000000015e166 or 7.7000000000000003e62 < y5 Initial program 24.3%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified69.1%
if -4.60000000000000015e166 < y5 < -2.20000000000000006e38 or 1.15e-297 < y5 < 5.4e-95Initial program 33.7%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6467.9
Simplified67.9%
if -2.20000000000000006e38 < y5 < -5.39999999999999981e-238Initial program 38.3%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified57.1%
if -5.39999999999999981e-238 < y5 < 1.15e-297Initial program 40.0%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified74.0%
if 5.4e-95 < y5 < 7.7000000000000003e62Initial program 28.8%
Taylor expanded in y2 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified52.3%
Final simplification63.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* x y) (* z t)))
(t_2 (- (* b y4) (* i y5)))
(t_3 (- (* z y3) (* x y2)))
(t_4 (* a (fma y1 t_3 (fma b t_1 (* y5 (fma t y2 (- 0.0 (* y y3))))))))
(t_5 (- (* x j) (* z k))))
(if (<= a -3.6e+22)
t_4
(if (<= a -5.5e-157)
(* y1 (fma a t_3 (fma y4 (- (* k y2) (* j y3)) (* i t_5))))
(if (<= a 2.25e-281)
(*
y
(fma
t_2
(- 0.0 k)
(fma (fma a b (- 0.0 (* c i))) x (* y3 (- (* c y4) (* a y5))))))
(if (<= a 1.7e-224)
(* i (- (* y1 t_5) (fma c t_1 (* y5 (- (* t j) (* y k))))))
(if (<= a 1.1e+173)
(*
k
(fma
t_2
(- 0.0 y)
(fma
y2
(fma y1 y4 (* y0 (- 0.0 y5)))
(* z (fma b y0 (* i (- 0.0 y1)))))))
t_4)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (x * y) - (z * t);
double t_2 = (b * y4) - (i * y5);
double t_3 = (z * y3) - (x * y2);
double t_4 = a * fma(y1, t_3, fma(b, t_1, (y5 * fma(t, y2, (0.0 - (y * y3))))));
double t_5 = (x * j) - (z * k);
double tmp;
if (a <= -3.6e+22) {
tmp = t_4;
} else if (a <= -5.5e-157) {
tmp = y1 * fma(a, t_3, fma(y4, ((k * y2) - (j * y3)), (i * t_5)));
} else if (a <= 2.25e-281) {
tmp = y * fma(t_2, (0.0 - k), fma(fma(a, b, (0.0 - (c * i))), x, (y3 * ((c * y4) - (a * y5)))));
} else if (a <= 1.7e-224) {
tmp = i * ((y1 * t_5) - fma(c, t_1, (y5 * ((t * j) - (y * k)))));
} else if (a <= 1.1e+173) {
tmp = k * fma(t_2, (0.0 - y), fma(y2, fma(y1, y4, (y0 * (0.0 - y5))), (z * fma(b, y0, (i * (0.0 - y1))))));
} else {
tmp = t_4;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(x * y) - Float64(z * t)) t_2 = Float64(Float64(b * y4) - Float64(i * y5)) t_3 = Float64(Float64(z * y3) - Float64(x * y2)) t_4 = Float64(a * fma(y1, t_3, fma(b, t_1, Float64(y5 * fma(t, y2, Float64(0.0 - Float64(y * y3))))))) t_5 = Float64(Float64(x * j) - Float64(z * k)) tmp = 0.0 if (a <= -3.6e+22) tmp = t_4; elseif (a <= -5.5e-157) tmp = Float64(y1 * fma(a, t_3, fma(y4, Float64(Float64(k * y2) - Float64(j * y3)), Float64(i * t_5)))); elseif (a <= 2.25e-281) tmp = Float64(y * fma(t_2, Float64(0.0 - k), fma(fma(a, b, Float64(0.0 - Float64(c * i))), x, Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))))); elseif (a <= 1.7e-224) tmp = Float64(i * Float64(Float64(y1 * t_5) - fma(c, t_1, Float64(y5 * Float64(Float64(t * j) - Float64(y * k)))))); elseif (a <= 1.1e+173) tmp = Float64(k * fma(t_2, Float64(0.0 - y), fma(y2, fma(y1, y4, Float64(y0 * Float64(0.0 - y5))), Float64(z * fma(b, y0, Float64(i * Float64(0.0 - y1))))))); else tmp = t_4; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(a * N[(y1 * t$95$3 + N[(b * t$95$1 + N[(y5 * N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.6e+22], t$95$4, If[LessEqual[a, -5.5e-157], N[(y1 * N[(a * t$95$3 + N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] + N[(i * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.25e-281], N[(y * N[(t$95$2 * N[(0.0 - k), $MachinePrecision] + N[(N[(a * b + N[(0.0 - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * x + N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.7e-224], N[(i * N[(N[(y1 * t$95$5), $MachinePrecision] - N[(c * t$95$1 + N[(y5 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.1e+173], N[(k * N[(t$95$2 * N[(0.0 - y), $MachinePrecision] + N[(y2 * N[(y1 * y4 + N[(y0 * N[(0.0 - y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z * N[(b * y0 + N[(i * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot y - z \cdot t\\
t_2 := b \cdot y4 - i \cdot y5\\
t_3 := z \cdot y3 - x \cdot y2\\
t_4 := a \cdot \mathsf{fma}\left(y1, t\_3, \mathsf{fma}\left(b, t\_1, y5 \cdot \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\right)\right)\\
t_5 := x \cdot j - z \cdot k\\
\mathbf{if}\;a \leq -3.6 \cdot 10^{+22}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;a \leq -5.5 \cdot 10^{-157}:\\
\;\;\;\;y1 \cdot \mathsf{fma}\left(a, t\_3, \mathsf{fma}\left(y4, k \cdot y2 - j \cdot y3, i \cdot t\_5\right)\right)\\
\mathbf{elif}\;a \leq 2.25 \cdot 10^{-281}:\\
\;\;\;\;y \cdot \mathsf{fma}\left(t\_2, 0 - k, \mathsf{fma}\left(\mathsf{fma}\left(a, b, 0 - c \cdot i\right), x, y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\right)\\
\mathbf{elif}\;a \leq 1.7 \cdot 10^{-224}:\\
\;\;\;\;i \cdot \left(y1 \cdot t\_5 - \mathsf{fma}\left(c, t\_1, y5 \cdot \left(t \cdot j - y \cdot k\right)\right)\right)\\
\mathbf{elif}\;a \leq 1.1 \cdot 10^{+173}:\\
\;\;\;\;k \cdot \mathsf{fma}\left(t\_2, 0 - y, \mathsf{fma}\left(y2, \mathsf{fma}\left(y1, y4, y0 \cdot \left(0 - y5\right)\right), z \cdot \mathsf{fma}\left(b, y0, i \cdot \left(0 - y1\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if a < -3.6e22 or 1.1e173 < a Initial program 33.7%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified66.1%
if -3.6e22 < a < -5.4999999999999998e-157Initial program 31.1%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified60.4%
if -5.4999999999999998e-157 < a < 2.24999999999999997e-281Initial program 23.6%
Taylor expanded in y around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
neg-mul-1N/A
neg-sub0N/A
--lowering--.f64N/A
sub-negN/A
Simplified56.0%
if 2.24999999999999997e-281 < a < 1.69999999999999996e-224Initial program 33.8%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified73.9%
if 1.69999999999999996e-224 < a < 1.1e173Initial program 33.6%
Taylor expanded in k around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
Simplified59.2%
Final simplification62.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* k y2) (* j y3)))
(t_2 (- (* z y3) (* x y2)))
(t_3 (fma t y2 (- 0.0 (* y y3))))
(t_4 (* a (fma y1 t_2 (fma b (- (* x y) (* z t)) (* y5 t_3))))))
(if (<= a -3.75e+24)
t_4
(if (<= a -5.4e-141)
(* y1 (fma a t_2 (fma y4 t_1 (* i (- (* x j) (* z k))))))
(if (<= a -1.36e-288)
(* y4 (- (fma b (- (* t j) (* y k)) (* y1 t_1)) (* c t_3)))
(if (<= a 1.65e-224)
(* i (* t (fma c z (- 0.0 (* j y5)))))
(if (<= a 2.15e+173)
(*
k
(fma
(- (* b y4) (* i y5))
(- 0.0 y)
(fma
y2
(fma y1 y4 (* y0 (- 0.0 y5)))
(* z (fma b y0 (* i (- 0.0 y1)))))))
t_4)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * y2) - (j * y3);
double t_2 = (z * y3) - (x * y2);
double t_3 = fma(t, y2, (0.0 - (y * y3)));
double t_4 = a * fma(y1, t_2, fma(b, ((x * y) - (z * t)), (y5 * t_3)));
double tmp;
if (a <= -3.75e+24) {
tmp = t_4;
} else if (a <= -5.4e-141) {
tmp = y1 * fma(a, t_2, fma(y4, t_1, (i * ((x * j) - (z * k)))));
} else if (a <= -1.36e-288) {
tmp = y4 * (fma(b, ((t * j) - (y * k)), (y1 * t_1)) - (c * t_3));
} else if (a <= 1.65e-224) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else if (a <= 2.15e+173) {
tmp = k * fma(((b * y4) - (i * y5)), (0.0 - y), fma(y2, fma(y1, y4, (y0 * (0.0 - y5))), (z * fma(b, y0, (i * (0.0 - y1))))));
} else {
tmp = t_4;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(k * y2) - Float64(j * y3)) t_2 = Float64(Float64(z * y3) - Float64(x * y2)) t_3 = fma(t, y2, Float64(0.0 - Float64(y * y3))) t_4 = Float64(a * fma(y1, t_2, fma(b, Float64(Float64(x * y) - Float64(z * t)), Float64(y5 * t_3)))) tmp = 0.0 if (a <= -3.75e+24) tmp = t_4; elseif (a <= -5.4e-141) tmp = Float64(y1 * fma(a, t_2, fma(y4, t_1, Float64(i * Float64(Float64(x * j) - Float64(z * k)))))); elseif (a <= -1.36e-288) tmp = Float64(y4 * Float64(fma(b, Float64(Float64(t * j) - Float64(y * k)), Float64(y1 * t_1)) - Float64(c * t_3))); elseif (a <= 1.65e-224) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); elseif (a <= 2.15e+173) tmp = Float64(k * fma(Float64(Float64(b * y4) - Float64(i * y5)), Float64(0.0 - y), fma(y2, fma(y1, y4, Float64(y0 * Float64(0.0 - y5))), Float64(z * fma(b, y0, Float64(i * Float64(0.0 - y1))))))); else tmp = t_4; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(a * N[(y1 * t$95$2 + N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(y5 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.75e+24], t$95$4, If[LessEqual[a, -5.4e-141], N[(y1 * N[(a * t$95$2 + N[(y4 * t$95$1 + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.36e-288], N[(y4 * N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(c * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.65e-224], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.15e+173], N[(k * N[(N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision] * N[(0.0 - y), $MachinePrecision] + N[(y2 * N[(y1 * y4 + N[(y0 * N[(0.0 - y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z * N[(b * y0 + N[(i * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot y2 - j \cdot y3\\
t_2 := z \cdot y3 - x \cdot y2\\
t_3 := \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\\
t_4 := a \cdot \mathsf{fma}\left(y1, t\_2, \mathsf{fma}\left(b, x \cdot y - z \cdot t, y5 \cdot t\_3\right)\right)\\
\mathbf{if}\;a \leq -3.75 \cdot 10^{+24}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;a \leq -5.4 \cdot 10^{-141}:\\
\;\;\;\;y1 \cdot \mathsf{fma}\left(a, t\_2, \mathsf{fma}\left(y4, t\_1, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
\mathbf{elif}\;a \leq -1.36 \cdot 10^{-288}:\\
\;\;\;\;y4 \cdot \left(\mathsf{fma}\left(b, t \cdot j - y \cdot k, y1 \cdot t\_1\right) - c \cdot t\_3\right)\\
\mathbf{elif}\;a \leq 1.65 \cdot 10^{-224}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 2.15 \cdot 10^{+173}:\\
\;\;\;\;k \cdot \mathsf{fma}\left(b \cdot y4 - i \cdot y5, 0 - y, \mathsf{fma}\left(y2, \mathsf{fma}\left(y1, y4, y0 \cdot \left(0 - y5\right)\right), z \cdot \mathsf{fma}\left(b, y0, i \cdot \left(0 - y1\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if a < -3.75000000000000007e24 or 2.15000000000000013e173 < a Initial program 33.7%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified66.1%
if -3.75000000000000007e24 < a < -5.4000000000000005e-141Initial program 31.0%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified62.3%
if -5.4000000000000005e-141 < a < -1.36000000000000007e-288Initial program 28.1%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6457.9
Simplified57.9%
if -1.36000000000000007e-288 < a < 1.6500000000000001e-224Initial program 25.2%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified58.8%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6458.9
Simplified58.9%
if 1.6500000000000001e-224 < a < 2.15000000000000013e173Initial program 33.6%
Taylor expanded in k around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
Simplified59.2%
Final simplification61.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* k y2) (* j y3)))
(t_2 (- (* z y3) (* x y2)))
(t_3 (fma t y2 (- 0.0 (* y y3))))
(t_4 (* a (fma y1 t_2 (fma b (- (* x y) (* z t)) (* y5 t_3)))))
(t_5 (* y4 (- (fma b (- (* t j) (* y k)) (* y1 t_1)) (* c t_3)))))
(if (<= a -9.6e+22)
t_4
(if (<= a -2.9e-141)
(* y1 (fma a t_2 (fma y4 t_1 (* i (- (* x j) (* z k))))))
(if (<= a 7.5e-258)
t_5
(if (<= a 9.5e-157)
(*
x
(-
(fma (- (* c y0) (* a y1)) y2 (* y (fma a b (- 0.0 (* c i)))))
(* j (fma b y0 (* i (- 0.0 y1))))))
(if (<= a 1.15e+173) t_5 t_4)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * y2) - (j * y3);
double t_2 = (z * y3) - (x * y2);
double t_3 = fma(t, y2, (0.0 - (y * y3)));
double t_4 = a * fma(y1, t_2, fma(b, ((x * y) - (z * t)), (y5 * t_3)));
double t_5 = y4 * (fma(b, ((t * j) - (y * k)), (y1 * t_1)) - (c * t_3));
double tmp;
if (a <= -9.6e+22) {
tmp = t_4;
} else if (a <= -2.9e-141) {
tmp = y1 * fma(a, t_2, fma(y4, t_1, (i * ((x * j) - (z * k)))));
} else if (a <= 7.5e-258) {
tmp = t_5;
} else if (a <= 9.5e-157) {
tmp = x * (fma(((c * y0) - (a * y1)), y2, (y * fma(a, b, (0.0 - (c * i))))) - (j * fma(b, y0, (i * (0.0 - y1)))));
} else if (a <= 1.15e+173) {
tmp = t_5;
} else {
tmp = t_4;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(k * y2) - Float64(j * y3)) t_2 = Float64(Float64(z * y3) - Float64(x * y2)) t_3 = fma(t, y2, Float64(0.0 - Float64(y * y3))) t_4 = Float64(a * fma(y1, t_2, fma(b, Float64(Float64(x * y) - Float64(z * t)), Float64(y5 * t_3)))) t_5 = Float64(y4 * Float64(fma(b, Float64(Float64(t * j) - Float64(y * k)), Float64(y1 * t_1)) - Float64(c * t_3))) tmp = 0.0 if (a <= -9.6e+22) tmp = t_4; elseif (a <= -2.9e-141) tmp = Float64(y1 * fma(a, t_2, fma(y4, t_1, Float64(i * Float64(Float64(x * j) - Float64(z * k)))))); elseif (a <= 7.5e-258) tmp = t_5; elseif (a <= 9.5e-157) tmp = Float64(x * Float64(fma(Float64(Float64(c * y0) - Float64(a * y1)), y2, Float64(y * fma(a, b, Float64(0.0 - Float64(c * i))))) - Float64(j * fma(b, y0, Float64(i * Float64(0.0 - y1)))))); elseif (a <= 1.15e+173) tmp = t_5; else tmp = t_4; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(a * N[(y1 * t$95$2 + N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(y5 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y4 * N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(c * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -9.6e+22], t$95$4, If[LessEqual[a, -2.9e-141], N[(y1 * N[(a * t$95$2 + N[(y4 * t$95$1 + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 7.5e-258], t$95$5, If[LessEqual[a, 9.5e-157], N[(x * N[(N[(N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision] * y2 + N[(y * N[(a * b + N[(0.0 - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(j * N[(b * y0 + N[(i * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.15e+173], t$95$5, t$95$4]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot y2 - j \cdot y3\\
t_2 := z \cdot y3 - x \cdot y2\\
t_3 := \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\\
t_4 := a \cdot \mathsf{fma}\left(y1, t\_2, \mathsf{fma}\left(b, x \cdot y - z \cdot t, y5 \cdot t\_3\right)\right)\\
t_5 := y4 \cdot \left(\mathsf{fma}\left(b, t \cdot j - y \cdot k, y1 \cdot t\_1\right) - c \cdot t\_3\right)\\
\mathbf{if}\;a \leq -9.6 \cdot 10^{+22}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;a \leq -2.9 \cdot 10^{-141}:\\
\;\;\;\;y1 \cdot \mathsf{fma}\left(a, t\_2, \mathsf{fma}\left(y4, t\_1, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
\mathbf{elif}\;a \leq 7.5 \cdot 10^{-258}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;a \leq 9.5 \cdot 10^{-157}:\\
\;\;\;\;x \cdot \left(\mathsf{fma}\left(c \cdot y0 - a \cdot y1, y2, y \cdot \mathsf{fma}\left(a, b, 0 - c \cdot i\right)\right) - j \cdot \mathsf{fma}\left(b, y0, i \cdot \left(0 - y1\right)\right)\right)\\
\mathbf{elif}\;a \leq 1.15 \cdot 10^{+173}:\\
\;\;\;\;t\_5\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if a < -9.6e22 or 1.14999999999999997e173 < a Initial program 33.7%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified66.1%
if -9.6e22 < a < -2.9e-141Initial program 31.0%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified62.3%
if -2.9e-141 < a < 7.4999999999999998e-258 or 9.50000000000000019e-157 < a < 1.14999999999999997e173Initial program 29.1%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6451.9
Simplified51.9%
if 7.4999999999999998e-258 < a < 9.50000000000000019e-157Initial program 36.0%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified65.3%
Final simplification59.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* z y3) (* x y2)))
(t_2
(*
a
(fma
y1
t_1
(fma b (- (* x y) (* z t)) (* y5 (fma t y2 (- 0.0 (* y y3))))))))
(t_3
(*
y1
(fma
a
t_1
(fma y4 (- (* k y2) (* j y3)) (* i (- (* x j) (* z k))))))))
(if (<= a -2.65e+22)
t_2
(if (<= a -5.5e-157)
t_3
(if (<= a -7.5e-284)
(* i (* y (- (* k y5) (* x c))))
(if (<= a 6.2e-229)
(* i (* t (fma c z (- 0.0 (* j y5)))))
(if (<= a 1.6e+62) t_3 t_2)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (z * y3) - (x * y2);
double t_2 = a * fma(y1, t_1, fma(b, ((x * y) - (z * t)), (y5 * fma(t, y2, (0.0 - (y * y3))))));
double t_3 = y1 * fma(a, t_1, fma(y4, ((k * y2) - (j * y3)), (i * ((x * j) - (z * k)))));
double tmp;
if (a <= -2.65e+22) {
tmp = t_2;
} else if (a <= -5.5e-157) {
tmp = t_3;
} else if (a <= -7.5e-284) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (a <= 6.2e-229) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else if (a <= 1.6e+62) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(z * y3) - Float64(x * y2)) t_2 = Float64(a * fma(y1, t_1, fma(b, Float64(Float64(x * y) - Float64(z * t)), Float64(y5 * fma(t, y2, Float64(0.0 - Float64(y * y3))))))) t_3 = Float64(y1 * fma(a, t_1, fma(y4, Float64(Float64(k * y2) - Float64(j * y3)), Float64(i * Float64(Float64(x * j) - Float64(z * k)))))) tmp = 0.0 if (a <= -2.65e+22) tmp = t_2; elseif (a <= -5.5e-157) tmp = t_3; elseif (a <= -7.5e-284) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (a <= 6.2e-229) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); elseif (a <= 1.6e+62) tmp = t_3; else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(y1 * t$95$1 + N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(y5 * N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y1 * N[(a * t$95$1 + N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.65e+22], t$95$2, If[LessEqual[a, -5.5e-157], t$95$3, If[LessEqual[a, -7.5e-284], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6.2e-229], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.6e+62], t$95$3, t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot y3 - x \cdot y2\\
t_2 := a \cdot \mathsf{fma}\left(y1, t\_1, \mathsf{fma}\left(b, x \cdot y - z \cdot t, y5 \cdot \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\right)\right)\\
t_3 := y1 \cdot \mathsf{fma}\left(a, t\_1, \mathsf{fma}\left(y4, k \cdot y2 - j \cdot y3, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
\mathbf{if}\;a \leq -2.65 \cdot 10^{+22}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -5.5 \cdot 10^{-157}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;a \leq -7.5 \cdot 10^{-284}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;a \leq 6.2 \cdot 10^{-229}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 1.6 \cdot 10^{+62}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -2.6499999999999999e22 or 1.59999999999999992e62 < a Initial program 32.3%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified63.5%
if -2.6499999999999999e22 < a < -5.4999999999999998e-157 or 6.2000000000000002e-229 < a < 1.59999999999999992e62Initial program 33.0%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified49.9%
if -5.4999999999999998e-157 < a < -7.4999999999999999e-284Initial program 27.5%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified42.2%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6449.3
Simplified49.3%
if -7.4999999999999999e-284 < a < 6.2000000000000002e-229Initial program 28.4%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified57.7%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6462.5
Simplified62.5%
Final simplification56.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* k y2) (* j y3)))
(t_2
(*
y1
(fma
a
(- (* z y3) (* x y2))
(fma y4 t_1 (* i (- (* x j) (* z k)))))))
(t_3 (fma a b (- 0.0 (* c i)))))
(if (<= y1 -2.7e+146)
t_2
(if (<= y1 -1.25e-30)
(*
x
(-
(fma (- (* c y0) (* a y1)) y2 (* y t_3))
(* j (fma b y0 (* i (- 0.0 y1))))))
(if (<= y1 5.4e-205)
(*
y
(fma
(- (* b y4) (* i y5))
(- 0.0 k)
(fma t_3 x (* y3 (- (* c y4) (* a y5))))))
(if (<= y1 29000000.0)
(*
y4
(-
(fma b (- (* t j) (* y k)) (* y1 t_1))
(* c (fma t y2 (- 0.0 (* y y3))))))
t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * y2) - (j * y3);
double t_2 = y1 * fma(a, ((z * y3) - (x * y2)), fma(y4, t_1, (i * ((x * j) - (z * k)))));
double t_3 = fma(a, b, (0.0 - (c * i)));
double tmp;
if (y1 <= -2.7e+146) {
tmp = t_2;
} else if (y1 <= -1.25e-30) {
tmp = x * (fma(((c * y0) - (a * y1)), y2, (y * t_3)) - (j * fma(b, y0, (i * (0.0 - y1)))));
} else if (y1 <= 5.4e-205) {
tmp = y * fma(((b * y4) - (i * y5)), (0.0 - k), fma(t_3, x, (y3 * ((c * y4) - (a * y5)))));
} else if (y1 <= 29000000.0) {
tmp = y4 * (fma(b, ((t * j) - (y * k)), (y1 * t_1)) - (c * fma(t, y2, (0.0 - (y * y3)))));
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(k * y2) - Float64(j * y3)) t_2 = Float64(y1 * fma(a, Float64(Float64(z * y3) - Float64(x * y2)), fma(y4, t_1, Float64(i * Float64(Float64(x * j) - Float64(z * k)))))) t_3 = fma(a, b, Float64(0.0 - Float64(c * i))) tmp = 0.0 if (y1 <= -2.7e+146) tmp = t_2; elseif (y1 <= -1.25e-30) tmp = Float64(x * Float64(fma(Float64(Float64(c * y0) - Float64(a * y1)), y2, Float64(y * t_3)) - Float64(j * fma(b, y0, Float64(i * Float64(0.0 - y1)))))); elseif (y1 <= 5.4e-205) tmp = Float64(y * fma(Float64(Float64(b * y4) - Float64(i * y5)), Float64(0.0 - k), fma(t_3, x, Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))))); elseif (y1 <= 29000000.0) tmp = Float64(y4 * Float64(fma(b, Float64(Float64(t * j) - Float64(y * k)), Float64(y1 * t_1)) - Float64(c * fma(t, y2, Float64(0.0 - Float64(y * y3)))))); else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y1 * N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$1 + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(a * b + N[(0.0 - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -2.7e+146], t$95$2, If[LessEqual[y1, -1.25e-30], N[(x * N[(N[(N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision] * y2 + N[(y * t$95$3), $MachinePrecision]), $MachinePrecision] - N[(j * N[(b * y0 + N[(i * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 5.4e-205], N[(y * N[(N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision] * N[(0.0 - k), $MachinePrecision] + N[(t$95$3 * x + N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 29000000.0], N[(y4 * N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(c * N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot y2 - j \cdot y3\\
t_2 := y1 \cdot \mathsf{fma}\left(a, z \cdot y3 - x \cdot y2, \mathsf{fma}\left(y4, t\_1, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
t_3 := \mathsf{fma}\left(a, b, 0 - c \cdot i\right)\\
\mathbf{if}\;y1 \leq -2.7 \cdot 10^{+146}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y1 \leq -1.25 \cdot 10^{-30}:\\
\;\;\;\;x \cdot \left(\mathsf{fma}\left(c \cdot y0 - a \cdot y1, y2, y \cdot t\_3\right) - j \cdot \mathsf{fma}\left(b, y0, i \cdot \left(0 - y1\right)\right)\right)\\
\mathbf{elif}\;y1 \leq 5.4 \cdot 10^{-205}:\\
\;\;\;\;y \cdot \mathsf{fma}\left(b \cdot y4 - i \cdot y5, 0 - k, \mathsf{fma}\left(t\_3, x, y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\right)\\
\mathbf{elif}\;y1 \leq 29000000:\\
\;\;\;\;y4 \cdot \left(\mathsf{fma}\left(b, t \cdot j - y \cdot k, y1 \cdot t\_1\right) - c \cdot \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if y1 < -2.69999999999999989e146 or 2.9e7 < y1 Initial program 29.3%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified64.6%
if -2.69999999999999989e146 < y1 < -1.24999999999999993e-30Initial program 27.2%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified64.5%
if -1.24999999999999993e-30 < y1 < 5.4000000000000002e-205Initial program 35.7%
Taylor expanded in y around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
neg-mul-1N/A
neg-sub0N/A
--lowering--.f64N/A
sub-negN/A
Simplified50.7%
if 5.4000000000000002e-205 < y1 < 2.9e7Initial program 32.5%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6458.4
Simplified58.4%
Final simplification58.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* k y2) (* j y3)))
(t_2 (- (* z y3) (* x y2)))
(t_3 (fma t y2 (- 0.0 (* y y3))))
(t_4 (* a (fma y1 t_2 (fma b (- (* x y) (* z t)) (* y5 t_3))))))
(if (<= a -1.65e+22)
t_4
(if (<= a -4.7e-141)
(* y1 (fma a t_2 (fma y4 t_1 (* i (- (* x j) (* z k))))))
(if (<= a 1.7e+178)
(* y4 (- (fma b (- (* t j) (* y k)) (* y1 t_1)) (* c t_3)))
t_4)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * y2) - (j * y3);
double t_2 = (z * y3) - (x * y2);
double t_3 = fma(t, y2, (0.0 - (y * y3)));
double t_4 = a * fma(y1, t_2, fma(b, ((x * y) - (z * t)), (y5 * t_3)));
double tmp;
if (a <= -1.65e+22) {
tmp = t_4;
} else if (a <= -4.7e-141) {
tmp = y1 * fma(a, t_2, fma(y4, t_1, (i * ((x * j) - (z * k)))));
} else if (a <= 1.7e+178) {
tmp = y4 * (fma(b, ((t * j) - (y * k)), (y1 * t_1)) - (c * t_3));
} else {
tmp = t_4;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(k * y2) - Float64(j * y3)) t_2 = Float64(Float64(z * y3) - Float64(x * y2)) t_3 = fma(t, y2, Float64(0.0 - Float64(y * y3))) t_4 = Float64(a * fma(y1, t_2, fma(b, Float64(Float64(x * y) - Float64(z * t)), Float64(y5 * t_3)))) tmp = 0.0 if (a <= -1.65e+22) tmp = t_4; elseif (a <= -4.7e-141) tmp = Float64(y1 * fma(a, t_2, fma(y4, t_1, Float64(i * Float64(Float64(x * j) - Float64(z * k)))))); elseif (a <= 1.7e+178) tmp = Float64(y4 * Float64(fma(b, Float64(Float64(t * j) - Float64(y * k)), Float64(y1 * t_1)) - Float64(c * t_3))); else tmp = t_4; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(a * N[(y1 * t$95$2 + N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(y5 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.65e+22], t$95$4, If[LessEqual[a, -4.7e-141], N[(y1 * N[(a * t$95$2 + N[(y4 * t$95$1 + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.7e+178], N[(y4 * N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$1), $MachinePrecision]), $MachinePrecision] - N[(c * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot y2 - j \cdot y3\\
t_2 := z \cdot y3 - x \cdot y2\\
t_3 := \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\\
t_4 := a \cdot \mathsf{fma}\left(y1, t\_2, \mathsf{fma}\left(b, x \cdot y - z \cdot t, y5 \cdot t\_3\right)\right)\\
\mathbf{if}\;a \leq -1.65 \cdot 10^{+22}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;a \leq -4.7 \cdot 10^{-141}:\\
\;\;\;\;y1 \cdot \mathsf{fma}\left(a, t\_2, \mathsf{fma}\left(y4, t\_1, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
\mathbf{elif}\;a \leq 1.7 \cdot 10^{+178}:\\
\;\;\;\;y4 \cdot \left(\mathsf{fma}\left(b, t \cdot j - y \cdot k, y1 \cdot t\_1\right) - c \cdot t\_3\right)\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if a < -1.6499999999999999e22 or 1.7000000000000001e178 < a Initial program 33.7%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified66.1%
if -1.6499999999999999e22 < a < -4.6999999999999998e-141Initial program 31.0%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified62.3%
if -4.6999999999999998e-141 < a < 1.7000000000000001e178Initial program 30.7%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6447.4
Simplified47.4%
Final simplification56.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= j -1.35e+44)
(* i (* j (- (* x y1) (* t y5))))
(if (<= j -1.95e-282)
(*
y2
(+
(fma (- (* c y0) (* a y1)) x (* k (fma y1 y4 (* y0 (- 0.0 y5)))))
(* t (- (* a y5) (* c y4)))))
(if (<= j 1.8e-19)
(*
a
(fma
y1
(- (* z y3) (* x y2))
(fma b (- (* x y) (* z t)) (* y5 (fma t y2 (- 0.0 (* y y3)))))))
(if (<= j 2.5e+126)
(* (* z k) (- (* b y0) (* i y1)))
(if (<= j 1e+256)
(* j (* y4 (- (* t b) (* y1 y3))))
(* y5 (* j (- (* y0 y3) (* t i))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (j <= -1.35e+44) {
tmp = i * (j * ((x * y1) - (t * y5)));
} else if (j <= -1.95e-282) {
tmp = y2 * (fma(((c * y0) - (a * y1)), x, (k * fma(y1, y4, (y0 * (0.0 - y5))))) + (t * ((a * y5) - (c * y4))));
} else if (j <= 1.8e-19) {
tmp = a * fma(y1, ((z * y3) - (x * y2)), fma(b, ((x * y) - (z * t)), (y5 * fma(t, y2, (0.0 - (y * y3))))));
} else if (j <= 2.5e+126) {
tmp = (z * k) * ((b * y0) - (i * y1));
} else if (j <= 1e+256) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y5 * (j * ((y0 * y3) - (t * i)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (j <= -1.35e+44) tmp = Float64(i * Float64(j * Float64(Float64(x * y1) - Float64(t * y5)))); elseif (j <= -1.95e-282) tmp = Float64(y2 * Float64(fma(Float64(Float64(c * y0) - Float64(a * y1)), x, Float64(k * fma(y1, y4, Float64(y0 * Float64(0.0 - y5))))) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (j <= 1.8e-19) tmp = Float64(a * fma(y1, Float64(Float64(z * y3) - Float64(x * y2)), fma(b, Float64(Float64(x * y) - Float64(z * t)), Float64(y5 * fma(t, y2, Float64(0.0 - Float64(y * y3))))))); elseif (j <= 2.5e+126) tmp = Float64(Float64(z * k) * Float64(Float64(b * y0) - Float64(i * y1))); elseif (j <= 1e+256) tmp = Float64(j * Float64(y4 * Float64(Float64(t * b) - Float64(y1 * y3)))); else tmp = Float64(y5 * Float64(j * Float64(Float64(y0 * y3) - Float64(t * i)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[j, -1.35e+44], N[(i * N[(j * N[(N[(x * y1), $MachinePrecision] - N[(t * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.95e-282], N[(y2 * N[(N[(N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision] * x + N[(k * N[(y1 * y4 + N[(y0 * N[(0.0 - y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.8e-19], N[(a * N[(y1 * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(y5 * N[(t * y2 + N[(0.0 - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.5e+126], N[(N[(z * k), $MachinePrecision] * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1e+256], N[(j * N[(y4 * N[(N[(t * b), $MachinePrecision] - N[(y1 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y5 * N[(j * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -1.35 \cdot 10^{+44}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1 - t \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq -1.95 \cdot 10^{-282}:\\
\;\;\;\;y2 \cdot \left(\mathsf{fma}\left(c \cdot y0 - a \cdot y1, x, k \cdot \mathsf{fma}\left(y1, y4, y0 \cdot \left(0 - y5\right)\right)\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 1.8 \cdot 10^{-19}:\\
\;\;\;\;a \cdot \mathsf{fma}\left(y1, z \cdot y3 - x \cdot y2, \mathsf{fma}\left(b, x \cdot y - z \cdot t, y5 \cdot \mathsf{fma}\left(t, y2, 0 - y \cdot y3\right)\right)\right)\\
\mathbf{elif}\;j \leq 2.5 \cdot 10^{+126}:\\
\;\;\;\;\left(z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\\
\mathbf{elif}\;j \leq 10^{+256}:\\
\;\;\;\;j \cdot \left(y4 \cdot \left(t \cdot b - y1 \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y5 \cdot \left(j \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\end{array}
\end{array}
if j < -1.35e44Initial program 32.6%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified52.1%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6462.0
Simplified62.0%
if -1.35e44 < j < -1.95000000000000019e-282Initial program 41.6%
Taylor expanded in y2 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified52.4%
if -1.95000000000000019e-282 < j < 1.8000000000000001e-19Initial program 32.9%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified47.7%
if 1.8000000000000001e-19 < j < 2.49999999999999989e126Initial program 31.3%
Taylor expanded in z around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified65.6%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6454.0
Simplified54.0%
if 2.49999999999999989e126 < j < 1e256Initial program 9.6%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6465.9
Simplified65.9%
Taylor expanded in j around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6466.2
Simplified66.2%
if 1e256 < j Initial program 25.4%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified67.4%
Taylor expanded in j around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6483.6
Simplified83.6%
Final simplification56.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y5 (* y2 (fma a t (* k (- 0.0 y0)))))))
(if (<= y5 -9.8e+169)
t_1
(if (<= y5 1120.0)
(*
y1
(fma
a
(- (* z y3) (* x y2))
(fma y4 (- (* k y2) (* j y3)) (* i (- (* x j) (* z k))))))
(if (<= y5 4.5e+123)
(* i (* t (fma c z (- 0.0 (* j y5)))))
(if (<= y5 7.6e+163)
(* x (* y (- (* a b) (* c i))))
(if (<= y5 1.2e+259) t_1 (* y5 (* j (- (* y0 y3) (* t i)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y5 * (y2 * fma(a, t, (k * (0.0 - y0))));
double tmp;
if (y5 <= -9.8e+169) {
tmp = t_1;
} else if (y5 <= 1120.0) {
tmp = y1 * fma(a, ((z * y3) - (x * y2)), fma(y4, ((k * y2) - (j * y3)), (i * ((x * j) - (z * k)))));
} else if (y5 <= 4.5e+123) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else if (y5 <= 7.6e+163) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y5 <= 1.2e+259) {
tmp = t_1;
} else {
tmp = y5 * (j * ((y0 * y3) - (t * i)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y5 * Float64(y2 * fma(a, t, Float64(k * Float64(0.0 - y0))))) tmp = 0.0 if (y5 <= -9.8e+169) tmp = t_1; elseif (y5 <= 1120.0) tmp = Float64(y1 * fma(a, Float64(Float64(z * y3) - Float64(x * y2)), fma(y4, Float64(Float64(k * y2) - Float64(j * y3)), Float64(i * Float64(Float64(x * j) - Float64(z * k)))))); elseif (y5 <= 4.5e+123) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); elseif (y5 <= 7.6e+163) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y5 <= 1.2e+259) tmp = t_1; else tmp = Float64(y5 * Float64(j * Float64(Float64(y0 * y3) - Float64(t * i)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(y5 * N[(y2 * N[(a * t + N[(k * N[(0.0 - y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -9.8e+169], t$95$1, If[LessEqual[y5, 1120.0], N[(y1 * N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] + N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 4.5e+123], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 7.6e+163], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 1.2e+259], t$95$1, N[(y5 * N[(j * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y5 \cdot \left(y2 \cdot \mathsf{fma}\left(a, t, k \cdot \left(0 - y0\right)\right)\right)\\
\mathbf{if}\;y5 \leq -9.8 \cdot 10^{+169}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq 1120:\\
\;\;\;\;y1 \cdot \mathsf{fma}\left(a, z \cdot y3 - x \cdot y2, \mathsf{fma}\left(y4, k \cdot y2 - j \cdot y3, i \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\\
\mathbf{elif}\;y5 \leq 4.5 \cdot 10^{+123}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{elif}\;y5 \leq 7.6 \cdot 10^{+163}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y5 \leq 1.2 \cdot 10^{+259}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;y5 \cdot \left(j \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\end{array}
\end{array}
if y5 < -9.80000000000000053e169 or 7.60000000000000017e163 < y5 < 1.2e259Initial program 27.8%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified77.9%
Taylor expanded in y2 around inf
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6478.1
Simplified78.1%
if -9.80000000000000053e169 < y5 < 1120Initial program 35.7%
Taylor expanded in y1 around inf
*-lowering-*.f64N/A
mul-1-negN/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
Simplified48.6%
if 1120 < y5 < 4.49999999999999983e123Initial program 28.9%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified51.5%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6452.8
Simplified52.8%
if 4.49999999999999983e123 < y5 < 7.60000000000000017e163Initial program 7.7%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified60.2%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6460.2
Simplified60.2%
if 1.2e259 < y5 Initial program 14.3%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified100.0%
Taylor expanded in j around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6485.9
Simplified85.9%
Final simplification54.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= j -2.4e+240)
(* i (* t (fma c z (- 0.0 (* j y5)))))
(if (<= j -1.08e+30)
(* x (* j (- (* i y1) (* b y0))))
(if (<= j 1.7e-228)
(* i (* y (- (* k y5) (* x c))))
(if (<= j 6.3e-142)
(* x (* y2 (- (* c y0) (* a y1))))
(if (<= j 1.95e+34)
(* (* i k) (- (* y y5) (* z y1)))
(if (<= j 3.2e+125)
(* x (* y (- (* a b) (* c i))))
(if (<= j 3.7e+256)
(* j (* y4 (- (* t b) (* y1 y3))))
(* y5 (* j (- (* y0 y3) (* t i))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (j <= -2.4e+240) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else if (j <= -1.08e+30) {
tmp = x * (j * ((i * y1) - (b * y0)));
} else if (j <= 1.7e-228) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (j <= 6.3e-142) {
tmp = x * (y2 * ((c * y0) - (a * y1)));
} else if (j <= 1.95e+34) {
tmp = (i * k) * ((y * y5) - (z * y1));
} else if (j <= 3.2e+125) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (j <= 3.7e+256) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y5 * (j * ((y0 * y3) - (t * i)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (j <= -2.4e+240) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); elseif (j <= -1.08e+30) tmp = Float64(x * Float64(j * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (j <= 1.7e-228) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (j <= 6.3e-142) tmp = Float64(x * Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))); elseif (j <= 1.95e+34) tmp = Float64(Float64(i * k) * Float64(Float64(y * y5) - Float64(z * y1))); elseif (j <= 3.2e+125) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (j <= 3.7e+256) tmp = Float64(j * Float64(y4 * Float64(Float64(t * b) - Float64(y1 * y3)))); else tmp = Float64(y5 * Float64(j * Float64(Float64(y0 * y3) - Float64(t * i)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[j, -2.4e+240], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.08e+30], N[(x * N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.7e-228], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6.3e-142], N[(x * N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.95e+34], N[(N[(i * k), $MachinePrecision] * N[(N[(y * y5), $MachinePrecision] - N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.2e+125], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.7e+256], N[(j * N[(y4 * N[(N[(t * b), $MachinePrecision] - N[(y1 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y5 * N[(j * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -2.4 \cdot 10^{+240}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq -1.08 \cdot 10^{+30}:\\
\;\;\;\;x \cdot \left(j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;j \leq 1.7 \cdot 10^{-228}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 6.3 \cdot 10^{-142}:\\
\;\;\;\;x \cdot \left(y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\\
\mathbf{elif}\;j \leq 1.95 \cdot 10^{+34}:\\
\;\;\;\;\left(i \cdot k\right) \cdot \left(y \cdot y5 - z \cdot y1\right)\\
\mathbf{elif}\;j \leq 3.2 \cdot 10^{+125}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;j \leq 3.7 \cdot 10^{+256}:\\
\;\;\;\;j \cdot \left(y4 \cdot \left(t \cdot b - y1 \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y5 \cdot \left(j \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\end{array}
\end{array}
if j < -2.3999999999999999e240Initial program 28.6%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified42.9%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6471.5
Simplified71.5%
if -2.3999999999999999e240 < j < -1.08e30Initial program 32.4%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified45.6%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6453.5
Simplified53.5%
if -1.08e30 < j < 1.69999999999999995e-228Initial program 38.2%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified40.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6438.1
Simplified38.1%
if 1.69999999999999995e-228 < j < 6.2999999999999998e-142Initial program 47.2%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified74.2%
Taylor expanded in y2 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6467.1
Simplified67.1%
if 6.2999999999999998e-142 < j < 1.9500000000000001e34Initial program 26.4%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified44.8%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6450.9
Simplified50.9%
if 1.9500000000000001e34 < j < 3.19999999999999983e125Initial program 41.2%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified53.0%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6453.5
Simplified53.5%
if 3.19999999999999983e125 < j < 3.70000000000000031e256Initial program 9.6%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6465.9
Simplified65.9%
Taylor expanded in j around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6466.2
Simplified66.2%
if 3.70000000000000031e256 < j Initial program 25.4%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified67.4%
Taylor expanded in j around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6483.6
Simplified83.6%
Final simplification52.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= j -6.8e+239)
(* i (* t (fma c z (- 0.0 (* j y5)))))
(if (<= j -4.2e+31)
(* x (* j (- (* i y1) (* b y0))))
(if (<= j 1.7e-228)
(* i (* y (- (* k y5) (* x c))))
(if (<= j 4.8e-152)
(* x (* y2 (- (* c y0) (* a y1))))
(if (<= j 28000000000.0)
(* b (* y0 (fma k z (* j (- 0.0 x)))))
(if (<= j 1.16e+120)
(* x (* y (- (* a b) (* c i))))
(* b (* y4 (fma (- 0.0 k) y (* t j)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (j <= -6.8e+239) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else if (j <= -4.2e+31) {
tmp = x * (j * ((i * y1) - (b * y0)));
} else if (j <= 1.7e-228) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (j <= 4.8e-152) {
tmp = x * (y2 * ((c * y0) - (a * y1)));
} else if (j <= 28000000000.0) {
tmp = b * (y0 * fma(k, z, (j * (0.0 - x))));
} else if (j <= 1.16e+120) {
tmp = x * (y * ((a * b) - (c * i)));
} else {
tmp = b * (y4 * fma((0.0 - k), y, (t * j)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (j <= -6.8e+239) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); elseif (j <= -4.2e+31) tmp = Float64(x * Float64(j * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (j <= 1.7e-228) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (j <= 4.8e-152) tmp = Float64(x * Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))); elseif (j <= 28000000000.0) tmp = Float64(b * Float64(y0 * fma(k, z, Float64(j * Float64(0.0 - x))))); elseif (j <= 1.16e+120) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); else tmp = Float64(b * Float64(y4 * fma(Float64(0.0 - k), y, Float64(t * j)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[j, -6.8e+239], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -4.2e+31], N[(x * N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.7e-228], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.8e-152], N[(x * N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 28000000000.0], N[(b * N[(y0 * N[(k * z + N[(j * N[(0.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.16e+120], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(y4 * N[(N[(0.0 - k), $MachinePrecision] * y + N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -6.8 \cdot 10^{+239}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq -4.2 \cdot 10^{+31}:\\
\;\;\;\;x \cdot \left(j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;j \leq 1.7 \cdot 10^{-228}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 4.8 \cdot 10^{-152}:\\
\;\;\;\;x \cdot \left(y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\\
\mathbf{elif}\;j \leq 28000000000:\\
\;\;\;\;b \cdot \left(y0 \cdot \mathsf{fma}\left(k, z, j \cdot \left(0 - x\right)\right)\right)\\
\mathbf{elif}\;j \leq 1.16 \cdot 10^{+120}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y4 \cdot \mathsf{fma}\left(0 - k, y, t \cdot j\right)\right)\\
\end{array}
\end{array}
if j < -6.79999999999999998e239Initial program 28.6%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified42.9%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6471.5
Simplified71.5%
if -6.79999999999999998e239 < j < -4.19999999999999958e31Initial program 32.4%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified45.6%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6453.5
Simplified53.5%
if -4.19999999999999958e31 < j < 1.69999999999999995e-228Initial program 38.2%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified40.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6438.1
Simplified38.1%
if 1.69999999999999995e-228 < j < 4.8e-152Initial program 50.6%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified72.4%
Taylor expanded in y2 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6464.7
Simplified64.7%
if 4.8e-152 < j < 2.8e10Initial program 26.6%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6440.6
Simplified40.6%
Taylor expanded in y0 around inf
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6444.2
Simplified44.2%
if 2.8e10 < j < 1.16000000000000003e120Initial program 36.4%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified50.1%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6455.0
Simplified55.0%
if 1.16000000000000003e120 < j Initial program 13.9%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6455.1
Simplified55.1%
Taylor expanded in b around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-commutativeN/A
mul-1-negN/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6459.6
Simplified59.6%
Final simplification49.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= j -1.1e+240)
(* i (* t (fma c z (- 0.0 (* j y5)))))
(if (<= j -8.5e+32)
(* x (* j (- (* i y1) (* b y0))))
(if (<= j -2.35e-287)
(* i (* y (- (* k y5) (* x c))))
(if (<= j 8.5e-155)
(* x (* a (- (* y b) (* y1 y2))))
(if (<= j 55000000000.0)
(* b (* y0 (fma k z (* j (- 0.0 x)))))
(if (<= j 2.3e+126)
(* x (* y (- (* a b) (* c i))))
(* b (* y4 (fma (- 0.0 k) y (* t j)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (j <= -1.1e+240) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else if (j <= -8.5e+32) {
tmp = x * (j * ((i * y1) - (b * y0)));
} else if (j <= -2.35e-287) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (j <= 8.5e-155) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else if (j <= 55000000000.0) {
tmp = b * (y0 * fma(k, z, (j * (0.0 - x))));
} else if (j <= 2.3e+126) {
tmp = x * (y * ((a * b) - (c * i)));
} else {
tmp = b * (y4 * fma((0.0 - k), y, (t * j)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (j <= -1.1e+240) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); elseif (j <= -8.5e+32) tmp = Float64(x * Float64(j * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (j <= -2.35e-287) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (j <= 8.5e-155) tmp = Float64(x * Float64(a * Float64(Float64(y * b) - Float64(y1 * y2)))); elseif (j <= 55000000000.0) tmp = Float64(b * Float64(y0 * fma(k, z, Float64(j * Float64(0.0 - x))))); elseif (j <= 2.3e+126) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); else tmp = Float64(b * Float64(y4 * fma(Float64(0.0 - k), y, Float64(t * j)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[j, -1.1e+240], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -8.5e+32], N[(x * N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -2.35e-287], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 8.5e-155], N[(x * N[(a * N[(N[(y * b), $MachinePrecision] - N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 55000000000.0], N[(b * N[(y0 * N[(k * z + N[(j * N[(0.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.3e+126], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(y4 * N[(N[(0.0 - k), $MachinePrecision] * y + N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -1.1 \cdot 10^{+240}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq -8.5 \cdot 10^{+32}:\\
\;\;\;\;x \cdot \left(j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;j \leq -2.35 \cdot 10^{-287}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 8.5 \cdot 10^{-155}:\\
\;\;\;\;x \cdot \left(a \cdot \left(y \cdot b - y1 \cdot y2\right)\right)\\
\mathbf{elif}\;j \leq 55000000000:\\
\;\;\;\;b \cdot \left(y0 \cdot \mathsf{fma}\left(k, z, j \cdot \left(0 - x\right)\right)\right)\\
\mathbf{elif}\;j \leq 2.3 \cdot 10^{+126}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y4 \cdot \mathsf{fma}\left(0 - k, y, t \cdot j\right)\right)\\
\end{array}
\end{array}
if j < -1.1000000000000001e240Initial program 28.6%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified42.9%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6471.5
Simplified71.5%
if -1.1000000000000001e240 < j < -8.4999999999999998e32Initial program 32.4%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified45.6%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6453.5
Simplified53.5%
if -8.4999999999999998e32 < j < -2.3499999999999999e-287Initial program 41.6%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified42.5%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6442.5
Simplified42.5%
if -2.3499999999999999e-287 < j < 8.4999999999999996e-155Initial program 36.3%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified50.6%
Taylor expanded in a around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6439.5
Simplified39.5%
if 8.4999999999999996e-155 < j < 5.5e10Initial program 26.6%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6440.6
Simplified40.6%
Taylor expanded in y0 around inf
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6444.2
Simplified44.2%
if 5.5e10 < j < 2.3000000000000001e126Initial program 36.4%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified50.1%
Taylor expanded in y around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6455.0
Simplified55.0%
if 2.3000000000000001e126 < j Initial program 13.9%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6455.1
Simplified55.1%
Taylor expanded in b around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-commutativeN/A
mul-1-negN/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6459.6
Simplified59.6%
Final simplification49.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* t (- (* j y4) (* z a)))))
(t_2 (* c (* y2 (fma (- 0.0 t) y4 (* x y0))))))
(if (<= z -7.2e+174)
(* b (* y0 (fma k z (* j (- 0.0 x)))))
(if (<= z -5.5e-43)
t_1
(if (<= z -1.08e-157)
(* b (* y4 (fma (- 0.0 k) y (* t j))))
(if (<= z 1.5e-209)
t_2
(if (<= z 1.65e-54)
(* a (* y5 (- (* t y2) (* y y3))))
(if (<= z 2.02e+161) t_2 t_1))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (t * ((j * y4) - (z * a)));
double t_2 = c * (y2 * fma((0.0 - t), y4, (x * y0)));
double tmp;
if (z <= -7.2e+174) {
tmp = b * (y0 * fma(k, z, (j * (0.0 - x))));
} else if (z <= -5.5e-43) {
tmp = t_1;
} else if (z <= -1.08e-157) {
tmp = b * (y4 * fma((0.0 - k), y, (t * j)));
} else if (z <= 1.5e-209) {
tmp = t_2;
} else if (z <= 1.65e-54) {
tmp = a * (y5 * ((t * y2) - (y * y3)));
} else if (z <= 2.02e+161) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(b * Float64(t * Float64(Float64(j * y4) - Float64(z * a)))) t_2 = Float64(c * Float64(y2 * fma(Float64(0.0 - t), y4, Float64(x * y0)))) tmp = 0.0 if (z <= -7.2e+174) tmp = Float64(b * Float64(y0 * fma(k, z, Float64(j * Float64(0.0 - x))))); elseif (z <= -5.5e-43) tmp = t_1; elseif (z <= -1.08e-157) tmp = Float64(b * Float64(y4 * fma(Float64(0.0 - k), y, Float64(t * j)))); elseif (z <= 1.5e-209) tmp = t_2; elseif (z <= 1.65e-54) tmp = Float64(a * Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3)))); elseif (z <= 2.02e+161) tmp = t_2; else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(b * N[(t * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(y2 * N[(N[(0.0 - t), $MachinePrecision] * y4 + N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -7.2e+174], N[(b * N[(y0 * N[(k * z + N[(j * N[(0.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -5.5e-43], t$95$1, If[LessEqual[z, -1.08e-157], N[(b * N[(y4 * N[(N[(0.0 - k), $MachinePrecision] * y + N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.5e-209], t$95$2, If[LessEqual[z, 1.65e-54], N[(a * N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.02e+161], t$95$2, t$95$1]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(t \cdot \left(j \cdot y4 - z \cdot a\right)\right)\\
t_2 := c \cdot \left(y2 \cdot \mathsf{fma}\left(0 - t, y4, x \cdot y0\right)\right)\\
\mathbf{if}\;z \leq -7.2 \cdot 10^{+174}:\\
\;\;\;\;b \cdot \left(y0 \cdot \mathsf{fma}\left(k, z, j \cdot \left(0 - x\right)\right)\right)\\
\mathbf{elif}\;z \leq -5.5 \cdot 10^{-43}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.08 \cdot 10^{-157}:\\
\;\;\;\;b \cdot \left(y4 \cdot \mathsf{fma}\left(0 - k, y, t \cdot j\right)\right)\\
\mathbf{elif}\;z \leq 1.5 \cdot 10^{-209}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq 1.65 \cdot 10^{-54}:\\
\;\;\;\;a \cdot \left(y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;z \leq 2.02 \cdot 10^{+161}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -7.2000000000000003e174Initial program 36.7%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6443.4
Simplified43.4%
Taylor expanded in y0 around inf
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6460.4
Simplified60.4%
if -7.2000000000000003e174 < z < -5.50000000000000013e-43 or 2.0200000000000001e161 < z Initial program 31.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6434.7
Simplified34.7%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6446.8
Simplified46.8%
if -5.50000000000000013e-43 < z < -1.0799999999999999e-157Initial program 32.1%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6450.5
Simplified50.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-commutativeN/A
mul-1-negN/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6450.6
Simplified50.6%
if -1.0799999999999999e-157 < z < 1.4999999999999999e-209 or 1.64999999999999996e-54 < z < 2.0200000000000001e161Initial program 30.5%
Taylor expanded in c around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified52.0%
Taylor expanded in y2 around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6445.5
Simplified45.5%
if 1.4999999999999999e-209 < z < 1.64999999999999996e-54Initial program 30.0%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified44.9%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6445.4
Simplified45.4%
Final simplification48.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= j -1.5e+240)
(* i (* t (fma c z (- 0.0 (* j y5)))))
(if (<= j -1.02e+32)
(* x (* j (- (* i y1) (* b y0))))
(if (<= j 1.6e-228)
(* i (* y (- (* k y5) (* x c))))
(if (<= j 1.4e-141)
(* x (* y2 (- (* c y0) (* a y1))))
(if (<= j 5e+121)
(* (* z k) (- (* b y0) (* i y1)))
(if (<= j 2.35e+256)
(* j (* y4 (- (* t b) (* y1 y3))))
(* y5 (* j (- (* y0 y3) (* t i)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (j <= -1.5e+240) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else if (j <= -1.02e+32) {
tmp = x * (j * ((i * y1) - (b * y0)));
} else if (j <= 1.6e-228) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (j <= 1.4e-141) {
tmp = x * (y2 * ((c * y0) - (a * y1)));
} else if (j <= 5e+121) {
tmp = (z * k) * ((b * y0) - (i * y1));
} else if (j <= 2.35e+256) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y5 * (j * ((y0 * y3) - (t * i)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (j <= -1.5e+240) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); elseif (j <= -1.02e+32) tmp = Float64(x * Float64(j * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (j <= 1.6e-228) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (j <= 1.4e-141) tmp = Float64(x * Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))); elseif (j <= 5e+121) tmp = Float64(Float64(z * k) * Float64(Float64(b * y0) - Float64(i * y1))); elseif (j <= 2.35e+256) tmp = Float64(j * Float64(y4 * Float64(Float64(t * b) - Float64(y1 * y3)))); else tmp = Float64(y5 * Float64(j * Float64(Float64(y0 * y3) - Float64(t * i)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[j, -1.5e+240], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.02e+32], N[(x * N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.6e-228], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.4e-141], N[(x * N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 5e+121], N[(N[(z * k), $MachinePrecision] * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.35e+256], N[(j * N[(y4 * N[(N[(t * b), $MachinePrecision] - N[(y1 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y5 * N[(j * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -1.5 \cdot 10^{+240}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq -1.02 \cdot 10^{+32}:\\
\;\;\;\;x \cdot \left(j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;j \leq 1.6 \cdot 10^{-228}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 1.4 \cdot 10^{-141}:\\
\;\;\;\;x \cdot \left(y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\\
\mathbf{elif}\;j \leq 5 \cdot 10^{+121}:\\
\;\;\;\;\left(z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\\
\mathbf{elif}\;j \leq 2.35 \cdot 10^{+256}:\\
\;\;\;\;j \cdot \left(y4 \cdot \left(t \cdot b - y1 \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y5 \cdot \left(j \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\end{array}
\end{array}
if j < -1.4999999999999999e240Initial program 28.6%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified42.9%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6471.5
Simplified71.5%
if -1.4999999999999999e240 < j < -1.0199999999999999e32Initial program 32.4%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified45.6%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6453.5
Simplified53.5%
if -1.0199999999999999e32 < j < 1.60000000000000011e-228Initial program 38.2%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified40.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6438.1
Simplified38.1%
if 1.60000000000000011e-228 < j < 1.40000000000000006e-141Initial program 47.2%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified74.2%
Taylor expanded in y2 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6467.1
Simplified67.1%
if 1.40000000000000006e-141 < j < 5.00000000000000007e121Initial program 31.3%
Taylor expanded in z around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified62.8%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6448.0
Simplified48.0%
if 5.00000000000000007e121 < j < 2.34999999999999984e256Initial program 9.6%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6465.9
Simplified65.9%
Taylor expanded in j around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6466.2
Simplified66.2%
if 2.34999999999999984e256 < j Initial program 25.4%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified67.4%
Taylor expanded in j around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6483.6
Simplified83.6%
Final simplification51.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= b -9.8e+123)
(* b (* t (- (* j y4) (* z a))))
(if (<= b -3.35e-205)
(* c (* y2 (fma (- 0.0 t) y4 (* x y0))))
(if (<= b 2.9e-238)
(* y4 (* c (- (* y y3) (* t y2))))
(if (<= b 8e+51)
(* i (* y (- (* k y5) (* x c))))
(if (<= b 1.2e+206)
(* b (* y0 (fma k z (* j (- 0.0 x)))))
(* b (* y4 (fma (- 0.0 k) y (* t j))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (b <= -9.8e+123) {
tmp = b * (t * ((j * y4) - (z * a)));
} else if (b <= -3.35e-205) {
tmp = c * (y2 * fma((0.0 - t), y4, (x * y0)));
} else if (b <= 2.9e-238) {
tmp = y4 * (c * ((y * y3) - (t * y2)));
} else if (b <= 8e+51) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (b <= 1.2e+206) {
tmp = b * (y0 * fma(k, z, (j * (0.0 - x))));
} else {
tmp = b * (y4 * fma((0.0 - k), y, (t * j)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (b <= -9.8e+123) tmp = Float64(b * Float64(t * Float64(Float64(j * y4) - Float64(z * a)))); elseif (b <= -3.35e-205) tmp = Float64(c * Float64(y2 * fma(Float64(0.0 - t), y4, Float64(x * y0)))); elseif (b <= 2.9e-238) tmp = Float64(y4 * Float64(c * Float64(Float64(y * y3) - Float64(t * y2)))); elseif (b <= 8e+51) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (b <= 1.2e+206) tmp = Float64(b * Float64(y0 * fma(k, z, Float64(j * Float64(0.0 - x))))); else tmp = Float64(b * Float64(y4 * fma(Float64(0.0 - k), y, Float64(t * j)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[b, -9.8e+123], N[(b * N[(t * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -3.35e-205], N[(c * N[(y2 * N[(N[(0.0 - t), $MachinePrecision] * y4 + N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.9e-238], N[(y4 * N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 8e+51], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.2e+206], N[(b * N[(y0 * N[(k * z + N[(j * N[(0.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(y4 * N[(N[(0.0 - k), $MachinePrecision] * y + N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -9.8 \cdot 10^{+123}:\\
\;\;\;\;b \cdot \left(t \cdot \left(j \cdot y4 - z \cdot a\right)\right)\\
\mathbf{elif}\;b \leq -3.35 \cdot 10^{-205}:\\
\;\;\;\;c \cdot \left(y2 \cdot \mathsf{fma}\left(0 - t, y4, x \cdot y0\right)\right)\\
\mathbf{elif}\;b \leq 2.9 \cdot 10^{-238}:\\
\;\;\;\;y4 \cdot \left(c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;b \leq 8 \cdot 10^{+51}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;b \leq 1.2 \cdot 10^{+206}:\\
\;\;\;\;b \cdot \left(y0 \cdot \mathsf{fma}\left(k, z, j \cdot \left(0 - x\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y4 \cdot \mathsf{fma}\left(0 - k, y, t \cdot j\right)\right)\\
\end{array}
\end{array}
if b < -9.79999999999999952e123Initial program 26.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6465.1
Simplified65.1%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6471.0
Simplified71.0%
if -9.79999999999999952e123 < b < -3.35000000000000005e-205Initial program 35.6%
Taylor expanded in c around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified41.7%
Taylor expanded in y2 around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6443.6
Simplified43.6%
if -3.35000000000000005e-205 < b < 2.8999999999999998e-238Initial program 40.4%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6452.2
Simplified52.2%
Taylor expanded in c around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6443.9
Simplified43.9%
if 2.8999999999999998e-238 < b < 8e51Initial program 29.7%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified48.9%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6442.5
Simplified42.5%
if 8e51 < b < 1.2e206Initial program 35.9%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6450.9
Simplified50.9%
Taylor expanded in y0 around inf
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6444.6
Simplified44.6%
if 1.2e206 < b Initial program 5.9%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6476.5
Simplified76.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-commutativeN/A
mul-1-negN/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6471.1
Simplified71.1%
Final simplification48.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y2 (fma (- 0.0 t) y4 (* x y0))))))
(if (<= z -2.15e+43)
(* b (* y0 (fma k z (* j (- 0.0 x)))))
(if (<= z -5e-161)
(* i (* y (- (* k y5) (* x c))))
(if (<= z 2.5e-240)
t_1
(if (<= z 9e-34)
(* x (* j (- (* i y1) (* b y0))))
(if (<= z 8.2e+161) t_1 (* b (* t (- (* j y4) (* z a)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y2 * fma((0.0 - t), y4, (x * y0)));
double tmp;
if (z <= -2.15e+43) {
tmp = b * (y0 * fma(k, z, (j * (0.0 - x))));
} else if (z <= -5e-161) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (z <= 2.5e-240) {
tmp = t_1;
} else if (z <= 9e-34) {
tmp = x * (j * ((i * y1) - (b * y0)));
} else if (z <= 8.2e+161) {
tmp = t_1;
} else {
tmp = b * (t * ((j * y4) - (z * a)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(c * Float64(y2 * fma(Float64(0.0 - t), y4, Float64(x * y0)))) tmp = 0.0 if (z <= -2.15e+43) tmp = Float64(b * Float64(y0 * fma(k, z, Float64(j * Float64(0.0 - x))))); elseif (z <= -5e-161) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (z <= 2.5e-240) tmp = t_1; elseif (z <= 9e-34) tmp = Float64(x * Float64(j * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (z <= 8.2e+161) tmp = t_1; else tmp = Float64(b * Float64(t * Float64(Float64(j * y4) - Float64(z * a)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(c * N[(y2 * N[(N[(0.0 - t), $MachinePrecision] * y4 + N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.15e+43], N[(b * N[(y0 * N[(k * z + N[(j * N[(0.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -5e-161], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.5e-240], t$95$1, If[LessEqual[z, 9e-34], N[(x * N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 8.2e+161], t$95$1, N[(b * N[(t * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y2 \cdot \mathsf{fma}\left(0 - t, y4, x \cdot y0\right)\right)\\
\mathbf{if}\;z \leq -2.15 \cdot 10^{+43}:\\
\;\;\;\;b \cdot \left(y0 \cdot \mathsf{fma}\left(k, z, j \cdot \left(0 - x\right)\right)\right)\\
\mathbf{elif}\;z \leq -5 \cdot 10^{-161}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;z \leq 2.5 \cdot 10^{-240}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 9 \cdot 10^{-34}:\\
\;\;\;\;x \cdot \left(j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;z \leq 8.2 \cdot 10^{+161}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(t \cdot \left(j \cdot y4 - z \cdot a\right)\right)\\
\end{array}
\end{array}
if z < -2.15e43Initial program 31.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.2
Simplified37.2%
Taylor expanded in y0 around inf
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6445.1
Simplified45.1%
if -2.15e43 < z < -4.9999999999999999e-161Initial program 35.4%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified55.7%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6438.9
Simplified38.9%
if -4.9999999999999999e-161 < z < 2.5000000000000002e-240 or 9.00000000000000085e-34 < z < 8.2000000000000002e161Initial program 29.1%
Taylor expanded in c around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified53.6%
Taylor expanded in y2 around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6449.6
Simplified49.6%
if 2.5000000000000002e-240 < z < 9.00000000000000085e-34Initial program 31.1%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified53.2%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6446.7
Simplified46.7%
if 8.2000000000000002e161 < z Initial program 34.1%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6443.6
Simplified43.6%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6457.6
Simplified57.6%
Final simplification47.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= b -4.3e+123)
(* b (* t (- (* j y4) (* z a))))
(if (<= b -1.38e-198)
(* c (* y2 (fma (- 0.0 t) y4 (* x y0))))
(if (<= b 2.9e-120)
(* i (* t (fma c z (- 0.0 (* j y5)))))
(if (<= b 6.8e+50)
(* i (* y (- (* k y5) (* x c))))
(if (<= b 7.6e+206)
(* b (* y0 (fma k z (* j (- 0.0 x)))))
(* b (* y4 (fma (- 0.0 k) y (* t j))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (b <= -4.3e+123) {
tmp = b * (t * ((j * y4) - (z * a)));
} else if (b <= -1.38e-198) {
tmp = c * (y2 * fma((0.0 - t), y4, (x * y0)));
} else if (b <= 2.9e-120) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else if (b <= 6.8e+50) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (b <= 7.6e+206) {
tmp = b * (y0 * fma(k, z, (j * (0.0 - x))));
} else {
tmp = b * (y4 * fma((0.0 - k), y, (t * j)));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (b <= -4.3e+123) tmp = Float64(b * Float64(t * Float64(Float64(j * y4) - Float64(z * a)))); elseif (b <= -1.38e-198) tmp = Float64(c * Float64(y2 * fma(Float64(0.0 - t), y4, Float64(x * y0)))); elseif (b <= 2.9e-120) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); elseif (b <= 6.8e+50) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (b <= 7.6e+206) tmp = Float64(b * Float64(y0 * fma(k, z, Float64(j * Float64(0.0 - x))))); else tmp = Float64(b * Float64(y4 * fma(Float64(0.0 - k), y, Float64(t * j)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[b, -4.3e+123], N[(b * N[(t * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -1.38e-198], N[(c * N[(y2 * N[(N[(0.0 - t), $MachinePrecision] * y4 + N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.9e-120], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 6.8e+50], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 7.6e+206], N[(b * N[(y0 * N[(k * z + N[(j * N[(0.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(y4 * N[(N[(0.0 - k), $MachinePrecision] * y + N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -4.3 \cdot 10^{+123}:\\
\;\;\;\;b \cdot \left(t \cdot \left(j \cdot y4 - z \cdot a\right)\right)\\
\mathbf{elif}\;b \leq -1.38 \cdot 10^{-198}:\\
\;\;\;\;c \cdot \left(y2 \cdot \mathsf{fma}\left(0 - t, y4, x \cdot y0\right)\right)\\
\mathbf{elif}\;b \leq 2.9 \cdot 10^{-120}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{elif}\;b \leq 6.8 \cdot 10^{+50}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;b \leq 7.6 \cdot 10^{+206}:\\
\;\;\;\;b \cdot \left(y0 \cdot \mathsf{fma}\left(k, z, j \cdot \left(0 - x\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y4 \cdot \mathsf{fma}\left(0 - k, y, t \cdot j\right)\right)\\
\end{array}
\end{array}
if b < -4.29999999999999986e123Initial program 26.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6465.1
Simplified65.1%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6471.0
Simplified71.0%
if -4.29999999999999986e123 < b < -1.3800000000000001e-198Initial program 37.5%
Taylor expanded in c around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified40.4%
Taylor expanded in y2 around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6442.3
Simplified42.3%
if -1.3800000000000001e-198 < b < 2.9e-120Initial program 36.3%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified43.4%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6437.2
Simplified37.2%
if 2.9e-120 < b < 6.7999999999999997e50Initial program 27.3%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified49.3%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6445.2
Simplified45.2%
if 6.7999999999999997e50 < b < 7.5999999999999997e206Initial program 35.9%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6450.9
Simplified50.9%
Taylor expanded in y0 around inf
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6444.6
Simplified44.6%
if 7.5999999999999997e206 < b Initial program 5.9%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6476.5
Simplified76.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
+-commutativeN/A
mul-1-negN/A
associate-*r*N/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
neg-lowering-neg.f64N/A
*-lowering-*.f6471.1
Simplified71.1%
Final simplification47.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= j -4.6e+42)
(* i (* j (- (* x y1) (* t y5))))
(if (<= j 1.7e-228)
(* i (* y (- (* k y5) (* x c))))
(if (<= j 1.65e-141)
(* x (* y2 (- (* c y0) (* a y1))))
(if (<= j 2.15e+129)
(* (* z k) (- (* b y0) (* i y1)))
(if (<= j 1.48e+256)
(* j (* y4 (- (* t b) (* y1 y3))))
(* y5 (* j (- (* y0 y3) (* t i))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (j <= -4.6e+42) {
tmp = i * (j * ((x * y1) - (t * y5)));
} else if (j <= 1.7e-228) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (j <= 1.65e-141) {
tmp = x * (y2 * ((c * y0) - (a * y1)));
} else if (j <= 2.15e+129) {
tmp = (z * k) * ((b * y0) - (i * y1));
} else if (j <= 1.48e+256) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y5 * (j * ((y0 * y3) - (t * i)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (j <= (-4.6d+42)) then
tmp = i * (j * ((x * y1) - (t * y5)))
else if (j <= 1.7d-228) then
tmp = i * (y * ((k * y5) - (x * c)))
else if (j <= 1.65d-141) then
tmp = x * (y2 * ((c * y0) - (a * y1)))
else if (j <= 2.15d+129) then
tmp = (z * k) * ((b * y0) - (i * y1))
else if (j <= 1.48d+256) then
tmp = j * (y4 * ((t * b) - (y1 * y3)))
else
tmp = y5 * (j * ((y0 * y3) - (t * i)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (j <= -4.6e+42) {
tmp = i * (j * ((x * y1) - (t * y5)));
} else if (j <= 1.7e-228) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (j <= 1.65e-141) {
tmp = x * (y2 * ((c * y0) - (a * y1)));
} else if (j <= 2.15e+129) {
tmp = (z * k) * ((b * y0) - (i * y1));
} else if (j <= 1.48e+256) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y5 * (j * ((y0 * y3) - (t * i)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if j <= -4.6e+42: tmp = i * (j * ((x * y1) - (t * y5))) elif j <= 1.7e-228: tmp = i * (y * ((k * y5) - (x * c))) elif j <= 1.65e-141: tmp = x * (y2 * ((c * y0) - (a * y1))) elif j <= 2.15e+129: tmp = (z * k) * ((b * y0) - (i * y1)) elif j <= 1.48e+256: tmp = j * (y4 * ((t * b) - (y1 * y3))) else: tmp = y5 * (j * ((y0 * y3) - (t * i))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (j <= -4.6e+42) tmp = Float64(i * Float64(j * Float64(Float64(x * y1) - Float64(t * y5)))); elseif (j <= 1.7e-228) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (j <= 1.65e-141) tmp = Float64(x * Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))); elseif (j <= 2.15e+129) tmp = Float64(Float64(z * k) * Float64(Float64(b * y0) - Float64(i * y1))); elseif (j <= 1.48e+256) tmp = Float64(j * Float64(y4 * Float64(Float64(t * b) - Float64(y1 * y3)))); else tmp = Float64(y5 * Float64(j * Float64(Float64(y0 * y3) - Float64(t * i)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (j <= -4.6e+42) tmp = i * (j * ((x * y1) - (t * y5))); elseif (j <= 1.7e-228) tmp = i * (y * ((k * y5) - (x * c))); elseif (j <= 1.65e-141) tmp = x * (y2 * ((c * y0) - (a * y1))); elseif (j <= 2.15e+129) tmp = (z * k) * ((b * y0) - (i * y1)); elseif (j <= 1.48e+256) tmp = j * (y4 * ((t * b) - (y1 * y3))); else tmp = y5 * (j * ((y0 * y3) - (t * i))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[j, -4.6e+42], N[(i * N[(j * N[(N[(x * y1), $MachinePrecision] - N[(t * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.7e-228], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.65e-141], N[(x * N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.15e+129], N[(N[(z * k), $MachinePrecision] * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.48e+256], N[(j * N[(y4 * N[(N[(t * b), $MachinePrecision] - N[(y1 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y5 * N[(j * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -4.6 \cdot 10^{+42}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1 - t \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq 1.7 \cdot 10^{-228}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 1.65 \cdot 10^{-141}:\\
\;\;\;\;x \cdot \left(y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\\
\mathbf{elif}\;j \leq 2.15 \cdot 10^{+129}:\\
\;\;\;\;\left(z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\\
\mathbf{elif}\;j \leq 1.48 \cdot 10^{+256}:\\
\;\;\;\;j \cdot \left(y4 \cdot \left(t \cdot b - y1 \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y5 \cdot \left(j \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\end{array}
\end{array}
if j < -4.6e42Initial program 32.6%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified52.1%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6462.0
Simplified62.0%
if -4.6e42 < j < 1.69999999999999995e-228Initial program 37.4%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified41.6%
Taylor expanded in y around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6437.3
Simplified37.3%
if 1.69999999999999995e-228 < j < 1.65e-141Initial program 47.2%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified74.2%
Taylor expanded in y2 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6467.1
Simplified67.1%
if 1.65e-141 < j < 2.1500000000000001e129Initial program 31.3%
Taylor expanded in z around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified62.8%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6448.0
Simplified48.0%
if 2.1500000000000001e129 < j < 1.47999999999999996e256Initial program 9.6%
Taylor expanded in y4 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
accelerator-lowering-fma.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6465.9
Simplified65.9%
Taylor expanded in j around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6466.2
Simplified66.2%
if 1.47999999999999996e256 < j Initial program 25.4%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
sub-negN/A
Simplified67.4%
Taylor expanded in j around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6483.6
Simplified83.6%
Final simplification52.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* y5 (- (* t y2) (* y y3))))))
(if (<= y5 -3.2e+94)
t_1
(if (<= y5 8.5e-173)
(* b (* y0 (fma k z (* j (- 0.0 x)))))
(if (<= y5 5.3e-8)
(* b (* t (- (* j y4) (* z a))))
(if (<= y5 9.8e+116) (* i (* t (fma c z (- 0.0 (* j y5))))) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = a * (y5 * ((t * y2) - (y * y3)));
double tmp;
if (y5 <= -3.2e+94) {
tmp = t_1;
} else if (y5 <= 8.5e-173) {
tmp = b * (y0 * fma(k, z, (j * (0.0 - x))));
} else if (y5 <= 5.3e-8) {
tmp = b * (t * ((j * y4) - (z * a)));
} else if (y5 <= 9.8e+116) {
tmp = i * (t * fma(c, z, (0.0 - (j * y5))));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3)))) tmp = 0.0 if (y5 <= -3.2e+94) tmp = t_1; elseif (y5 <= 8.5e-173) tmp = Float64(b * Float64(y0 * fma(k, z, Float64(j * Float64(0.0 - x))))); elseif (y5 <= 5.3e-8) tmp = Float64(b * Float64(t * Float64(Float64(j * y4) - Float64(z * a)))); elseif (y5 <= 9.8e+116) tmp = Float64(i * Float64(t * fma(c, z, Float64(0.0 - Float64(j * y5))))); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(a * N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -3.2e+94], t$95$1, If[LessEqual[y5, 8.5e-173], N[(b * N[(y0 * N[(k * z + N[(j * N[(0.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 5.3e-8], N[(b * N[(t * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 9.8e+116], N[(i * N[(t * N[(c * z + N[(0.0 - N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{if}\;y5 \leq -3.2 \cdot 10^{+94}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq 8.5 \cdot 10^{-173}:\\
\;\;\;\;b \cdot \left(y0 \cdot \mathsf{fma}\left(k, z, j \cdot \left(0 - x\right)\right)\right)\\
\mathbf{elif}\;y5 \leq 5.3 \cdot 10^{-8}:\\
\;\;\;\;b \cdot \left(t \cdot \left(j \cdot y4 - z \cdot a\right)\right)\\
\mathbf{elif}\;y5 \leq 9.8 \cdot 10^{+116}:\\
\;\;\;\;i \cdot \left(t \cdot \mathsf{fma}\left(c, z, 0 - j \cdot y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y5 < -3.20000000000000014e94 or 9.7999999999999996e116 < y5 Initial program 27.0%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified52.3%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6451.3
Simplified51.3%
if -3.20000000000000014e94 < y5 < 8.4999999999999996e-173Initial program 34.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.4
Simplified37.4%
Taylor expanded in y0 around inf
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6438.7
Simplified38.7%
if 8.4999999999999996e-173 < y5 < 5.2999999999999998e-8Initial program 37.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6445.6
Simplified45.6%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6451.2
Simplified51.2%
if 5.2999999999999998e-8 < y5 < 9.7999999999999996e116Initial program 24.9%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified47.4%
Taylor expanded in t around -inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
+-commutativeN/A
accelerator-lowering-fma.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6451.3
Simplified51.3%
Final simplification45.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* t (* j y4)))))
(if (<= j -1.4e+240)
t_1
(if (<= j -1.78e+112)
(* i (* j (* x y1)))
(if (<= j 1.35e-223)
(* a (* y5 (- (* t y2) (* y y3))))
(if (<= j 6.8e+118) (* (* i k) (* z (- 0.0 y1))) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (t * (j * y4));
double tmp;
if (j <= -1.4e+240) {
tmp = t_1;
} else if (j <= -1.78e+112) {
tmp = i * (j * (x * y1));
} else if (j <= 1.35e-223) {
tmp = a * (y5 * ((t * y2) - (y * y3)));
} else if (j <= 6.8e+118) {
tmp = (i * k) * (z * (0.0 - y1));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = b * (t * (j * y4))
if (j <= (-1.4d+240)) then
tmp = t_1
else if (j <= (-1.78d+112)) then
tmp = i * (j * (x * y1))
else if (j <= 1.35d-223) then
tmp = a * (y5 * ((t * y2) - (y * y3)))
else if (j <= 6.8d+118) then
tmp = (i * k) * (z * (0.0d0 - y1))
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 c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (t * (j * y4));
double tmp;
if (j <= -1.4e+240) {
tmp = t_1;
} else if (j <= -1.78e+112) {
tmp = i * (j * (x * y1));
} else if (j <= 1.35e-223) {
tmp = a * (y5 * ((t * y2) - (y * y3)));
} else if (j <= 6.8e+118) {
tmp = (i * k) * (z * (0.0 - y1));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * (t * (j * y4)) tmp = 0 if j <= -1.4e+240: tmp = t_1 elif j <= -1.78e+112: tmp = i * (j * (x * y1)) elif j <= 1.35e-223: tmp = a * (y5 * ((t * y2) - (y * y3))) elif j <= 6.8e+118: tmp = (i * k) * (z * (0.0 - y1)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(b * Float64(t * Float64(j * y4))) tmp = 0.0 if (j <= -1.4e+240) tmp = t_1; elseif (j <= -1.78e+112) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (j <= 1.35e-223) tmp = Float64(a * Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3)))); elseif (j <= 6.8e+118) tmp = Float64(Float64(i * k) * Float64(z * Float64(0.0 - y1))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = b * (t * (j * y4)); tmp = 0.0; if (j <= -1.4e+240) tmp = t_1; elseif (j <= -1.78e+112) tmp = i * (j * (x * y1)); elseif (j <= 1.35e-223) tmp = a * (y5 * ((t * y2) - (y * y3))); elseif (j <= 6.8e+118) tmp = (i * k) * (z * (0.0 - y1)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(b * N[(t * N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.4e+240], t$95$1, If[LessEqual[j, -1.78e+112], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.35e-223], N[(a * N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6.8e+118], N[(N[(i * k), $MachinePrecision] * N[(z * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(t \cdot \left(j \cdot y4\right)\right)\\
\mathbf{if}\;j \leq -1.4 \cdot 10^{+240}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -1.78 \cdot 10^{+112}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;j \leq 1.35 \cdot 10^{-223}:\\
\;\;\;\;a \cdot \left(y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq 6.8 \cdot 10^{+118}:\\
\;\;\;\;\left(i \cdot k\right) \cdot \left(z \cdot \left(0 - y1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.4000000000000001e240 or 6.79999999999999973e118 < j Initial program 17.4%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6443.5
Simplified43.5%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6449.2
Simplified49.2%
Taylor expanded in j around inf
*-lowering-*.f6452.5
Simplified52.5%
if -1.4000000000000001e240 < j < -1.78e112Initial program 42.7%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified50.5%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6458.2
Simplified58.2%
Taylor expanded in i around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6454.6
Simplified54.6%
if -1.78e112 < j < 1.34999999999999994e-223Initial program 35.0%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified42.3%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6433.4
Simplified33.4%
if 1.34999999999999994e-223 < j < 6.79999999999999973e118Initial program 34.5%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified42.7%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6439.5
Simplified39.5%
Taylor expanded in y around 0
mul-1-negN/A
associate-*r*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6433.5
Simplified33.5%
Final simplification40.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y1 -9e+25)
(* i (* j (* x y1)))
(if (<= y1 -9.4e-291)
(* y0 (* b (* z k)))
(if (<= y1 5.8e-204)
(* (* i k) (* y y5))
(if (<= y1 1.15e+18)
(* b (* t (* j y4)))
(* (* i k) (* z (- 0.0 y1))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y1 <= -9e+25) {
tmp = i * (j * (x * y1));
} else if (y1 <= -9.4e-291) {
tmp = y0 * (b * (z * k));
} else if (y1 <= 5.8e-204) {
tmp = (i * k) * (y * y5);
} else if (y1 <= 1.15e+18) {
tmp = b * (t * (j * y4));
} else {
tmp = (i * k) * (z * (0.0 - y1));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y1 <= (-9d+25)) then
tmp = i * (j * (x * y1))
else if (y1 <= (-9.4d-291)) then
tmp = y0 * (b * (z * k))
else if (y1 <= 5.8d-204) then
tmp = (i * k) * (y * y5)
else if (y1 <= 1.15d+18) then
tmp = b * (t * (j * y4))
else
tmp = (i * k) * (z * (0.0d0 - y1))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y1 <= -9e+25) {
tmp = i * (j * (x * y1));
} else if (y1 <= -9.4e-291) {
tmp = y0 * (b * (z * k));
} else if (y1 <= 5.8e-204) {
tmp = (i * k) * (y * y5);
} else if (y1 <= 1.15e+18) {
tmp = b * (t * (j * y4));
} else {
tmp = (i * k) * (z * (0.0 - y1));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y1 <= -9e+25: tmp = i * (j * (x * y1)) elif y1 <= -9.4e-291: tmp = y0 * (b * (z * k)) elif y1 <= 5.8e-204: tmp = (i * k) * (y * y5) elif y1 <= 1.15e+18: tmp = b * (t * (j * y4)) else: tmp = (i * k) * (z * (0.0 - y1)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y1 <= -9e+25) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (y1 <= -9.4e-291) tmp = Float64(y0 * Float64(b * Float64(z * k))); elseif (y1 <= 5.8e-204) tmp = Float64(Float64(i * k) * Float64(y * y5)); elseif (y1 <= 1.15e+18) tmp = Float64(b * Float64(t * Float64(j * y4))); else tmp = Float64(Float64(i * k) * Float64(z * Float64(0.0 - y1))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y1 <= -9e+25) tmp = i * (j * (x * y1)); elseif (y1 <= -9.4e-291) tmp = y0 * (b * (z * k)); elseif (y1 <= 5.8e-204) tmp = (i * k) * (y * y5); elseif (y1 <= 1.15e+18) tmp = b * (t * (j * y4)); else tmp = (i * k) * (z * (0.0 - y1)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y1, -9e+25], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -9.4e-291], N[(y0 * N[(b * N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 5.8e-204], N[(N[(i * k), $MachinePrecision] * N[(y * y5), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 1.15e+18], N[(b * N[(t * N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(i * k), $MachinePrecision] * N[(z * N[(0.0 - y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -9 \cdot 10^{+25}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;y1 \leq -9.4 \cdot 10^{-291}:\\
\;\;\;\;y0 \cdot \left(b \cdot \left(z \cdot k\right)\right)\\
\mathbf{elif}\;y1 \leq 5.8 \cdot 10^{-204}:\\
\;\;\;\;\left(i \cdot k\right) \cdot \left(y \cdot y5\right)\\
\mathbf{elif}\;y1 \leq 1.15 \cdot 10^{+18}:\\
\;\;\;\;b \cdot \left(t \cdot \left(j \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(i \cdot k\right) \cdot \left(z \cdot \left(0 - y1\right)\right)\\
\end{array}
\end{array}
if y1 < -9.0000000000000006e25Initial program 22.7%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified48.2%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6440.9
Simplified40.9%
Taylor expanded in i around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6443.9
Simplified43.9%
if -9.0000000000000006e25 < y1 < -9.3999999999999997e-291Initial program 34.0%
Taylor expanded in z around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified46.1%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6432.2
Simplified32.2%
Taylor expanded in b around inf
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6429.2
Simplified29.2%
if -9.3999999999999997e-291 < y1 < 5.80000000000000018e-204Initial program 38.1%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified42.5%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6439.2
Simplified39.2%
Taylor expanded in y around inf
*-lowering-*.f6439.2
Simplified39.2%
if 5.80000000000000018e-204 < y1 < 1.15e18Initial program 31.1%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6440.9
Simplified40.9%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6441.4
Simplified41.4%
Taylor expanded in j around inf
*-lowering-*.f6438.9
Simplified38.9%
if 1.15e18 < y1 Initial program 35.5%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified39.6%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6440.2
Simplified40.2%
Taylor expanded in y around 0
mul-1-negN/A
associate-*r*N/A
distribute-rgt-neg-inN/A
mul-1-negN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-sub0N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f6436.2
Simplified36.2%
Final simplification37.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* y5 (- (* t y2) (* y y3))))))
(if (<= y5 -1.04e+95)
t_1
(if (<= y5 2.05e-172)
(* b (* y0 (fma k z (* j (- 0.0 x)))))
(if (<= y5 1.4e+175) (* b (* t (- (* j y4) (* z a)))) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = a * (y5 * ((t * y2) - (y * y3)));
double tmp;
if (y5 <= -1.04e+95) {
tmp = t_1;
} else if (y5 <= 2.05e-172) {
tmp = b * (y0 * fma(k, z, (j * (0.0 - x))));
} else if (y5 <= 1.4e+175) {
tmp = b * (t * ((j * y4) - (z * a)));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3)))) tmp = 0.0 if (y5 <= -1.04e+95) tmp = t_1; elseif (y5 <= 2.05e-172) tmp = Float64(b * Float64(y0 * fma(k, z, Float64(j * Float64(0.0 - x))))); elseif (y5 <= 1.4e+175) tmp = Float64(b * Float64(t * Float64(Float64(j * y4) - Float64(z * a)))); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(a * N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -1.04e+95], t$95$1, If[LessEqual[y5, 2.05e-172], N[(b * N[(y0 * N[(k * z + N[(j * N[(0.0 - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 1.4e+175], N[(b * N[(t * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{if}\;y5 \leq -1.04 \cdot 10^{+95}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq 2.05 \cdot 10^{-172}:\\
\;\;\;\;b \cdot \left(y0 \cdot \mathsf{fma}\left(k, z, j \cdot \left(0 - x\right)\right)\right)\\
\mathbf{elif}\;y5 \leq 1.4 \cdot 10^{+175}:\\
\;\;\;\;b \cdot \left(t \cdot \left(j \cdot y4 - z \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y5 < -1.04e95 or 1.4000000000000001e175 < y5 Initial program 30.4%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified54.0%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6456.1
Simplified56.1%
if -1.04e95 < y5 < 2.05e-172Initial program 34.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.4
Simplified37.4%
Taylor expanded in y0 around inf
*-lowering-*.f64N/A
cancel-sign-sub-invN/A
accelerator-lowering-fma.f64N/A
mul-1-negN/A
*-lowering-*.f64N/A
mul-1-negN/A
neg-lowering-neg.f6438.7
Simplified38.7%
if 2.05e-172 < y5 < 1.4000000000000001e175Initial program 28.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6436.5
Simplified36.5%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6439.4
Simplified39.4%
Final simplification42.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* y5 (- (* t y2) (* y y3))))))
(if (<= y5 -8e+95)
t_1
(if (<= y5 1.56e+175) (* b (* t (- (* j y4) (* z a)))) t_1))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = a * (y5 * ((t * y2) - (y * y3)));
double tmp;
if (y5 <= -8e+95) {
tmp = t_1;
} else if (y5 <= 1.56e+175) {
tmp = b * (t * ((j * y4) - (z * a)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = a * (y5 * ((t * y2) - (y * y3)))
if (y5 <= (-8d+95)) then
tmp = t_1
else if (y5 <= 1.56d+175) then
tmp = b * (t * ((j * y4) - (z * 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 c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = a * (y5 * ((t * y2) - (y * y3)));
double tmp;
if (y5 <= -8e+95) {
tmp = t_1;
} else if (y5 <= 1.56e+175) {
tmp = b * (t * ((j * y4) - (z * a)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (y5 * ((t * y2) - (y * y3))) tmp = 0 if y5 <= -8e+95: tmp = t_1 elif y5 <= 1.56e+175: tmp = b * (t * ((j * y4) - (z * a))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3)))) tmp = 0.0 if (y5 <= -8e+95) tmp = t_1; elseif (y5 <= 1.56e+175) tmp = Float64(b * Float64(t * Float64(Float64(j * y4) - Float64(z * a)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = a * (y5 * ((t * y2) - (y * y3))); tmp = 0.0; if (y5 <= -8e+95) tmp = t_1; elseif (y5 <= 1.56e+175) tmp = b * (t * ((j * y4) - (z * a))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(a * N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -8e+95], t$95$1, If[LessEqual[y5, 1.56e+175], N[(b * N[(t * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{if}\;y5 \leq -8 \cdot 10^{+95}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y5 \leq 1.56 \cdot 10^{+175}:\\
\;\;\;\;b \cdot \left(t \cdot \left(j \cdot y4 - z \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y5 < -8.00000000000000016e95 or 1.55999999999999992e175 < y5 Initial program 30.4%
Taylor expanded in a around inf
*-lowering-*.f64N/A
associate--l+N/A
mul-1-negN/A
distribute-rgt-neg-inN/A
accelerator-lowering-fma.f64N/A
neg-lowering-neg.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
sub-negN/A
mul-1-negN/A
Simplified54.0%
Taylor expanded in y5 around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6456.1
Simplified56.1%
if -8.00000000000000016e95 < y5 < 1.55999999999999992e175Initial program 32.1%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6437.0
Simplified37.0%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6433.8
Simplified33.8%
Final simplification38.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* t (* j y4)))))
(if (<= j -1.22e+240)
t_1
(if (<= j -6.6e+18)
(* i (* j (* x y1)))
(if (<= j 4e+105) (* y0 (* b (* z k))) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (t * (j * y4));
double tmp;
if (j <= -1.22e+240) {
tmp = t_1;
} else if (j <= -6.6e+18) {
tmp = i * (j * (x * y1));
} else if (j <= 4e+105) {
tmp = y0 * (b * (z * k));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = b * (t * (j * y4))
if (j <= (-1.22d+240)) then
tmp = t_1
else if (j <= (-6.6d+18)) then
tmp = i * (j * (x * y1))
else if (j <= 4d+105) then
tmp = y0 * (b * (z * k))
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 c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (t * (j * y4));
double tmp;
if (j <= -1.22e+240) {
tmp = t_1;
} else if (j <= -6.6e+18) {
tmp = i * (j * (x * y1));
} else if (j <= 4e+105) {
tmp = y0 * (b * (z * k));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * (t * (j * y4)) tmp = 0 if j <= -1.22e+240: tmp = t_1 elif j <= -6.6e+18: tmp = i * (j * (x * y1)) elif j <= 4e+105: tmp = y0 * (b * (z * k)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(b * Float64(t * Float64(j * y4))) tmp = 0.0 if (j <= -1.22e+240) tmp = t_1; elseif (j <= -6.6e+18) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (j <= 4e+105) tmp = Float64(y0 * Float64(b * Float64(z * k))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = b * (t * (j * y4)); tmp = 0.0; if (j <= -1.22e+240) tmp = t_1; elseif (j <= -6.6e+18) tmp = i * (j * (x * y1)); elseif (j <= 4e+105) tmp = y0 * (b * (z * k)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(b * N[(t * N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.22e+240], t$95$1, If[LessEqual[j, -6.6e+18], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4e+105], N[(y0 * N[(b * N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(t \cdot \left(j \cdot y4\right)\right)\\
\mathbf{if}\;j \leq -1.22 \cdot 10^{+240}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -6.6 \cdot 10^{+18}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;j \leq 4 \cdot 10^{+105}:\\
\;\;\;\;y0 \cdot \left(b \cdot \left(z \cdot k\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.2200000000000001e240 or 3.9999999999999998e105 < j Initial program 16.9%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6442.0
Simplified42.0%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6449.2
Simplified49.2%
Taylor expanded in j around inf
*-lowering-*.f6452.4
Simplified52.4%
if -1.2200000000000001e240 < j < -6.6e18Initial program 30.9%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified43.5%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6451.0
Simplified51.0%
Taylor expanded in i around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6441.5
Simplified41.5%
if -6.6e18 < j < 3.9999999999999998e105Initial program 37.8%
Taylor expanded in z around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified46.8%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6434.9
Simplified34.9%
Taylor expanded in b around inf
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*l*N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6425.3
Simplified25.3%
Final simplification34.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y1 -8.5e-34) (* i (* j (* x y1))) (if (<= y1 3.5e-206) (* i (* k (* y y5))) (* b (* j (* t y4))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y1 <= -8.5e-34) {
tmp = i * (j * (x * y1));
} else if (y1 <= 3.5e-206) {
tmp = i * (k * (y * y5));
} else {
tmp = b * (j * (t * y4));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y1 <= (-8.5d-34)) then
tmp = i * (j * (x * y1))
else if (y1 <= 3.5d-206) then
tmp = i * (k * (y * y5))
else
tmp = b * (j * (t * y4))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y1 <= -8.5e-34) {
tmp = i * (j * (x * y1));
} else if (y1 <= 3.5e-206) {
tmp = i * (k * (y * y5));
} else {
tmp = b * (j * (t * y4));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y1 <= -8.5e-34: tmp = i * (j * (x * y1)) elif y1 <= 3.5e-206: tmp = i * (k * (y * y5)) else: tmp = b * (j * (t * y4)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y1 <= -8.5e-34) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (y1 <= 3.5e-206) tmp = Float64(i * Float64(k * Float64(y * y5))); else tmp = Float64(b * Float64(j * Float64(t * y4))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y1 <= -8.5e-34) tmp = i * (j * (x * y1)); elseif (y1 <= 3.5e-206) tmp = i * (k * (y * y5)); else tmp = b * (j * (t * y4)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y1, -8.5e-34], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 3.5e-206], N[(i * N[(k * N[(y * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(j * N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -8.5 \cdot 10^{-34}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;y1 \leq 3.5 \cdot 10^{-206}:\\
\;\;\;\;i \cdot \left(k \cdot \left(y \cdot y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(j \cdot \left(t \cdot y4\right)\right)\\
\end{array}
\end{array}
if y1 < -8.5000000000000001e-34Initial program 24.1%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified52.1%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6439.2
Simplified39.2%
Taylor expanded in i around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6439.0
Simplified39.0%
if -8.5000000000000001e-34 < y1 < 3.49999999999999989e-206Initial program 36.1%
Taylor expanded in i around -inf
mul-1-negN/A
*-commutativeN/A
distribute-rgt-neg-inN/A
neg-mul-1N/A
*-lowering-*.f64N/A
Simplified47.1%
Taylor expanded in k around -inf
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6428.4
Simplified28.4%
Taylor expanded in y around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6423.8
Simplified23.8%
if 3.49999999999999989e-206 < y1 Initial program 33.4%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6440.5
Simplified40.5%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6435.8
Simplified35.8%
Taylor expanded in j around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6429.5
Simplified29.5%
Final simplification30.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (let* ((t_1 (* b (* j (* t y4))))) (if (<= t -165000000.0) t_1 (if (<= t 1.7e+90) (* i (* j (* x y1))) t_1))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (j * (t * y4));
double tmp;
if (t <= -165000000.0) {
tmp = t_1;
} else if (t <= 1.7e+90) {
tmp = i * (j * (x * y1));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = b * (j * (t * y4))
if (t <= (-165000000.0d0)) then
tmp = t_1
else if (t <= 1.7d+90) then
tmp = i * (j * (x * y1))
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 c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (j * (t * y4));
double tmp;
if (t <= -165000000.0) {
tmp = t_1;
} else if (t <= 1.7e+90) {
tmp = i * (j * (x * y1));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * (j * (t * y4)) tmp = 0 if t <= -165000000.0: tmp = t_1 elif t <= 1.7e+90: tmp = i * (j * (x * y1)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(b * Float64(j * Float64(t * y4))) tmp = 0.0 if (t <= -165000000.0) tmp = t_1; elseif (t <= 1.7e+90) tmp = Float64(i * Float64(j * Float64(x * y1))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = b * (j * (t * y4)); tmp = 0.0; if (t <= -165000000.0) tmp = t_1; elseif (t <= 1.7e+90) tmp = i * (j * (x * y1)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(b * N[(j * N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -165000000.0], t$95$1, If[LessEqual[t, 1.7e+90], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(j \cdot \left(t \cdot y4\right)\right)\\
\mathbf{if}\;t \leq -165000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.7 \cdot 10^{+90}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -1.65e8 or 1.70000000000000009e90 < t Initial program 27.5%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6439.3
Simplified39.3%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6447.2
Simplified47.2%
Taylor expanded in j around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6432.8
Simplified32.8%
if -1.65e8 < t < 1.70000000000000009e90Initial program 35.6%
Taylor expanded in x around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
Simplified40.5%
Taylor expanded in j around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6426.6
Simplified26.6%
Taylor expanded in i around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6422.9
Simplified22.9%
Final simplification27.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* b (* t (* j y4))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return b * (t * (j * y4));
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = b * (t * (j * y4))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return b * (t * (j * y4));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return b * (t * (j * y4))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(b * Float64(t * Float64(j * y4))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = b * (t * (j * y4)); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(b * N[(t * N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
b \cdot \left(t \cdot \left(j \cdot y4\right)\right)
\end{array}
Initial program 31.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6434.5
Simplified34.5%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6432.0
Simplified32.0%
Taylor expanded in j around inf
*-lowering-*.f6419.8
Simplified19.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* b (* j (* t y4))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return b * (j * (t * y4));
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = b * (j * (t * y4))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return b * (j * (t * y4));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return b * (j * (t * y4))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(b * Float64(j * Float64(t * y4))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = b * (j * (t * y4)); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(b * N[(j * N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
b \cdot \left(j \cdot \left(t \cdot y4\right)\right)
\end{array}
Initial program 31.8%
Taylor expanded in b around inf
*-lowering-*.f64N/A
--lowering--.f64N/A
accelerator-lowering-fma.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-commutativeN/A
*-lowering-*.f6434.5
Simplified34.5%
Taylor expanded in t around inf
*-lowering-*.f64N/A
+-commutativeN/A
mul-1-negN/A
unsub-negN/A
--lowering--.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6432.0
Simplified32.0%
Taylor expanded in j around inf
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6419.1
Simplified19.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y4 c) (* y5 a)))
(t_2 (- (* x y2) (* z y3)))
(t_3 (- (* y2 t) (* y3 y)))
(t_4 (- (* k y2) (* j y3)))
(t_5 (- (* y4 b) (* y5 i)))
(t_6 (* (- (* j t) (* k y)) t_5))
(t_7 (- (* b a) (* i c)))
(t_8 (* t_7 (- (* y x) (* t z))))
(t_9 (- (* j x) (* k z)))
(t_10 (* (- (* b y0) (* i y1)) t_9))
(t_11 (* t_9 (- (* y0 b) (* i y1))))
(t_12 (- (* y4 y1) (* y5 y0)))
(t_13 (* t_4 t_12))
(t_14 (* (- (* y2 k) (* y3 j)) t_12))
(t_15
(+
(-
(-
(- (* (* k y) (* y5 i)) (* (* y b) (* y4 k)))
(* (* y5 t) (* i j)))
(- (* t_3 t_1) t_14))
(- t_8 (- t_11 (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))))
(t_16
(+
(+
(- t_6 (* (* y3 y) (- (* y5 a) (* y4 c))))
(+ (* (* y5 a) (* t y2)) t_13))
(-
(* t_2 (- (* c y0) (* a y1)))
(- t_10 (* (- (* y x) (* z t)) t_7)))))
(t_17 (- (* t y2) (* y y3))))
(if (< y4 -7.206256231996481e+60)
(- (- t_8 (- t_11 t_6)) (- (/ t_3 (/ 1.0 t_1)) t_14))
(if (< y4 -3.364603505246317e-66)
(+
(-
(- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x)))
t_10)
(-
(* (- (* y0 c) (* a y1)) t_2)
(- (* t_17 (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) t_4))))
(if (< y4 -1.2000065055686116e-105)
t_16
(if (< y4 6.718963124057495e-279)
t_15
(if (< y4 4.77962681403792e-222)
t_16
(if (< y4 2.2852241541266835e-175)
t_15
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(-
(* k (* i (* z y1)))
(+ (* j (* i (* x y1))) (* y0 (* k (* z b))))))
(-
(* z (* y3 (* a y1)))
(+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3))))))
(* (- (* t j) (* y k)) t_5))
(* t_17 t_1))
t_13)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y4 * c) - (y5 * a);
double t_2 = (x * y2) - (z * y3);
double t_3 = (y2 * t) - (y3 * y);
double t_4 = (k * y2) - (j * y3);
double t_5 = (y4 * b) - (y5 * i);
double t_6 = ((j * t) - (k * y)) * t_5;
double t_7 = (b * a) - (i * c);
double t_8 = t_7 * ((y * x) - (t * z));
double t_9 = (j * x) - (k * z);
double t_10 = ((b * y0) - (i * y1)) * t_9;
double t_11 = t_9 * ((y0 * b) - (i * y1));
double t_12 = (y4 * y1) - (y5 * y0);
double t_13 = t_4 * t_12;
double t_14 = ((y2 * k) - (y3 * j)) * t_12;
double t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))));
double t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)));
double t_17 = (t * y2) - (y * y3);
double tmp;
if (y4 < -7.206256231996481e+60) {
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14);
} else if (y4 < -3.364603505246317e-66) {
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)));
} else if (y4 < -1.2000065055686116e-105) {
tmp = t_16;
} else if (y4 < 6.718963124057495e-279) {
tmp = t_15;
} else if (y4 < 4.77962681403792e-222) {
tmp = t_16;
} else if (y4 < 2.2852241541266835e-175) {
tmp = t_15;
} else {
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
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), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_10
real(8) :: t_11
real(8) :: t_12
real(8) :: t_13
real(8) :: t_14
real(8) :: t_15
real(8) :: t_16
real(8) :: t_17
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: t_8
real(8) :: t_9
real(8) :: tmp
t_1 = (y4 * c) - (y5 * a)
t_2 = (x * y2) - (z * y3)
t_3 = (y2 * t) - (y3 * y)
t_4 = (k * y2) - (j * y3)
t_5 = (y4 * b) - (y5 * i)
t_6 = ((j * t) - (k * y)) * t_5
t_7 = (b * a) - (i * c)
t_8 = t_7 * ((y * x) - (t * z))
t_9 = (j * x) - (k * z)
t_10 = ((b * y0) - (i * y1)) * t_9
t_11 = t_9 * ((y0 * b) - (i * y1))
t_12 = (y4 * y1) - (y5 * y0)
t_13 = t_4 * t_12
t_14 = ((y2 * k) - (y3 * j)) * t_12
t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))))
t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)))
t_17 = (t * y2) - (y * y3)
if (y4 < (-7.206256231996481d+60)) then
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0d0 / t_1)) - t_14)
else if (y4 < (-3.364603505246317d-66)) then
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)))
else if (y4 < (-1.2000065055686116d-105)) then
tmp = t_16
else if (y4 < 6.718963124057495d-279) then
tmp = t_15
else if (y4 < 4.77962681403792d-222) then
tmp = t_16
else if (y4 < 2.2852241541266835d-175) then
tmp = t_15
else
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y4 * c) - (y5 * a);
double t_2 = (x * y2) - (z * y3);
double t_3 = (y2 * t) - (y3 * y);
double t_4 = (k * y2) - (j * y3);
double t_5 = (y4 * b) - (y5 * i);
double t_6 = ((j * t) - (k * y)) * t_5;
double t_7 = (b * a) - (i * c);
double t_8 = t_7 * ((y * x) - (t * z));
double t_9 = (j * x) - (k * z);
double t_10 = ((b * y0) - (i * y1)) * t_9;
double t_11 = t_9 * ((y0 * b) - (i * y1));
double t_12 = (y4 * y1) - (y5 * y0);
double t_13 = t_4 * t_12;
double t_14 = ((y2 * k) - (y3 * j)) * t_12;
double t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))));
double t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)));
double t_17 = (t * y2) - (y * y3);
double tmp;
if (y4 < -7.206256231996481e+60) {
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14);
} else if (y4 < -3.364603505246317e-66) {
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)));
} else if (y4 < -1.2000065055686116e-105) {
tmp = t_16;
} else if (y4 < 6.718963124057495e-279) {
tmp = t_15;
} else if (y4 < 4.77962681403792e-222) {
tmp = t_16;
} else if (y4 < 2.2852241541266835e-175) {
tmp = t_15;
} else {
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y4 * c) - (y5 * a) t_2 = (x * y2) - (z * y3) t_3 = (y2 * t) - (y3 * y) t_4 = (k * y2) - (j * y3) t_5 = (y4 * b) - (y5 * i) t_6 = ((j * t) - (k * y)) * t_5 t_7 = (b * a) - (i * c) t_8 = t_7 * ((y * x) - (t * z)) t_9 = (j * x) - (k * z) t_10 = ((b * y0) - (i * y1)) * t_9 t_11 = t_9 * ((y0 * b) - (i * y1)) t_12 = (y4 * y1) - (y5 * y0) t_13 = t_4 * t_12 t_14 = ((y2 * k) - (y3 * j)) * t_12 t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a))))) t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7))) t_17 = (t * y2) - (y * y3) tmp = 0 if y4 < -7.206256231996481e+60: tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14) elif y4 < -3.364603505246317e-66: tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4))) elif y4 < -1.2000065055686116e-105: tmp = t_16 elif y4 < 6.718963124057495e-279: tmp = t_15 elif y4 < 4.77962681403792e-222: tmp = t_16 elif y4 < 2.2852241541266835e-175: tmp = t_15 else: tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y4 * c) - Float64(y5 * a)) t_2 = Float64(Float64(x * y2) - Float64(z * y3)) t_3 = Float64(Float64(y2 * t) - Float64(y3 * y)) t_4 = Float64(Float64(k * y2) - Float64(j * y3)) t_5 = Float64(Float64(y4 * b) - Float64(y5 * i)) t_6 = Float64(Float64(Float64(j * t) - Float64(k * y)) * t_5) t_7 = Float64(Float64(b * a) - Float64(i * c)) t_8 = Float64(t_7 * Float64(Float64(y * x) - Float64(t * z))) t_9 = Float64(Float64(j * x) - Float64(k * z)) t_10 = Float64(Float64(Float64(b * y0) - Float64(i * y1)) * t_9) t_11 = Float64(t_9 * Float64(Float64(y0 * b) - Float64(i * y1))) t_12 = Float64(Float64(y4 * y1) - Float64(y5 * y0)) t_13 = Float64(t_4 * t_12) t_14 = Float64(Float64(Float64(y2 * k) - Float64(y3 * j)) * t_12) t_15 = Float64(Float64(Float64(Float64(Float64(Float64(k * y) * Float64(y5 * i)) - Float64(Float64(y * b) * Float64(y4 * k))) - Float64(Float64(y5 * t) * Float64(i * j))) - Float64(Float64(t_3 * t_1) - t_14)) + Float64(t_8 - Float64(t_11 - Float64(Float64(Float64(y2 * x) - Float64(y3 * z)) * Float64(Float64(c * y0) - Float64(y1 * a)))))) t_16 = Float64(Float64(Float64(t_6 - Float64(Float64(y3 * y) * Float64(Float64(y5 * a) - Float64(y4 * c)))) + Float64(Float64(Float64(y5 * a) * Float64(t * y2)) + t_13)) + Float64(Float64(t_2 * Float64(Float64(c * y0) - Float64(a * y1))) - Float64(t_10 - Float64(Float64(Float64(y * x) - Float64(z * t)) * t_7)))) t_17 = Float64(Float64(t * y2) - Float64(y * y3)) tmp = 0.0 if (y4 < -7.206256231996481e+60) tmp = Float64(Float64(t_8 - Float64(t_11 - t_6)) - Float64(Float64(t_3 / Float64(1.0 / t_1)) - t_14)); elseif (y4 < -3.364603505246317e-66) tmp = Float64(Float64(Float64(Float64(Float64(Float64(t * c) * Float64(i * z)) - Float64(Float64(a * t) * Float64(b * z))) - Float64(Float64(y * c) * Float64(i * x))) - t_10) + Float64(Float64(Float64(Float64(y0 * c) - Float64(a * y1)) * t_2) - Float64(Float64(t_17 * Float64(Float64(y4 * c) - Float64(a * y5))) - Float64(Float64(Float64(y1 * y4) - Float64(y5 * y0)) * t_4)))); elseif (y4 < -1.2000065055686116e-105) tmp = t_16; elseif (y4 < 6.718963124057495e-279) tmp = t_15; elseif (y4 < 4.77962681403792e-222) tmp = t_16; elseif (y4 < 2.2852241541266835e-175) tmp = t_15; else tmp = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(k * Float64(i * Float64(z * y1))) - Float64(Float64(j * Float64(i * Float64(x * y1))) + Float64(y0 * Float64(k * Float64(z * b)))))) + Float64(Float64(z * Float64(y3 * Float64(a * y1))) - Float64(Float64(y2 * Float64(x * Float64(a * y1))) + Float64(y0 * Float64(z * Float64(c * y3)))))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * t_5)) - Float64(t_17 * t_1)) + t_13); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y4 * c) - (y5 * a); t_2 = (x * y2) - (z * y3); t_3 = (y2 * t) - (y3 * y); t_4 = (k * y2) - (j * y3); t_5 = (y4 * b) - (y5 * i); t_6 = ((j * t) - (k * y)) * t_5; t_7 = (b * a) - (i * c); t_8 = t_7 * ((y * x) - (t * z)); t_9 = (j * x) - (k * z); t_10 = ((b * y0) - (i * y1)) * t_9; t_11 = t_9 * ((y0 * b) - (i * y1)); t_12 = (y4 * y1) - (y5 * y0); t_13 = t_4 * t_12; t_14 = ((y2 * k) - (y3 * j)) * t_12; t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a))))); t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7))); t_17 = (t * y2) - (y * y3); tmp = 0.0; if (y4 < -7.206256231996481e+60) tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14); elseif (y4 < -3.364603505246317e-66) tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4))); elseif (y4 < -1.2000065055686116e-105) tmp = t_16; elseif (y4 < 6.718963124057495e-279) tmp = t_15; elseif (y4 < 4.77962681403792e-222) tmp = t_16; elseif (y4 < 2.2852241541266835e-175) tmp = t_15; else tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y2 * t), $MachinePrecision] - N[(y3 * y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(N[(j * t), $MachinePrecision] - N[(k * y), $MachinePrecision]), $MachinePrecision] * t$95$5), $MachinePrecision]}, Block[{t$95$7 = N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(t$95$7 * N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$9 = N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$10 = N[(N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision] * t$95$9), $MachinePrecision]}, Block[{t$95$11 = N[(t$95$9 * N[(N[(y0 * b), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$12 = N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$13 = N[(t$95$4 * t$95$12), $MachinePrecision]}, Block[{t$95$14 = N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * t$95$12), $MachinePrecision]}, Block[{t$95$15 = N[(N[(N[(N[(N[(N[(k * y), $MachinePrecision] * N[(y5 * i), $MachinePrecision]), $MachinePrecision] - N[(N[(y * b), $MachinePrecision] * N[(y4 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y5 * t), $MachinePrecision] * N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$3 * t$95$1), $MachinePrecision] - t$95$14), $MachinePrecision]), $MachinePrecision] + N[(t$95$8 - N[(t$95$11 - N[(N[(N[(y2 * x), $MachinePrecision] - N[(y3 * z), $MachinePrecision]), $MachinePrecision] * N[(N[(c * y0), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$16 = N[(N[(N[(t$95$6 - N[(N[(y3 * y), $MachinePrecision] * N[(N[(y5 * a), $MachinePrecision] - N[(y4 * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y5 * a), $MachinePrecision] * N[(t * y2), $MachinePrecision]), $MachinePrecision] + t$95$13), $MachinePrecision]), $MachinePrecision] + N[(N[(t$95$2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t$95$10 - N[(N[(N[(y * x), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * t$95$7), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$17 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, If[Less[y4, -7.206256231996481e+60], N[(N[(t$95$8 - N[(t$95$11 - t$95$6), $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$3 / N[(1.0 / t$95$1), $MachinePrecision]), $MachinePrecision] - t$95$14), $MachinePrecision]), $MachinePrecision], If[Less[y4, -3.364603505246317e-66], N[(N[(N[(N[(N[(N[(t * c), $MachinePrecision] * N[(i * z), $MachinePrecision]), $MachinePrecision] - N[(N[(a * t), $MachinePrecision] * N[(b * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y * c), $MachinePrecision] * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$10), $MachinePrecision] + N[(N[(N[(N[(y0 * c), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision] * t$95$2), $MachinePrecision] - N[(N[(t$95$17 * N[(N[(y4 * c), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(y1 * y4), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision] * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Less[y4, -1.2000065055686116e-105], t$95$16, If[Less[y4, 6.718963124057495e-279], t$95$15, If[Less[y4, 4.77962681403792e-222], t$95$16, If[Less[y4, 2.2852241541266835e-175], t$95$15, N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(k * N[(i * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * N[(i * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(k * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z * N[(y3 * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y2 * N[(x * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(z * N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * t$95$5), $MachinePrecision]), $MachinePrecision] - N[(t$95$17 * t$95$1), $MachinePrecision]), $MachinePrecision] + t$95$13), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot c - y5 \cdot a\\
t_2 := x \cdot y2 - z \cdot y3\\
t_3 := y2 \cdot t - y3 \cdot y\\
t_4 := k \cdot y2 - j \cdot y3\\
t_5 := y4 \cdot b - y5 \cdot i\\
t_6 := \left(j \cdot t - k \cdot y\right) \cdot t\_5\\
t_7 := b \cdot a - i \cdot c\\
t_8 := t\_7 \cdot \left(y \cdot x - t \cdot z\right)\\
t_9 := j \cdot x - k \cdot z\\
t_10 := \left(b \cdot y0 - i \cdot y1\right) \cdot t\_9\\
t_11 := t\_9 \cdot \left(y0 \cdot b - i \cdot y1\right)\\
t_12 := y4 \cdot y1 - y5 \cdot y0\\
t_13 := t\_4 \cdot t\_12\\
t_14 := \left(y2 \cdot k - y3 \cdot j\right) \cdot t\_12\\
t_15 := \left(\left(\left(\left(k \cdot y\right) \cdot \left(y5 \cdot i\right) - \left(y \cdot b\right) \cdot \left(y4 \cdot k\right)\right) - \left(y5 \cdot t\right) \cdot \left(i \cdot j\right)\right) - \left(t\_3 \cdot t\_1 - t\_14\right)\right) + \left(t\_8 - \left(t\_11 - \left(y2 \cdot x - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right)\right)\\
t_16 := \left(\left(t\_6 - \left(y3 \cdot y\right) \cdot \left(y5 \cdot a - y4 \cdot c\right)\right) + \left(\left(y5 \cdot a\right) \cdot \left(t \cdot y2\right) + t\_13\right)\right) + \left(t\_2 \cdot \left(c \cdot y0 - a \cdot y1\right) - \left(t\_10 - \left(y \cdot x - z \cdot t\right) \cdot t\_7\right)\right)\\
t_17 := t \cdot y2 - y \cdot y3\\
\mathbf{if}\;y4 < -7.206256231996481 \cdot 10^{+60}:\\
\;\;\;\;\left(t\_8 - \left(t\_11 - t\_6\right)\right) - \left(\frac{t\_3}{\frac{1}{t\_1}} - t\_14\right)\\
\mathbf{elif}\;y4 < -3.364603505246317 \cdot 10^{-66}:\\
\;\;\;\;\left(\left(\left(\left(t \cdot c\right) \cdot \left(i \cdot z\right) - \left(a \cdot t\right) \cdot \left(b \cdot z\right)\right) - \left(y \cdot c\right) \cdot \left(i \cdot x\right)\right) - t\_10\right) + \left(\left(y0 \cdot c - a \cdot y1\right) \cdot t\_2 - \left(t\_17 \cdot \left(y4 \cdot c - a \cdot y5\right) - \left(y1 \cdot y4 - y5 \cdot y0\right) \cdot t\_4\right)\right)\\
\mathbf{elif}\;y4 < -1.2000065055686116 \cdot 10^{-105}:\\
\;\;\;\;t\_16\\
\mathbf{elif}\;y4 < 6.718963124057495 \cdot 10^{-279}:\\
\;\;\;\;t\_15\\
\mathbf{elif}\;y4 < 4.77962681403792 \cdot 10^{-222}:\\
\;\;\;\;t\_16\\
\mathbf{elif}\;y4 < 2.2852241541266835 \cdot 10^{-175}:\\
\;\;\;\;t\_15\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(j \cdot \left(i \cdot \left(x \cdot y1\right)\right) + y0 \cdot \left(k \cdot \left(z \cdot b\right)\right)\right)\right)\right) + \left(z \cdot \left(y3 \cdot \left(a \cdot y1\right)\right) - \left(y2 \cdot \left(x \cdot \left(a \cdot y1\right)\right) + y0 \cdot \left(z \cdot \left(c \cdot y3\right)\right)\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot t\_5\right) - t\_17 \cdot t\_1\right) + t\_13\\
\end{array}
\end{array}
herbie shell --seed 2024196
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:name "Linear.Matrix:det44 from linear-1.19.1.3"
:precision binary64
:alt
(! :herbie-platform default (if (< y4 -7206256231996481000000000000000000000000000000000000000000000) (- (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))))) (- (/ (- (* y2 t) (* y3 y)) (/ 1 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3364603505246317/1000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (- (- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x))) (* (- (* b y0) (* i y1)) (- (* j x) (* k z)))) (- (* (- (* y0 c) (* a y1)) (- (* x y2) (* z y3))) (- (* (- (* t y2) (* y y3)) (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) (- (* k y2) (* j y3)))))) (if (< y4 -3000016263921529/2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 1343792624811499/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (if (< y4 29872667587737/6250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 4570448308253367/20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (- (* k (* i (* z y1))) (+ (* j (* i (* x y1))) (* y0 (* k (* z b)))))) (- (* z (* y3 (* a y1))) (+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3)))))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))))))))
(+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))