
(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 34 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 (* y5 (- (* y k) (* t j))))
(t_2 (* (- (* y3 y4) (* x i)) (* y c)))
(t_3 (- (* x j) (* z k)))
(t_4 (- (* b y4) (* i y5)))
(t_5 (+ (* y4 (- (* k y2) (* j y3))) (* a (- (* z y3) (* x y2)))))
(t_6 (- (* i y1) (* b y0)))
(t_7 (* j (+ (+ (* y3 (- (* y0 y5) (* y1 y4))) (* t t_4)) (* x t_6))))
(t_8 (- (* a b) (* c i)))
(t_9 (* x (+ (+ (* y t_8) (* y2 (- (* c y0) (* a y1)))) (* j t_6)))))
(if (<= y1 -1.35e+99)
(* y1 (+ (* i t_3) t_5))
(if (<= y1 -2.25e+17)
t_7
(if (<= y1 -5.6e-83)
t_2
(if (<= y1 -4.5e-170)
(* i (+ (* y1 t_3) (+ t_1 (* c (- (* z t) (* x y))))))
(if (<= y1 -3.4e-199)
(* (* x y) t_8)
(if (<= y1 -5.6e-298)
(*
t
(+
(+ (* z (- (* c i) (* a b))) (* j t_4))
(* y2 (- (* a y5) (* c y4)))))
(if (<= y1 1.6e-274)
t_2
(if (<= y1 4.2e-215)
(* a (* b (- (* x y) (* z t))))
(if (<= y1 4.3e-143)
(* i t_1)
(if (<= y1 2.7e-96)
t_9
(if (<= y1 3.4e-91)
(*
y0
(+
(+
(* c (- (* x y2) (* z y3)))
(* y5 (- (* j y3) (* k y2))))
(* b (- (* z k) (* x j)))))
(if (<= y1 5.6e+105)
t_9
(if (<= y1 1.06e+194) t_7 (* y1 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 = y5 * ((y * k) - (t * j));
double t_2 = ((y3 * y4) - (x * i)) * (y * c);
double t_3 = (x * j) - (z * k);
double t_4 = (b * y4) - (i * y5);
double t_5 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)));
double t_6 = (i * y1) - (b * y0);
double t_7 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * t_4)) + (x * t_6));
double t_8 = (a * b) - (c * i);
double t_9 = x * (((y * t_8) + (y2 * ((c * y0) - (a * y1)))) + (j * t_6));
double tmp;
if (y1 <= -1.35e+99) {
tmp = y1 * ((i * t_3) + t_5);
} else if (y1 <= -2.25e+17) {
tmp = t_7;
} else if (y1 <= -5.6e-83) {
tmp = t_2;
} else if (y1 <= -4.5e-170) {
tmp = i * ((y1 * t_3) + (t_1 + (c * ((z * t) - (x * y)))));
} else if (y1 <= -3.4e-199) {
tmp = (x * y) * t_8;
} else if (y1 <= -5.6e-298) {
tmp = t * (((z * ((c * i) - (a * b))) + (j * t_4)) + (y2 * ((a * y5) - (c * y4))));
} else if (y1 <= 1.6e-274) {
tmp = t_2;
} else if (y1 <= 4.2e-215) {
tmp = a * (b * ((x * y) - (z * t)));
} else if (y1 <= 4.3e-143) {
tmp = i * t_1;
} else if (y1 <= 2.7e-96) {
tmp = t_9;
} else if (y1 <= 3.4e-91) {
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * ((z * k) - (x * j))));
} else if (y1 <= 5.6e+105) {
tmp = t_9;
} else if (y1 <= 1.06e+194) {
tmp = t_7;
} else {
tmp = y1 * t_5;
}
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_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 = y5 * ((y * k) - (t * j))
t_2 = ((y3 * y4) - (x * i)) * (y * c)
t_3 = (x * j) - (z * k)
t_4 = (b * y4) - (i * y5)
t_5 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))
t_6 = (i * y1) - (b * y0)
t_7 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * t_4)) + (x * t_6))
t_8 = (a * b) - (c * i)
t_9 = x * (((y * t_8) + (y2 * ((c * y0) - (a * y1)))) + (j * t_6))
if (y1 <= (-1.35d+99)) then
tmp = y1 * ((i * t_3) + t_5)
else if (y1 <= (-2.25d+17)) then
tmp = t_7
else if (y1 <= (-5.6d-83)) then
tmp = t_2
else if (y1 <= (-4.5d-170)) then
tmp = i * ((y1 * t_3) + (t_1 + (c * ((z * t) - (x * y)))))
else if (y1 <= (-3.4d-199)) then
tmp = (x * y) * t_8
else if (y1 <= (-5.6d-298)) then
tmp = t * (((z * ((c * i) - (a * b))) + (j * t_4)) + (y2 * ((a * y5) - (c * y4))))
else if (y1 <= 1.6d-274) then
tmp = t_2
else if (y1 <= 4.2d-215) then
tmp = a * (b * ((x * y) - (z * t)))
else if (y1 <= 4.3d-143) then
tmp = i * t_1
else if (y1 <= 2.7d-96) then
tmp = t_9
else if (y1 <= 3.4d-91) then
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * ((z * k) - (x * j))))
else if (y1 <= 5.6d+105) then
tmp = t_9
else if (y1 <= 1.06d+194) then
tmp = t_7
else
tmp = y1 * t_5
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 = y5 * ((y * k) - (t * j));
double t_2 = ((y3 * y4) - (x * i)) * (y * c);
double t_3 = (x * j) - (z * k);
double t_4 = (b * y4) - (i * y5);
double t_5 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)));
double t_6 = (i * y1) - (b * y0);
double t_7 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * t_4)) + (x * t_6));
double t_8 = (a * b) - (c * i);
double t_9 = x * (((y * t_8) + (y2 * ((c * y0) - (a * y1)))) + (j * t_6));
double tmp;
if (y1 <= -1.35e+99) {
tmp = y1 * ((i * t_3) + t_5);
} else if (y1 <= -2.25e+17) {
tmp = t_7;
} else if (y1 <= -5.6e-83) {
tmp = t_2;
} else if (y1 <= -4.5e-170) {
tmp = i * ((y1 * t_3) + (t_1 + (c * ((z * t) - (x * y)))));
} else if (y1 <= -3.4e-199) {
tmp = (x * y) * t_8;
} else if (y1 <= -5.6e-298) {
tmp = t * (((z * ((c * i) - (a * b))) + (j * t_4)) + (y2 * ((a * y5) - (c * y4))));
} else if (y1 <= 1.6e-274) {
tmp = t_2;
} else if (y1 <= 4.2e-215) {
tmp = a * (b * ((x * y) - (z * t)));
} else if (y1 <= 4.3e-143) {
tmp = i * t_1;
} else if (y1 <= 2.7e-96) {
tmp = t_9;
} else if (y1 <= 3.4e-91) {
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * ((z * k) - (x * j))));
} else if (y1 <= 5.6e+105) {
tmp = t_9;
} else if (y1 <= 1.06e+194) {
tmp = t_7;
} else {
tmp = y1 * t_5;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y5 * ((y * k) - (t * j)) t_2 = ((y3 * y4) - (x * i)) * (y * c) t_3 = (x * j) - (z * k) t_4 = (b * y4) - (i * y5) t_5 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))) t_6 = (i * y1) - (b * y0) t_7 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * t_4)) + (x * t_6)) t_8 = (a * b) - (c * i) t_9 = x * (((y * t_8) + (y2 * ((c * y0) - (a * y1)))) + (j * t_6)) tmp = 0 if y1 <= -1.35e+99: tmp = y1 * ((i * t_3) + t_5) elif y1 <= -2.25e+17: tmp = t_7 elif y1 <= -5.6e-83: tmp = t_2 elif y1 <= -4.5e-170: tmp = i * ((y1 * t_3) + (t_1 + (c * ((z * t) - (x * y))))) elif y1 <= -3.4e-199: tmp = (x * y) * t_8 elif y1 <= -5.6e-298: tmp = t * (((z * ((c * i) - (a * b))) + (j * t_4)) + (y2 * ((a * y5) - (c * y4)))) elif y1 <= 1.6e-274: tmp = t_2 elif y1 <= 4.2e-215: tmp = a * (b * ((x * y) - (z * t))) elif y1 <= 4.3e-143: tmp = i * t_1 elif y1 <= 2.7e-96: tmp = t_9 elif y1 <= 3.4e-91: tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * ((z * k) - (x * j)))) elif y1 <= 5.6e+105: tmp = t_9 elif y1 <= 1.06e+194: tmp = t_7 else: tmp = y1 * t_5 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(Float64(y * k) - Float64(t * j))) t_2 = Float64(Float64(Float64(y3 * y4) - Float64(x * i)) * Float64(y * c)) t_3 = Float64(Float64(x * j) - Float64(z * k)) t_4 = Float64(Float64(b * y4) - Float64(i * y5)) t_5 = Float64(Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3))) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2)))) t_6 = Float64(Float64(i * y1) - Float64(b * y0)) t_7 = Float64(j * Float64(Float64(Float64(y3 * Float64(Float64(y0 * y5) - Float64(y1 * y4))) + Float64(t * t_4)) + Float64(x * t_6))) t_8 = Float64(Float64(a * b) - Float64(c * i)) t_9 = Float64(x * Float64(Float64(Float64(y * t_8) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * t_6))) tmp = 0.0 if (y1 <= -1.35e+99) tmp = Float64(y1 * Float64(Float64(i * t_3) + t_5)); elseif (y1 <= -2.25e+17) tmp = t_7; elseif (y1 <= -5.6e-83) tmp = t_2; elseif (y1 <= -4.5e-170) tmp = Float64(i * Float64(Float64(y1 * t_3) + Float64(t_1 + Float64(c * Float64(Float64(z * t) - Float64(x * y)))))); elseif (y1 <= -3.4e-199) tmp = Float64(Float64(x * y) * t_8); elseif (y1 <= -5.6e-298) tmp = Float64(t * Float64(Float64(Float64(z * Float64(Float64(c * i) - Float64(a * b))) + Float64(j * t_4)) + Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y1 <= 1.6e-274) tmp = t_2; elseif (y1 <= 4.2e-215) tmp = Float64(a * Float64(b * Float64(Float64(x * y) - Float64(z * t)))); elseif (y1 <= 4.3e-143) tmp = Float64(i * t_1); elseif (y1 <= 2.7e-96) tmp = t_9; elseif (y1 <= 3.4e-91) tmp = Float64(y0 * Float64(Float64(Float64(c * Float64(Float64(x * y2) - Float64(z * y3))) + Float64(y5 * Float64(Float64(j * y3) - Float64(k * y2)))) + Float64(b * Float64(Float64(z * k) - Float64(x * j))))); elseif (y1 <= 5.6e+105) tmp = t_9; elseif (y1 <= 1.06e+194) tmp = t_7; else tmp = Float64(y1 * t_5); 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 = y5 * ((y * k) - (t * j)); t_2 = ((y3 * y4) - (x * i)) * (y * c); t_3 = (x * j) - (z * k); t_4 = (b * y4) - (i * y5); t_5 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))); t_6 = (i * y1) - (b * y0); t_7 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * t_4)) + (x * t_6)); t_8 = (a * b) - (c * i); t_9 = x * (((y * t_8) + (y2 * ((c * y0) - (a * y1)))) + (j * t_6)); tmp = 0.0; if (y1 <= -1.35e+99) tmp = y1 * ((i * t_3) + t_5); elseif (y1 <= -2.25e+17) tmp = t_7; elseif (y1 <= -5.6e-83) tmp = t_2; elseif (y1 <= -4.5e-170) tmp = i * ((y1 * t_3) + (t_1 + (c * ((z * t) - (x * y))))); elseif (y1 <= -3.4e-199) tmp = (x * y) * t_8; elseif (y1 <= -5.6e-298) tmp = t * (((z * ((c * i) - (a * b))) + (j * t_4)) + (y2 * ((a * y5) - (c * y4)))); elseif (y1 <= 1.6e-274) tmp = t_2; elseif (y1 <= 4.2e-215) tmp = a * (b * ((x * y) - (z * t))); elseif (y1 <= 4.3e-143) tmp = i * t_1; elseif (y1 <= 2.7e-96) tmp = t_9; elseif (y1 <= 3.4e-91) tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * ((z * k) - (x * j)))); elseif (y1 <= 5.6e+105) tmp = t_9; elseif (y1 <= 1.06e+194) tmp = t_7; else tmp = y1 * t_5; 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[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(y3 * y4), $MachinePrecision] - N[(x * i), $MachinePrecision]), $MachinePrecision] * N[(y * c), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(j * N[(N[(N[(y3 * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$4), $MachinePrecision]), $MachinePrecision] + N[(x * t$95$6), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$9 = N[(x * N[(N[(N[(y * t$95$8), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * t$95$6), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -1.35e+99], N[(y1 * N[(N[(i * t$95$3), $MachinePrecision] + t$95$5), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -2.25e+17], t$95$7, If[LessEqual[y1, -5.6e-83], t$95$2, If[LessEqual[y1, -4.5e-170], N[(i * N[(N[(y1 * t$95$3), $MachinePrecision] + N[(t$95$1 + N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -3.4e-199], N[(N[(x * y), $MachinePrecision] * t$95$8), $MachinePrecision], If[LessEqual[y1, -5.6e-298], N[(t * N[(N[(N[(z * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * t$95$4), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 1.6e-274], t$95$2, If[LessEqual[y1, 4.2e-215], N[(a * N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 4.3e-143], N[(i * t$95$1), $MachinePrecision], If[LessEqual[y1, 2.7e-96], t$95$9, If[LessEqual[y1, 3.4e-91], N[(y0 * N[(N[(N[(c * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y5 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 5.6e+105], t$95$9, If[LessEqual[y1, 1.06e+194], t$95$7, N[(y1 * t$95$5), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y5 \cdot \left(y \cdot k - t \cdot j\right)\\
t_2 := \left(y3 \cdot y4 - x \cdot i\right) \cdot \left(y \cdot c\right)\\
t_3 := x \cdot j - z \cdot k\\
t_4 := b \cdot y4 - i \cdot y5\\
t_5 := y4 \cdot \left(k \cdot y2 - j \cdot y3\right) + a \cdot \left(z \cdot y3 - x \cdot y2\right)\\
t_6 := i \cdot y1 - b \cdot y0\\
t_7 := j \cdot \left(\left(y3 \cdot \left(y0 \cdot y5 - y1 \cdot y4\right) + t \cdot t_4\right) + x \cdot t_6\right)\\
t_8 := a \cdot b - c \cdot i\\
t_9 := x \cdot \left(\left(y \cdot t_8 + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot t_6\right)\\
\mathbf{if}\;y1 \leq -1.35 \cdot 10^{+99}:\\
\;\;\;\;y1 \cdot \left(i \cdot t_3 + t_5\right)\\
\mathbf{elif}\;y1 \leq -2.25 \cdot 10^{+17}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y1 \leq -5.6 \cdot 10^{-83}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y1 \leq -4.5 \cdot 10^{-170}:\\
\;\;\;\;i \cdot \left(y1 \cdot t_3 + \left(t_1 + c \cdot \left(z \cdot t - x \cdot y\right)\right)\right)\\
\mathbf{elif}\;y1 \leq -3.4 \cdot 10^{-199}:\\
\;\;\;\;\left(x \cdot y\right) \cdot t_8\\
\mathbf{elif}\;y1 \leq -5.6 \cdot 10^{-298}:\\
\;\;\;\;t \cdot \left(\left(z \cdot \left(c \cdot i - a \cdot b\right) + j \cdot t_4\right) + y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y1 \leq 1.6 \cdot 10^{-274}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y1 \leq 4.2 \cdot 10^{-215}:\\
\;\;\;\;a \cdot \left(b \cdot \left(x \cdot y - z \cdot t\right)\right)\\
\mathbf{elif}\;y1 \leq 4.3 \cdot 10^{-143}:\\
\;\;\;\;i \cdot t_1\\
\mathbf{elif}\;y1 \leq 2.7 \cdot 10^{-96}:\\
\;\;\;\;t_9\\
\mathbf{elif}\;y1 \leq 3.4 \cdot 10^{-91}:\\
\;\;\;\;y0 \cdot \left(\left(c \cdot \left(x \cdot y2 - z \cdot y3\right) + y5 \cdot \left(j \cdot y3 - k \cdot y2\right)\right) + b \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y1 \leq 5.6 \cdot 10^{+105}:\\
\;\;\;\;t_9\\
\mathbf{elif}\;y1 \leq 1.06 \cdot 10^{+194}:\\
\;\;\;\;t_7\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot t_5\\
\end{array}
\end{array}
if y1 < -1.34999999999999994e99Initial program 30.7%
Taylor expanded in y1 around -inf 67.6%
mul-1-neg67.6%
*-commutative67.6%
distribute-rgt-neg-in67.6%
Simplified67.6%
if -1.34999999999999994e99 < y1 < -2.25e17 or 5.6000000000000003e105 < y1 < 1.0599999999999999e194Initial program 30.5%
Taylor expanded in j around inf 69.7%
if -2.25e17 < y1 < -5.6000000000000002e-83 or -5.59999999999999985e-298 < y1 < 1.59999999999999989e-274Initial program 27.2%
Taylor expanded in c around inf 58.3%
+-commutative58.3%
mul-1-neg58.3%
unsub-neg58.3%
*-commutative58.3%
*-commutative58.3%
*-commutative58.3%
*-commutative58.3%
Simplified58.3%
Taylor expanded in y around -inf 69.8%
*-commutative69.8%
*-commutative69.8%
associate-*l*69.8%
+-commutative69.8%
mul-1-neg69.8%
unsub-neg69.8%
*-commutative69.8%
Simplified69.8%
if -5.6000000000000002e-83 < y1 < -4.50000000000000002e-170Initial program 35.7%
Taylor expanded in i around -inf 64.7%
if -4.50000000000000002e-170 < y1 < -3.40000000000000006e-199Initial program 40.0%
Taylor expanded in x around inf 79.7%
Taylor expanded in y around inf 99.7%
associate-*r*100.0%
Simplified100.0%
if -3.40000000000000006e-199 < y1 < -5.59999999999999985e-298Initial program 64.5%
Taylor expanded in t around inf 76.9%
if 1.59999999999999989e-274 < y1 < 4.2e-215Initial program 12.5%
Taylor expanded in b around inf 62.5%
Taylor expanded in a around inf 76.1%
if 4.2e-215 < y1 < 4.29999999999999956e-143Initial program 12.5%
Taylor expanded in i around -inf 62.7%
Taylor expanded in y5 around inf 75.2%
if 4.29999999999999956e-143 < y1 < 2.7e-96 or 3.40000000000000027e-91 < y1 < 5.6000000000000003e105Initial program 26.9%
Taylor expanded in x around inf 59.7%
if 2.7e-96 < y1 < 3.40000000000000027e-91Initial program 0.0%
Taylor expanded in y0 around inf 100.0%
+-commutative100.0%
mul-1-neg100.0%
unsub-neg100.0%
*-commutative100.0%
*-commutative100.0%
*-commutative100.0%
*-commutative100.0%
Simplified100.0%
if 1.0599999999999999e194 < y1 Initial program 20.8%
Taylor expanded in y1 around -inf 50.3%
mul-1-neg50.3%
*-commutative50.3%
distribute-rgt-neg-in50.3%
Simplified50.3%
Taylor expanded in i around 0 59.1%
associate-*r*59.1%
neg-mul-159.1%
sub-neg59.1%
*-commutative59.1%
sub-neg59.1%
*-commutative59.1%
Simplified59.1%
Final simplification67.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* b y4) (* i y5)))
(t_2 (- (* y0 y5) (* y1 y4)))
(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 (- (* t j) (* y k))))
(* (- (* c y4) (* a y5)) (- (* y y3) (* t y2))))
(* (- (* j y3) (* k y2)) t_2))))
(if (<= t_3 INFINITY)
t_3
(* j (+ (+ (* y3 t_2) (* t t_1)) (* x (- (* i y1) (* b 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) {
double t_1 = (b * y4) - (i * y5);
double t_2 = (y0 * y5) - (y1 * y4);
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 * ((t * j) - (y * k)))) + (((c * y4) - (a * y5)) * ((y * y3) - (t * y2)))) + (((j * y3) - (k * y2)) * t_2);
double tmp;
if (t_3 <= ((double) INFINITY)) {
tmp = t_3;
} else {
tmp = j * (((y3 * t_2) + (t * t_1)) + (x * ((i * y1) - (b * y0))));
}
return tmp;
}
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 * y4) - (i * y5);
double t_2 = (y0 * y5) - (y1 * y4);
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 * ((t * j) - (y * k)))) + (((c * y4) - (a * y5)) * ((y * y3) - (t * y2)))) + (((j * y3) - (k * y2)) * t_2);
double tmp;
if (t_3 <= Double.POSITIVE_INFINITY) {
tmp = t_3;
} else {
tmp = j * (((y3 * t_2) + (t * t_1)) + (x * ((i * y1) - (b * y0))));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (b * y4) - (i * y5) t_2 = (y0 * y5) - (y1 * y4) 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 * ((t * j) - (y * k)))) + (((c * y4) - (a * y5)) * ((y * y3) - (t * y2)))) + (((j * y3) - (k * y2)) * t_2) tmp = 0 if t_3 <= math.inf: tmp = t_3 else: tmp = j * (((y3 * t_2) + (t * t_1)) + (x * ((i * y1) - (b * y0)))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(b * y4) - Float64(i * y5)) t_2 = Float64(Float64(y0 * y5) - Float64(y1 * y4)) 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(t * j) - Float64(y * k)))) + Float64(Float64(Float64(c * y4) - Float64(a * y5)) * Float64(Float64(y * y3) - Float64(t * y2)))) + Float64(Float64(Float64(j * y3) - Float64(k * y2)) * t_2)) tmp = 0.0 if (t_3 <= Inf) tmp = t_3; else tmp = Float64(j * Float64(Float64(Float64(y3 * t_2) + Float64(t * t_1)) + Float64(x * Float64(Float64(i * y1) - Float64(b * y0))))); 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 * y4) - (i * y5); t_2 = (y0 * y5) - (y1 * y4); 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 * ((t * j) - (y * k)))) + (((c * y4) - (a * y5)) * ((y * y3) - (t * y2)))) + (((j * y3) - (k * y2)) * t_2); tmp = 0.0; if (t_3 <= Inf) tmp = t_3; else tmp = j * (((y3 * t_2) + (t * t_1)) + (x * ((i * y1) - (b * y0)))); 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[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $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[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision] * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$3, Infinity], t$95$3, N[(j * N[(N[(N[(y3 * t$95$2), $MachinePrecision] + N[(t * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot y4 - i \cdot y5\\
t_2 := y0 \cdot y5 - y1 \cdot y4\\
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(t \cdot j - y \cdot k\right)\right) + \left(c \cdot y4 - a \cdot y5\right) \cdot \left(y \cdot y3 - t \cdot y2\right)\right) + \left(j \cdot y3 - k \cdot y2\right) \cdot t_2\\
\mathbf{if}\;t_3 \leq \infty:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(\left(y3 \cdot t_2 + t \cdot t_1\right) + x \cdot \left(i \cdot y1 - b \cdot y0\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 92.9%
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 j around inf 42.4%
Final simplification58.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* z t) (* x y)))
(t_2 (* z (+ (* t (- (* c i) (* a b))) (* y3 (- (* a y1) (* c y0))))))
(t_3 (- (* y y3) (* t y2)))
(t_4 (- (* c y0) (* a y1)))
(t_5 (- (* a y5) (* c y4)))
(t_6
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 t_4))
(* j (- (* i y1) (* b y0))))))
(t_7 (- (* y k) (* t j))))
(if (<= z -6e+80)
t_2
(if (<= z 1.05e-178)
t_6
(if (<= z 9.2e-89)
(* y4 (- (* c t_3) (+ (* y1 (- (* j y3) (* k y2))) (* b t_7))))
(if (<= z 9.5e-20)
(*
a
(+
(* y5 (- (* t y2) (* y y3)))
(+ (* b (- (* x y) (* z t))) (* y1 (- (* z y3) (* x y2))))))
(if (<= z 180000.0)
(* t (* y2 t_5))
(if (<= z 1.6e+90)
t_6
(if (<= z 1.04e+176)
(*
c
(+ (+ (* y0 (- (* x y2) (* z y3))) (* i t_1)) (* y4 t_3)))
(if (<= z 2.6e+199)
(*
b
(- (* y0 (- (* z k) (* x j))) (+ (* y4 t_7) (* a t_1))))
(if (<= z 9.5e+271)
(*
y2
(+
(+ (* k (- (* y1 y4) (* y0 y5))) (* x t_4))
(* t t_5)))
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 * t) - (x * y);
double t_2 = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0))));
double t_3 = (y * y3) - (t * y2);
double t_4 = (c * y0) - (a * y1);
double t_5 = (a * y5) - (c * y4);
double t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0))));
double t_7 = (y * k) - (t * j);
double tmp;
if (z <= -6e+80) {
tmp = t_2;
} else if (z <= 1.05e-178) {
tmp = t_6;
} else if (z <= 9.2e-89) {
tmp = y4 * ((c * t_3) - ((y1 * ((j * y3) - (k * y2))) + (b * t_7)));
} else if (z <= 9.5e-20) {
tmp = a * ((y5 * ((t * y2) - (y * y3))) + ((b * ((x * y) - (z * t))) + (y1 * ((z * y3) - (x * y2)))));
} else if (z <= 180000.0) {
tmp = t * (y2 * t_5);
} else if (z <= 1.6e+90) {
tmp = t_6;
} else if (z <= 1.04e+176) {
tmp = c * (((y0 * ((x * y2) - (z * y3))) + (i * t_1)) + (y4 * t_3));
} else if (z <= 2.6e+199) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_7) + (a * t_1)));
} else if (z <= 9.5e+271) {
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_4)) + (t * t_5));
} else {
tmp = t_2;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: tmp
t_1 = (z * t) - (x * y)
t_2 = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0))))
t_3 = (y * y3) - (t * y2)
t_4 = (c * y0) - (a * y1)
t_5 = (a * y5) - (c * y4)
t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0))))
t_7 = (y * k) - (t * j)
if (z <= (-6d+80)) then
tmp = t_2
else if (z <= 1.05d-178) then
tmp = t_6
else if (z <= 9.2d-89) then
tmp = y4 * ((c * t_3) - ((y1 * ((j * y3) - (k * y2))) + (b * t_7)))
else if (z <= 9.5d-20) then
tmp = a * ((y5 * ((t * y2) - (y * y3))) + ((b * ((x * y) - (z * t))) + (y1 * ((z * y3) - (x * y2)))))
else if (z <= 180000.0d0) then
tmp = t * (y2 * t_5)
else if (z <= 1.6d+90) then
tmp = t_6
else if (z <= 1.04d+176) then
tmp = c * (((y0 * ((x * y2) - (z * y3))) + (i * t_1)) + (y4 * t_3))
else if (z <= 2.6d+199) then
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_7) + (a * t_1)))
else if (z <= 9.5d+271) then
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_4)) + (t * t_5))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (z * t) - (x * y);
double t_2 = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0))));
double t_3 = (y * y3) - (t * y2);
double t_4 = (c * y0) - (a * y1);
double t_5 = (a * y5) - (c * y4);
double t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0))));
double t_7 = (y * k) - (t * j);
double tmp;
if (z <= -6e+80) {
tmp = t_2;
} else if (z <= 1.05e-178) {
tmp = t_6;
} else if (z <= 9.2e-89) {
tmp = y4 * ((c * t_3) - ((y1 * ((j * y3) - (k * y2))) + (b * t_7)));
} else if (z <= 9.5e-20) {
tmp = a * ((y5 * ((t * y2) - (y * y3))) + ((b * ((x * y) - (z * t))) + (y1 * ((z * y3) - (x * y2)))));
} else if (z <= 180000.0) {
tmp = t * (y2 * t_5);
} else if (z <= 1.6e+90) {
tmp = t_6;
} else if (z <= 1.04e+176) {
tmp = c * (((y0 * ((x * y2) - (z * y3))) + (i * t_1)) + (y4 * t_3));
} else if (z <= 2.6e+199) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_7) + (a * t_1)));
} else if (z <= 9.5e+271) {
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_4)) + (t * t_5));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (z * t) - (x * y) t_2 = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0)))) t_3 = (y * y3) - (t * y2) t_4 = (c * y0) - (a * y1) t_5 = (a * y5) - (c * y4) t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0)))) t_7 = (y * k) - (t * j) tmp = 0 if z <= -6e+80: tmp = t_2 elif z <= 1.05e-178: tmp = t_6 elif z <= 9.2e-89: tmp = y4 * ((c * t_3) - ((y1 * ((j * y3) - (k * y2))) + (b * t_7))) elif z <= 9.5e-20: tmp = a * ((y5 * ((t * y2) - (y * y3))) + ((b * ((x * y) - (z * t))) + (y1 * ((z * y3) - (x * y2))))) elif z <= 180000.0: tmp = t * (y2 * t_5) elif z <= 1.6e+90: tmp = t_6 elif z <= 1.04e+176: tmp = c * (((y0 * ((x * y2) - (z * y3))) + (i * t_1)) + (y4 * t_3)) elif z <= 2.6e+199: tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_7) + (a * t_1))) elif z <= 9.5e+271: tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_4)) + (t * t_5)) 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 * t) - Float64(x * y)) t_2 = Float64(z * Float64(Float64(t * Float64(Float64(c * i) - Float64(a * b))) + Float64(y3 * Float64(Float64(a * y1) - Float64(c * y0))))) t_3 = Float64(Float64(y * y3) - Float64(t * y2)) t_4 = Float64(Float64(c * y0) - Float64(a * y1)) t_5 = Float64(Float64(a * y5) - Float64(c * y4)) t_6 = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * t_4)) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) t_7 = Float64(Float64(y * k) - Float64(t * j)) tmp = 0.0 if (z <= -6e+80) tmp = t_2; elseif (z <= 1.05e-178) tmp = t_6; elseif (z <= 9.2e-89) tmp = Float64(y4 * Float64(Float64(c * t_3) - Float64(Float64(y1 * Float64(Float64(j * y3) - Float64(k * y2))) + Float64(b * t_7)))); elseif (z <= 9.5e-20) tmp = Float64(a * Float64(Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3))) + Float64(Float64(b * Float64(Float64(x * y) - Float64(z * t))) + Float64(y1 * Float64(Float64(z * y3) - Float64(x * y2)))))); elseif (z <= 180000.0) tmp = Float64(t * Float64(y2 * t_5)); elseif (z <= 1.6e+90) tmp = t_6; elseif (z <= 1.04e+176) tmp = Float64(c * Float64(Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) + Float64(i * t_1)) + Float64(y4 * t_3))); elseif (z <= 2.6e+199) tmp = Float64(b * Float64(Float64(y0 * Float64(Float64(z * k) - Float64(x * j))) - Float64(Float64(y4 * t_7) + Float64(a * t_1)))); elseif (z <= 9.5e+271) tmp = Float64(y2 * Float64(Float64(Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) + Float64(x * t_4)) + Float64(t * t_5))); else tmp = t_2; 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 = (z * t) - (x * y); t_2 = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0)))); t_3 = (y * y3) - (t * y2); t_4 = (c * y0) - (a * y1); t_5 = (a * y5) - (c * y4); t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0)))); t_7 = (y * k) - (t * j); tmp = 0.0; if (z <= -6e+80) tmp = t_2; elseif (z <= 1.05e-178) tmp = t_6; elseif (z <= 9.2e-89) tmp = y4 * ((c * t_3) - ((y1 * ((j * y3) - (k * y2))) + (b * t_7))); elseif (z <= 9.5e-20) tmp = a * ((y5 * ((t * y2) - (y * y3))) + ((b * ((x * y) - (z * t))) + (y1 * ((z * y3) - (x * y2))))); elseif (z <= 180000.0) tmp = t * (y2 * t_5); elseif (z <= 1.6e+90) tmp = t_6; elseif (z <= 1.04e+176) tmp = c * (((y0 * ((x * y2) - (z * y3))) + (i * t_1)) + (y4 * t_3)); elseif (z <= 2.6e+199) tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_7) + (a * t_1))); elseif (z <= 9.5e+271) tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_4)) + (t * t_5)); else tmp = t_2; 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[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(z * N[(N[(t * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y3 * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$4), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -6e+80], t$95$2, If[LessEqual[z, 1.05e-178], t$95$6, If[LessEqual[z, 9.2e-89], N[(y4 * N[(N[(c * t$95$3), $MachinePrecision] - N[(N[(y1 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * t$95$7), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 9.5e-20], N[(a * N[(N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 180000.0], N[(t * N[(y2 * t$95$5), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.6e+90], t$95$6, If[LessEqual[z, 1.04e+176], N[(c * N[(N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(i * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(y4 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.6e+199], N[(b * N[(N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y4 * t$95$7), $MachinePrecision] + N[(a * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 9.5e+271], N[(y2 * N[(N[(N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * t$95$4), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot t - x \cdot y\\
t_2 := z \cdot \left(t \cdot \left(c \cdot i - a \cdot b\right) + y3 \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\\
t_3 := y \cdot y3 - t \cdot y2\\
t_4 := c \cdot y0 - a \cdot y1\\
t_5 := a \cdot y5 - c \cdot y4\\
t_6 := x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot t_4\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
t_7 := y \cdot k - t \cdot j\\
\mathbf{if}\;z \leq -6 \cdot 10^{+80}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq 1.05 \cdot 10^{-178}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;z \leq 9.2 \cdot 10^{-89}:\\
\;\;\;\;y4 \cdot \left(c \cdot t_3 - \left(y1 \cdot \left(j \cdot y3 - k \cdot y2\right) + b \cdot t_7\right)\right)\\
\mathbf{elif}\;z \leq 9.5 \cdot 10^{-20}:\\
\;\;\;\;a \cdot \left(y5 \cdot \left(t \cdot y2 - y \cdot y3\right) + \left(b \cdot \left(x \cdot y - z \cdot t\right) + y1 \cdot \left(z \cdot y3 - x \cdot y2\right)\right)\right)\\
\mathbf{elif}\;z \leq 180000:\\
\;\;\;\;t \cdot \left(y2 \cdot t_5\right)\\
\mathbf{elif}\;z \leq 1.6 \cdot 10^{+90}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;z \leq 1.04 \cdot 10^{+176}:\\
\;\;\;\;c \cdot \left(\left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) + i \cdot t_1\right) + y4 \cdot t_3\right)\\
\mathbf{elif}\;z \leq 2.6 \cdot 10^{+199}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right) - \left(y4 \cdot t_7 + a \cdot t_1\right)\right)\\
\mathbf{elif}\;z \leq 9.5 \cdot 10^{+271}:\\
\;\;\;\;y2 \cdot \left(\left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + x \cdot t_4\right) + t \cdot t_5\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if z < -5.99999999999999974e80 or 9.5e271 < z Initial program 17.4%
Taylor expanded in z around -inf 55.7%
Taylor expanded in k around 0 62.1%
if -5.99999999999999974e80 < z < 1.05e-178 or 1.8e5 < z < 1.59999999999999999e90Initial program 32.6%
Taylor expanded in x around inf 54.7%
if 1.05e-178 < z < 9.200000000000001e-89Initial program 42.1%
Taylor expanded in y4 around inf 74.7%
if 9.200000000000001e-89 < z < 9.5e-20Initial program 37.8%
Taylor expanded in a around -inf 56.6%
mul-1-neg56.6%
distribute-rgt-neg-in56.6%
+-commutative56.6%
mul-1-neg56.6%
unsub-neg56.6%
*-commutative56.6%
*-commutative56.6%
*-commutative56.6%
Simplified56.6%
if 9.5e-20 < z < 1.8e5Initial program 20.0%
Taylor expanded in y2 around inf 60.1%
Taylor expanded in t around inf 80.4%
if 1.59999999999999999e90 < z < 1.04e176Initial program 36.4%
Taylor expanded in c around inf 64.2%
+-commutative64.2%
mul-1-neg64.2%
unsub-neg64.2%
*-commutative64.2%
*-commutative64.2%
*-commutative64.2%
*-commutative64.2%
Simplified64.2%
if 1.04e176 < z < 2.6000000000000001e199Initial program 49.7%
Taylor expanded in b around inf 67.6%
if 2.6000000000000001e199 < z < 9.5e271Initial program 21.4%
Taylor expanded in y2 around inf 71.6%
Final simplification60.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* a b) (* c i)))
(t_2
(*
x
(+
(+ (* y t_1) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0)))))))
(if (<= y -8.2e+204)
t_2
(if (<= y -4.1e+120)
(* (* y1 y3) (* j (- y4)))
(if (<= y -1.18e+73)
t_2
(if (<= y -7.5e+30)
(* (* y0 y2) (- (* x c) (* k y5)))
(if (<= y -1.36e-17)
t_2
(if (<= y 2.95e-210)
(*
y1
(+ (* y4 (- (* k y2) (* j y3))) (* a (- (* z y3) (* x y2)))))
(if (<= y 2.7e-11)
(*
b
(-
(* y0 (- (* z k) (* x j)))
(+ (* y4 (- (* y k) (* t j))) (* a (- (* z t) (* x y))))))
(if (<= y 7.2e+197) t_2 (* (* x y) 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 * b) - (c * i);
double t_2 = x * (((y * t_1) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y <= -8.2e+204) {
tmp = t_2;
} else if (y <= -4.1e+120) {
tmp = (y1 * y3) * (j * -y4);
} else if (y <= -1.18e+73) {
tmp = t_2;
} else if (y <= -7.5e+30) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else if (y <= -1.36e-17) {
tmp = t_2;
} else if (y <= 2.95e-210) {
tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))));
} else if (y <= 2.7e-11) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))));
} else if (y <= 7.2e+197) {
tmp = t_2;
} else {
tmp = (x * y) * 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) :: t_2
real(8) :: tmp
t_1 = (a * b) - (c * i)
t_2 = x * (((y * t_1) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
if (y <= (-8.2d+204)) then
tmp = t_2
else if (y <= (-4.1d+120)) then
tmp = (y1 * y3) * (j * -y4)
else if (y <= (-1.18d+73)) then
tmp = t_2
else if (y <= (-7.5d+30)) then
tmp = (y0 * y2) * ((x * c) - (k * y5))
else if (y <= (-1.36d-17)) then
tmp = t_2
else if (y <= 2.95d-210) then
tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))))
else if (y <= 2.7d-11) then
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))))
else if (y <= 7.2d+197) then
tmp = t_2
else
tmp = (x * y) * 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 * b) - (c * i);
double t_2 = x * (((y * t_1) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y <= -8.2e+204) {
tmp = t_2;
} else if (y <= -4.1e+120) {
tmp = (y1 * y3) * (j * -y4);
} else if (y <= -1.18e+73) {
tmp = t_2;
} else if (y <= -7.5e+30) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else if (y <= -1.36e-17) {
tmp = t_2;
} else if (y <= 2.95e-210) {
tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))));
} else if (y <= 2.7e-11) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))));
} else if (y <= 7.2e+197) {
tmp = t_2;
} else {
tmp = (x * y) * 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 * b) - (c * i) t_2 = x * (((y * t_1) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) tmp = 0 if y <= -8.2e+204: tmp = t_2 elif y <= -4.1e+120: tmp = (y1 * y3) * (j * -y4) elif y <= -1.18e+73: tmp = t_2 elif y <= -7.5e+30: tmp = (y0 * y2) * ((x * c) - (k * y5)) elif y <= -1.36e-17: tmp = t_2 elif y <= 2.95e-210: tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))) elif y <= 2.7e-11: tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y))))) elif y <= 7.2e+197: tmp = t_2 else: tmp = (x * y) * 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(Float64(a * b) - Float64(c * i)) t_2 = Float64(x * Float64(Float64(Float64(y * t_1) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) tmp = 0.0 if (y <= -8.2e+204) tmp = t_2; elseif (y <= -4.1e+120) tmp = Float64(Float64(y1 * y3) * Float64(j * Float64(-y4))); elseif (y <= -1.18e+73) tmp = t_2; elseif (y <= -7.5e+30) tmp = Float64(Float64(y0 * y2) * Float64(Float64(x * c) - Float64(k * y5))); elseif (y <= -1.36e-17) tmp = t_2; elseif (y <= 2.95e-210) tmp = Float64(y1 * Float64(Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3))) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2))))); elseif (y <= 2.7e-11) tmp = Float64(b * Float64(Float64(y0 * Float64(Float64(z * k) - Float64(x * j))) - Float64(Float64(y4 * Float64(Float64(y * k) - Float64(t * j))) + Float64(a * Float64(Float64(z * t) - Float64(x * y)))))); elseif (y <= 7.2e+197) tmp = t_2; else tmp = Float64(Float64(x * y) * 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 * b) - (c * i); t_2 = x * (((y * t_1) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); tmp = 0.0; if (y <= -8.2e+204) tmp = t_2; elseif (y <= -4.1e+120) tmp = (y1 * y3) * (j * -y4); elseif (y <= -1.18e+73) tmp = t_2; elseif (y <= -7.5e+30) tmp = (y0 * y2) * ((x * c) - (k * y5)); elseif (y <= -1.36e-17) tmp = t_2; elseif (y <= 2.95e-210) tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))); elseif (y <= 2.7e-11) tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y))))); elseif (y <= 7.2e+197) tmp = t_2; else tmp = (x * y) * 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[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(N[(y * t$95$1), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.2e+204], t$95$2, If[LessEqual[y, -4.1e+120], N[(N[(y1 * y3), $MachinePrecision] * N[(j * (-y4)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.18e+73], t$95$2, If[LessEqual[y, -7.5e+30], N[(N[(y0 * y2), $MachinePrecision] * N[(N[(x * c), $MachinePrecision] - N[(k * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.36e-17], t$95$2, If[LessEqual[y, 2.95e-210], N[(y1 * N[(N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.7e-11], N[(b * N[(N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y4 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.2e+197], t$95$2, N[(N[(x * y), $MachinePrecision] * t$95$1), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot b - c \cdot i\\
t_2 := x \cdot \left(\left(y \cdot t_1 + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{if}\;y \leq -8.2 \cdot 10^{+204}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -4.1 \cdot 10^{+120}:\\
\;\;\;\;\left(y1 \cdot y3\right) \cdot \left(j \cdot \left(-y4\right)\right)\\
\mathbf{elif}\;y \leq -1.18 \cdot 10^{+73}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -7.5 \cdot 10^{+30}:\\
\;\;\;\;\left(y0 \cdot y2\right) \cdot \left(x \cdot c - k \cdot y5\right)\\
\mathbf{elif}\;y \leq -1.36 \cdot 10^{-17}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq 2.95 \cdot 10^{-210}:\\
\;\;\;\;y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right) + a \cdot \left(z \cdot y3 - x \cdot y2\right)\right)\\
\mathbf{elif}\;y \leq 2.7 \cdot 10^{-11}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right) - \left(y4 \cdot \left(y \cdot k - t \cdot j\right) + a \cdot \left(z \cdot t - x \cdot y\right)\right)\right)\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+197}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;\left(x \cdot y\right) \cdot t_1\\
\end{array}
\end{array}
if y < -8.19999999999999949e204 or -4.1e120 < y < -1.18000000000000004e73 or -7.49999999999999973e30 < y < -1.36e-17 or 2.70000000000000005e-11 < y < 7.19999999999999965e197Initial program 28.8%
Taylor expanded in x around inf 64.9%
if -8.19999999999999949e204 < y < -4.1e120Initial program 20.0%
Taylor expanded in y1 around -inf 30.8%
mul-1-neg30.8%
*-commutative30.8%
distribute-rgt-neg-in30.8%
Simplified30.8%
Taylor expanded in y3 around -inf 50.5%
associate-*r*50.1%
Simplified50.1%
Taylor expanded in a around 0 50.7%
neg-mul-150.7%
distribute-rgt-neg-in50.7%
Simplified50.7%
if -1.18000000000000004e73 < y < -7.49999999999999973e30Initial program 7.1%
Taylor expanded in y2 around inf 64.9%
Taylor expanded in y0 around inf 38.3%
associate-*r*51.3%
*-commutative51.3%
+-commutative51.3%
mul-1-neg51.3%
unsub-neg51.3%
*-commutative51.3%
Simplified51.3%
if -1.36e-17 < y < 2.9499999999999999e-210Initial program 30.3%
Taylor expanded in y1 around -inf 50.3%
mul-1-neg50.3%
*-commutative50.3%
distribute-rgt-neg-in50.3%
Simplified50.3%
Taylor expanded in i around 0 49.5%
associate-*r*49.5%
neg-mul-149.5%
sub-neg49.5%
*-commutative49.5%
sub-neg49.5%
*-commutative49.5%
Simplified49.5%
if 2.9499999999999999e-210 < y < 2.70000000000000005e-11Initial program 44.1%
Taylor expanded in b around inf 59.2%
if 7.19999999999999965e197 < y Initial program 27.3%
Taylor expanded in x around inf 41.7%
Taylor expanded in y around inf 64.6%
associate-*r*64.6%
Simplified64.6%
Final simplification57.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
b
(-
(* y0 (- (* z k) (* x j)))
(+ (* y4 (- (* y k) (* t j))) (* a (- (* z t) (* x y))))))))
(if (<= x -4.6e+140)
(* i (* j (* x y1)))
(if (<= x -3.2e-24)
(* (* x y) (- (* a b) (* c i)))
(if (<= x -9.5e-169)
(* i (* k (- (* y y5) (* z y1))))
(if (<= x -2.6e-308)
(* t (* y2 (- (* a y5) (* c y4))))
(if (<= x 1.12e-250)
t_1
(if (<= x 7.4e-222)
(* k (* y2 (- (* y1 y4) (* y0 y5))))
(if (<= x 8.6e+114)
t_1
(* j (* x (- (* i y1) (* b 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) {
double t_1 = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))));
double tmp;
if (x <= -4.6e+140) {
tmp = i * (j * (x * y1));
} else if (x <= -3.2e-24) {
tmp = (x * y) * ((a * b) - (c * i));
} else if (x <= -9.5e-169) {
tmp = i * (k * ((y * y5) - (z * y1)));
} else if (x <= -2.6e-308) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 1.12e-250) {
tmp = t_1;
} else if (x <= 7.4e-222) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (x <= 8.6e+114) {
tmp = t_1;
} else {
tmp = j * (x * ((i * y1) - (b * y0)));
}
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 * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))))
if (x <= (-4.6d+140)) then
tmp = i * (j * (x * y1))
else if (x <= (-3.2d-24)) then
tmp = (x * y) * ((a * b) - (c * i))
else if (x <= (-9.5d-169)) then
tmp = i * (k * ((y * y5) - (z * y1)))
else if (x <= (-2.6d-308)) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else if (x <= 1.12d-250) then
tmp = t_1
else if (x <= 7.4d-222) then
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)))
else if (x <= 8.6d+114) then
tmp = t_1
else
tmp = j * (x * ((i * y1) - (b * y0)))
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 * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))));
double tmp;
if (x <= -4.6e+140) {
tmp = i * (j * (x * y1));
} else if (x <= -3.2e-24) {
tmp = (x * y) * ((a * b) - (c * i));
} else if (x <= -9.5e-169) {
tmp = i * (k * ((y * y5) - (z * y1)));
} else if (x <= -2.6e-308) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 1.12e-250) {
tmp = t_1;
} else if (x <= 7.4e-222) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (x <= 8.6e+114) {
tmp = t_1;
} else {
tmp = j * (x * ((i * y1) - (b * y0)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y))))) tmp = 0 if x <= -4.6e+140: tmp = i * (j * (x * y1)) elif x <= -3.2e-24: tmp = (x * y) * ((a * b) - (c * i)) elif x <= -9.5e-169: tmp = i * (k * ((y * y5) - (z * y1))) elif x <= -2.6e-308: tmp = t * (y2 * ((a * y5) - (c * y4))) elif x <= 1.12e-250: tmp = t_1 elif x <= 7.4e-222: tmp = k * (y2 * ((y1 * y4) - (y0 * y5))) elif x <= 8.6e+114: tmp = t_1 else: tmp = j * (x * ((i * y1) - (b * y0))) 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(Float64(y0 * Float64(Float64(z * k) - Float64(x * j))) - Float64(Float64(y4 * Float64(Float64(y * k) - Float64(t * j))) + Float64(a * Float64(Float64(z * t) - Float64(x * y)))))) tmp = 0.0 if (x <= -4.6e+140) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -3.2e-24) tmp = Float64(Float64(x * y) * Float64(Float64(a * b) - Float64(c * i))); elseif (x <= -9.5e-169) tmp = Float64(i * Float64(k * Float64(Float64(y * y5) - Float64(z * y1)))); elseif (x <= -2.6e-308) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); elseif (x <= 1.12e-250) tmp = t_1; elseif (x <= 7.4e-222) tmp = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (x <= 8.6e+114) tmp = t_1; else tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); 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 * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y))))); tmp = 0.0; if (x <= -4.6e+140) tmp = i * (j * (x * y1)); elseif (x <= -3.2e-24) tmp = (x * y) * ((a * b) - (c * i)); elseif (x <= -9.5e-169) tmp = i * (k * ((y * y5) - (z * y1))); elseif (x <= -2.6e-308) tmp = t * (y2 * ((a * y5) - (c * y4))); elseif (x <= 1.12e-250) tmp = t_1; elseif (x <= 7.4e-222) tmp = k * (y2 * ((y1 * y4) - (y0 * y5))); elseif (x <= 8.6e+114) tmp = t_1; else tmp = j * (x * ((i * y1) - (b * y0))); 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[(N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y4 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -4.6e+140], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -3.2e-24], N[(N[(x * y), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -9.5e-169], N[(i * N[(k * N[(N[(y * y5), $MachinePrecision] - N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -2.6e-308], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.12e-250], t$95$1, If[LessEqual[x, 7.4e-222], N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 8.6e+114], t$95$1, N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right) - \left(y4 \cdot \left(y \cdot k - t \cdot j\right) + a \cdot \left(z \cdot t - x \cdot y\right)\right)\right)\\
\mathbf{if}\;x \leq -4.6 \cdot 10^{+140}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -3.2 \cdot 10^{-24}:\\
\;\;\;\;\left(x \cdot y\right) \cdot \left(a \cdot b - c \cdot i\right)\\
\mathbf{elif}\;x \leq -9.5 \cdot 10^{-169}:\\
\;\;\;\;i \cdot \left(k \cdot \left(y \cdot y5 - z \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -2.6 \cdot 10^{-308}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;x \leq 1.12 \cdot 10^{-250}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 7.4 \cdot 10^{-222}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;x \leq 8.6 \cdot 10^{+114}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\end{array}
\end{array}
if x < -4.59999999999999981e140Initial program 30.3%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 52.0%
distribute-lft-out--52.0%
*-commutative52.0%
*-commutative52.0%
Simplified52.0%
Taylor expanded in y2 around 0 55.6%
*-commutative55.6%
Simplified55.6%
if -4.59999999999999981e140 < x < -3.20000000000000012e-24Initial program 16.7%
Taylor expanded in x around inf 43.9%
Taylor expanded in y around inf 54.1%
associate-*r*60.4%
Simplified60.4%
if -3.20000000000000012e-24 < x < -9.5000000000000001e-169Initial program 37.6%
Taylor expanded in i around -inf 50.7%
Taylor expanded in k around inf 55.4%
distribute-lft-out--55.4%
*-commutative55.4%
Simplified55.4%
if -9.5000000000000001e-169 < x < -2.6e-308Initial program 22.5%
Taylor expanded in y2 around inf 48.6%
Taylor expanded in t around inf 58.5%
if -2.6e-308 < x < 1.11999999999999996e-250 or 7.3999999999999997e-222 < x < 8.6000000000000001e114Initial program 34.3%
Taylor expanded in b around inf 46.7%
if 1.11999999999999996e-250 < x < 7.3999999999999997e-222Initial program 28.6%
Taylor expanded in y2 around inf 43.3%
Taylor expanded in k around inf 86.1%
if 8.6000000000000001e114 < x Initial program 31.4%
Taylor expanded in x around inf 71.4%
Taylor expanded in j around inf 63.7%
Final simplification55.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* c y0) (* a y1)))
(t_2 (- (* a b) (* c i)))
(t_3 (* x (+ (+ (* y t_2) (* y2 t_1)) (* j (- (* i y1) (* b y0)))))))
(if (<= y -8.2e+204)
t_3
(if (<= y -4.1e+120)
(* (* y1 y3) (* j (- y4)))
(if (<= y -3.5e+76)
t_3
(if (<= y -2.8e-44)
(*
y2
(+
(+ (* k (- (* y1 y4) (* y0 y5))) (* x t_1))
(* t (- (* a y5) (* c y4)))))
(if (<= y 4.4e-210)
(*
y1
(+ (* y4 (- (* k y2) (* j y3))) (* a (- (* z y3) (* x y2)))))
(if (<= y 2.65e-11)
(*
b
(-
(* y0 (- (* z k) (* x j)))
(+ (* y4 (- (* y k) (* t j))) (* a (- (* z t) (* x y))))))
(if (<= y 7.8e+197) t_3 (* (* x y) 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 = (c * y0) - (a * y1);
double t_2 = (a * b) - (c * i);
double t_3 = x * (((y * t_2) + (y2 * t_1)) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y <= -8.2e+204) {
tmp = t_3;
} else if (y <= -4.1e+120) {
tmp = (y1 * y3) * (j * -y4);
} else if (y <= -3.5e+76) {
tmp = t_3;
} else if (y <= -2.8e-44) {
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_1)) + (t * ((a * y5) - (c * y4))));
} else if (y <= 4.4e-210) {
tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))));
} else if (y <= 2.65e-11) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))));
} else if (y <= 7.8e+197) {
tmp = t_3;
} else {
tmp = (x * y) * t_2;
}
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_2
real(8) :: t_3
real(8) :: tmp
t_1 = (c * y0) - (a * y1)
t_2 = (a * b) - (c * i)
t_3 = x * (((y * t_2) + (y2 * t_1)) + (j * ((i * y1) - (b * y0))))
if (y <= (-8.2d+204)) then
tmp = t_3
else if (y <= (-4.1d+120)) then
tmp = (y1 * y3) * (j * -y4)
else if (y <= (-3.5d+76)) then
tmp = t_3
else if (y <= (-2.8d-44)) then
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_1)) + (t * ((a * y5) - (c * y4))))
else if (y <= 4.4d-210) then
tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))))
else if (y <= 2.65d-11) then
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))))
else if (y <= 7.8d+197) then
tmp = t_3
else
tmp = (x * y) * t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (c * y0) - (a * y1);
double t_2 = (a * b) - (c * i);
double t_3 = x * (((y * t_2) + (y2 * t_1)) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y <= -8.2e+204) {
tmp = t_3;
} else if (y <= -4.1e+120) {
tmp = (y1 * y3) * (j * -y4);
} else if (y <= -3.5e+76) {
tmp = t_3;
} else if (y <= -2.8e-44) {
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_1)) + (t * ((a * y5) - (c * y4))));
} else if (y <= 4.4e-210) {
tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))));
} else if (y <= 2.65e-11) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y)))));
} else if (y <= 7.8e+197) {
tmp = t_3;
} else {
tmp = (x * y) * t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (c * y0) - (a * y1) t_2 = (a * b) - (c * i) t_3 = x * (((y * t_2) + (y2 * t_1)) + (j * ((i * y1) - (b * y0)))) tmp = 0 if y <= -8.2e+204: tmp = t_3 elif y <= -4.1e+120: tmp = (y1 * y3) * (j * -y4) elif y <= -3.5e+76: tmp = t_3 elif y <= -2.8e-44: tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_1)) + (t * ((a * y5) - (c * y4)))) elif y <= 4.4e-210: tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))) elif y <= 2.65e-11: tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y))))) elif y <= 7.8e+197: tmp = t_3 else: tmp = (x * y) * 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(c * y0) - Float64(a * y1)) t_2 = Float64(Float64(a * b) - Float64(c * i)) t_3 = Float64(x * Float64(Float64(Float64(y * t_2) + Float64(y2 * t_1)) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) tmp = 0.0 if (y <= -8.2e+204) tmp = t_3; elseif (y <= -4.1e+120) tmp = Float64(Float64(y1 * y3) * Float64(j * Float64(-y4))); elseif (y <= -3.5e+76) tmp = t_3; elseif (y <= -2.8e-44) tmp = Float64(y2 * Float64(Float64(Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) + Float64(x * t_1)) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y <= 4.4e-210) tmp = Float64(y1 * Float64(Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3))) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2))))); elseif (y <= 2.65e-11) tmp = Float64(b * Float64(Float64(y0 * Float64(Float64(z * k) - Float64(x * j))) - Float64(Float64(y4 * Float64(Float64(y * k) - Float64(t * j))) + Float64(a * Float64(Float64(z * t) - Float64(x * y)))))); elseif (y <= 7.8e+197) tmp = t_3; else tmp = Float64(Float64(x * y) * t_2); 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 = (c * y0) - (a * y1); t_2 = (a * b) - (c * i); t_3 = x * (((y * t_2) + (y2 * t_1)) + (j * ((i * y1) - (b * y0)))); tmp = 0.0; if (y <= -8.2e+204) tmp = t_3; elseif (y <= -4.1e+120) tmp = (y1 * y3) * (j * -y4); elseif (y <= -3.5e+76) tmp = t_3; elseif (y <= -2.8e-44) tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_1)) + (t * ((a * y5) - (c * y4)))); elseif (y <= 4.4e-210) tmp = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))); elseif (y <= 2.65e-11) tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * ((y * k) - (t * j))) + (a * ((z * t) - (x * y))))); elseif (y <= 7.8e+197) tmp = t_3; else tmp = (x * y) * t_2; 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[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x * N[(N[(N[(y * t$95$2), $MachinePrecision] + N[(y2 * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.2e+204], t$95$3, If[LessEqual[y, -4.1e+120], N[(N[(y1 * y3), $MachinePrecision] * N[(j * (-y4)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -3.5e+76], t$95$3, If[LessEqual[y, -2.8e-44], N[(y2 * N[(N[(N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.4e-210], N[(y1 * N[(N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.65e-11], N[(b * N[(N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y4 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.8e+197], t$95$3, N[(N[(x * y), $MachinePrecision] * t$95$2), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot y0 - a \cdot y1\\
t_2 := a \cdot b - c \cdot i\\
t_3 := x \cdot \left(\left(y \cdot t_2 + y2 \cdot t_1\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{if}\;y \leq -8.2 \cdot 10^{+204}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y \leq -4.1 \cdot 10^{+120}:\\
\;\;\;\;\left(y1 \cdot y3\right) \cdot \left(j \cdot \left(-y4\right)\right)\\
\mathbf{elif}\;y \leq -3.5 \cdot 10^{+76}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y \leq -2.8 \cdot 10^{-44}:\\
\;\;\;\;y2 \cdot \left(\left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + x \cdot t_1\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y \leq 4.4 \cdot 10^{-210}:\\
\;\;\;\;y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right) + a \cdot \left(z \cdot y3 - x \cdot y2\right)\right)\\
\mathbf{elif}\;y \leq 2.65 \cdot 10^{-11}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right) - \left(y4 \cdot \left(y \cdot k - t \cdot j\right) + a \cdot \left(z \cdot t - x \cdot y\right)\right)\right)\\
\mathbf{elif}\;y \leq 7.8 \cdot 10^{+197}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;\left(x \cdot y\right) \cdot t_2\\
\end{array}
\end{array}
if y < -8.19999999999999949e204 or -4.1e120 < y < -3.5e76 or 2.6499999999999999e-11 < y < 7.8e197Initial program 28.3%
Taylor expanded in x around inf 64.6%
if -8.19999999999999949e204 < y < -4.1e120Initial program 20.0%
Taylor expanded in y1 around -inf 30.8%
mul-1-neg30.8%
*-commutative30.8%
distribute-rgt-neg-in30.8%
Simplified30.8%
Taylor expanded in y3 around -inf 50.5%
associate-*r*50.1%
Simplified50.1%
Taylor expanded in a around 0 50.7%
neg-mul-150.7%
distribute-rgt-neg-in50.7%
Simplified50.7%
if -3.5e76 < y < -2.8e-44Initial program 18.1%
Taylor expanded in y2 around inf 61.2%
if -2.8e-44 < y < 4.39999999999999979e-210Initial program 31.0%
Taylor expanded in y1 around -inf 51.1%
mul-1-neg51.1%
*-commutative51.1%
distribute-rgt-neg-in51.1%
Simplified51.1%
Taylor expanded in i around 0 48.5%
associate-*r*48.5%
neg-mul-148.5%
sub-neg48.5%
*-commutative48.5%
sub-neg48.5%
*-commutative48.5%
Simplified48.5%
if 4.39999999999999979e-210 < y < 2.6499999999999999e-11Initial program 44.1%
Taylor expanded in b around inf 59.2%
if 7.8e197 < y Initial program 27.3%
Taylor expanded in x around inf 41.7%
Taylor expanded in y around inf 64.6%
associate-*r*64.6%
Simplified64.6%
Final simplification58.2%
(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 (- (* y k) (* t j)))
(t_3 (- (* x j) (* z k)))
(t_4 (+ (* y4 t_1) (* a (- (* z y3) (* x y2)))))
(t_5 (- (* i y1) (* b y0)))
(t_6
(*
j
(+
(+ (* y3 (- (* y0 y5) (* y1 y4))) (* t (- (* b y4) (* i y5))))
(* x t_5)))))
(if (<= y1 -3.6e+98)
(* y1 (+ (* i t_3) t_4))
(if (<= y1 -4.5e+17)
t_6
(if (<= y1 -1.6e-83)
(* (- (* y3 y4) (* x i)) (* y c))
(if (<= y1 -3.15e-204)
(* i (+ (* y1 t_3) (+ (* y5 t_2) (* c (- (* z t) (* x y))))))
(if (<= y1 1.05e-145)
(* y5 (- (* a (- (* t y2) (* y y3))) (- (* y0 t_1) (* i t_2))))
(if (<= y1 3.8e+106)
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j t_5)))
(if (<= y1 3.5e+194)
t_6
(if (<= y1 1.22e+224)
(* y0 (* c (- (* x y2) (* z y3))))
(* 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 = (y * k) - (t * j);
double t_3 = (x * j) - (z * k);
double t_4 = (y4 * t_1) + (a * ((z * y3) - (x * y2)));
double t_5 = (i * y1) - (b * y0);
double t_6 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * ((b * y4) - (i * y5)))) + (x * t_5));
double tmp;
if (y1 <= -3.6e+98) {
tmp = y1 * ((i * t_3) + t_4);
} else if (y1 <= -4.5e+17) {
tmp = t_6;
} else if (y1 <= -1.6e-83) {
tmp = ((y3 * y4) - (x * i)) * (y * c);
} else if (y1 <= -3.15e-204) {
tmp = i * ((y1 * t_3) + ((y5 * t_2) + (c * ((z * t) - (x * y)))));
} else if (y1 <= 1.05e-145) {
tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_2)));
} else if (y1 <= 3.8e+106) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * t_5));
} else if (y1 <= 3.5e+194) {
tmp = t_6;
} else if (y1 <= 1.22e+224) {
tmp = y0 * (c * ((x * y2) - (z * y3)));
} else {
tmp = y1 * t_4;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: tmp
t_1 = (k * y2) - (j * y3)
t_2 = (y * k) - (t * j)
t_3 = (x * j) - (z * k)
t_4 = (y4 * t_1) + (a * ((z * y3) - (x * y2)))
t_5 = (i * y1) - (b * y0)
t_6 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * ((b * y4) - (i * y5)))) + (x * t_5))
if (y1 <= (-3.6d+98)) then
tmp = y1 * ((i * t_3) + t_4)
else if (y1 <= (-4.5d+17)) then
tmp = t_6
else if (y1 <= (-1.6d-83)) then
tmp = ((y3 * y4) - (x * i)) * (y * c)
else if (y1 <= (-3.15d-204)) then
tmp = i * ((y1 * t_3) + ((y5 * t_2) + (c * ((z * t) - (x * y)))))
else if (y1 <= 1.05d-145) then
tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_2)))
else if (y1 <= 3.8d+106) then
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * t_5))
else if (y1 <= 3.5d+194) then
tmp = t_6
else if (y1 <= 1.22d+224) then
tmp = y0 * (c * ((x * y2) - (z * y3)))
else
tmp = y1 * t_4
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 = (k * y2) - (j * y3);
double t_2 = (y * k) - (t * j);
double t_3 = (x * j) - (z * k);
double t_4 = (y4 * t_1) + (a * ((z * y3) - (x * y2)));
double t_5 = (i * y1) - (b * y0);
double t_6 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * ((b * y4) - (i * y5)))) + (x * t_5));
double tmp;
if (y1 <= -3.6e+98) {
tmp = y1 * ((i * t_3) + t_4);
} else if (y1 <= -4.5e+17) {
tmp = t_6;
} else if (y1 <= -1.6e-83) {
tmp = ((y3 * y4) - (x * i)) * (y * c);
} else if (y1 <= -3.15e-204) {
tmp = i * ((y1 * t_3) + ((y5 * t_2) + (c * ((z * t) - (x * y)))));
} else if (y1 <= 1.05e-145) {
tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_2)));
} else if (y1 <= 3.8e+106) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * t_5));
} else if (y1 <= 3.5e+194) {
tmp = t_6;
} else if (y1 <= 1.22e+224) {
tmp = y0 * (c * ((x * y2) - (z * y3)));
} else {
tmp = y1 * t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (k * y2) - (j * y3) t_2 = (y * k) - (t * j) t_3 = (x * j) - (z * k) t_4 = (y4 * t_1) + (a * ((z * y3) - (x * y2))) t_5 = (i * y1) - (b * y0) t_6 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * ((b * y4) - (i * y5)))) + (x * t_5)) tmp = 0 if y1 <= -3.6e+98: tmp = y1 * ((i * t_3) + t_4) elif y1 <= -4.5e+17: tmp = t_6 elif y1 <= -1.6e-83: tmp = ((y3 * y4) - (x * i)) * (y * c) elif y1 <= -3.15e-204: tmp = i * ((y1 * t_3) + ((y5 * t_2) + (c * ((z * t) - (x * y))))) elif y1 <= 1.05e-145: tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_2))) elif y1 <= 3.8e+106: tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * t_5)) elif y1 <= 3.5e+194: tmp = t_6 elif y1 <= 1.22e+224: tmp = y0 * (c * ((x * y2) - (z * y3))) else: tmp = y1 * 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(y * k) - Float64(t * j)) t_3 = Float64(Float64(x * j) - Float64(z * k)) t_4 = Float64(Float64(y4 * t_1) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2)))) t_5 = Float64(Float64(i * y1) - Float64(b * y0)) t_6 = Float64(j * Float64(Float64(Float64(y3 * Float64(Float64(y0 * y5) - Float64(y1 * y4))) + Float64(t * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(x * t_5))) tmp = 0.0 if (y1 <= -3.6e+98) tmp = Float64(y1 * Float64(Float64(i * t_3) + t_4)); elseif (y1 <= -4.5e+17) tmp = t_6; elseif (y1 <= -1.6e-83) tmp = Float64(Float64(Float64(y3 * y4) - Float64(x * i)) * Float64(y * c)); elseif (y1 <= -3.15e-204) tmp = Float64(i * Float64(Float64(y1 * t_3) + Float64(Float64(y5 * t_2) + Float64(c * Float64(Float64(z * t) - Float64(x * y)))))); elseif (y1 <= 1.05e-145) tmp = Float64(y5 * Float64(Float64(a * Float64(Float64(t * y2) - Float64(y * y3))) - Float64(Float64(y0 * t_1) - Float64(i * t_2)))); elseif (y1 <= 3.8e+106) tmp = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * t_5))); elseif (y1 <= 3.5e+194) tmp = t_6; elseif (y1 <= 1.22e+224) tmp = Float64(y0 * Float64(c * Float64(Float64(x * y2) - Float64(z * y3)))); else tmp = Float64(y1 * t_4); 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 = (k * y2) - (j * y3); t_2 = (y * k) - (t * j); t_3 = (x * j) - (z * k); t_4 = (y4 * t_1) + (a * ((z * y3) - (x * y2))); t_5 = (i * y1) - (b * y0); t_6 = j * (((y3 * ((y0 * y5) - (y1 * y4))) + (t * ((b * y4) - (i * y5)))) + (x * t_5)); tmp = 0.0; if (y1 <= -3.6e+98) tmp = y1 * ((i * t_3) + t_4); elseif (y1 <= -4.5e+17) tmp = t_6; elseif (y1 <= -1.6e-83) tmp = ((y3 * y4) - (x * i)) * (y * c); elseif (y1 <= -3.15e-204) tmp = i * ((y1 * t_3) + ((y5 * t_2) + (c * ((z * t) - (x * y))))); elseif (y1 <= 1.05e-145) tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_2))); elseif (y1 <= 3.8e+106) tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * t_5)); elseif (y1 <= 3.5e+194) tmp = t_6; elseif (y1 <= 1.22e+224) tmp = y0 * (c * ((x * y2) - (z * y3))); else tmp = y1 * t_4; 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[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(y4 * t$95$1), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(j * N[(N[(N[(y3 * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -3.6e+98], N[(y1 * N[(N[(i * t$95$3), $MachinePrecision] + t$95$4), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -4.5e+17], t$95$6, If[LessEqual[y1, -1.6e-83], N[(N[(N[(y3 * y4), $MachinePrecision] - N[(x * i), $MachinePrecision]), $MachinePrecision] * N[(y * c), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -3.15e-204], N[(i * N[(N[(y1 * t$95$3), $MachinePrecision] + N[(N[(y5 * t$95$2), $MachinePrecision] + N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 1.05e-145], N[(y5 * N[(N[(a * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y0 * t$95$1), $MachinePrecision] - N[(i * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 3.8e+106], N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 3.5e+194], t$95$6, If[LessEqual[y1, 1.22e+224], N[(y0 * N[(c * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * t$95$4), $MachinePrecision]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot y2 - j \cdot y3\\
t_2 := y \cdot k - t \cdot j\\
t_3 := x \cdot j - z \cdot k\\
t_4 := y4 \cdot t_1 + a \cdot \left(z \cdot y3 - x \cdot y2\right)\\
t_5 := i \cdot y1 - b \cdot y0\\
t_6 := j \cdot \left(\left(y3 \cdot \left(y0 \cdot y5 - y1 \cdot y4\right) + t \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + x \cdot t_5\right)\\
\mathbf{if}\;y1 \leq -3.6 \cdot 10^{+98}:\\
\;\;\;\;y1 \cdot \left(i \cdot t_3 + t_4\right)\\
\mathbf{elif}\;y1 \leq -4.5 \cdot 10^{+17}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y1 \leq -1.6 \cdot 10^{-83}:\\
\;\;\;\;\left(y3 \cdot y4 - x \cdot i\right) \cdot \left(y \cdot c\right)\\
\mathbf{elif}\;y1 \leq -3.15 \cdot 10^{-204}:\\
\;\;\;\;i \cdot \left(y1 \cdot t_3 + \left(y5 \cdot t_2 + c \cdot \left(z \cdot t - x \cdot y\right)\right)\right)\\
\mathbf{elif}\;y1 \leq 1.05 \cdot 10^{-145}:\\
\;\;\;\;y5 \cdot \left(a \cdot \left(t \cdot y2 - y \cdot y3\right) - \left(y0 \cdot t_1 - i \cdot t_2\right)\right)\\
\mathbf{elif}\;y1 \leq 3.8 \cdot 10^{+106}:\\
\;\;\;\;x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot t_5\right)\\
\mathbf{elif}\;y1 \leq 3.5 \cdot 10^{+194}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y1 \leq 1.22 \cdot 10^{+224}:\\
\;\;\;\;y0 \cdot \left(c \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot t_4\\
\end{array}
\end{array}
if y1 < -3.59999999999999981e98Initial program 30.7%
Taylor expanded in y1 around -inf 67.6%
mul-1-neg67.6%
*-commutative67.6%
distribute-rgt-neg-in67.6%
Simplified67.6%
if -3.59999999999999981e98 < y1 < -4.5e17 or 3.7999999999999998e106 < y1 < 3.4999999999999997e194Initial program 30.5%
Taylor expanded in j around inf 69.7%
if -4.5e17 < y1 < -1.6000000000000001e-83Initial program 33.3%
Taylor expanded in c around inf 67.3%
+-commutative67.3%
mul-1-neg67.3%
unsub-neg67.3%
*-commutative67.3%
*-commutative67.3%
*-commutative67.3%
*-commutative67.3%
Simplified67.3%
Taylor expanded in y around -inf 73.9%
*-commutative73.9%
*-commutative73.9%
associate-*l*73.9%
+-commutative73.9%
mul-1-neg73.9%
unsub-neg73.9%
*-commutative73.9%
Simplified73.9%
if -1.6000000000000001e-83 < y1 < -3.14999999999999996e-204Initial program 35.0%
Taylor expanded in i around -inf 65.3%
if -3.14999999999999996e-204 < y1 < 1.04999999999999996e-145Initial program 36.7%
Taylor expanded in y5 around -inf 54.3%
if 1.04999999999999996e-145 < y1 < 3.7999999999999998e106Initial program 24.7%
Taylor expanded in x around inf 56.5%
if 3.4999999999999997e194 < y1 < 1.21999999999999997e224Initial program 18.2%
Taylor expanded in c around inf 36.6%
+-commutative36.6%
mul-1-neg36.6%
unsub-neg36.6%
*-commutative36.6%
*-commutative36.6%
*-commutative36.6%
*-commutative36.6%
Simplified36.6%
Taylor expanded in y0 around inf 46.8%
*-commutative46.8%
*-commutative46.8%
*-commutative46.8%
fma-neg46.8%
distribute-lft-neg-out46.8%
associate-*l*55.5%
distribute-lft-neg-out55.5%
fma-neg55.5%
*-commutative55.5%
*-commutative55.5%
Simplified55.5%
if 1.21999999999999997e224 < y1 Initial program 23.1%
Taylor expanded in y1 around -inf 54.4%
mul-1-neg54.4%
*-commutative54.4%
distribute-rgt-neg-in54.4%
Simplified54.4%
Taylor expanded in i around 0 69.6%
associate-*r*69.6%
neg-mul-169.6%
sub-neg69.6%
*-commutative69.6%
sub-neg69.6%
*-commutative69.6%
Simplified69.6%
Final simplification63.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y k) (* t j)))
(t_2 (+ (* y4 (- (* k y2) (* j y3))) (* a (- (* z y3) (* x y2))))))
(if (<= y1 -1.36e+15)
(* y1 (+ (* i (- (* x j) (* z k))) t_2))
(if (<= y1 -3.6e-207)
(* (- (* y3 y4) (* x i)) (* y c))
(if (<= y1 3.2e-264)
(*
b
(-
(* y0 (- (* z k) (* x j)))
(+ (* y4 t_1) (* a (- (* z t) (* x y))))))
(if (<= y1 7.8e-216)
(* a (* b (- (* x y) (* z t))))
(if (<= y1 9.5e-140)
(* i (* y5 t_1))
(if (<= y1 4.6e+183)
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0)))))
(* y1 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 = (y * k) - (t * j);
double t_2 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)));
double tmp;
if (y1 <= -1.36e+15) {
tmp = y1 * ((i * ((x * j) - (z * k))) + t_2);
} else if (y1 <= -3.6e-207) {
tmp = ((y3 * y4) - (x * i)) * (y * c);
} else if (y1 <= 3.2e-264) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_1) + (a * ((z * t) - (x * y)))));
} else if (y1 <= 7.8e-216) {
tmp = a * (b * ((x * y) - (z * t)));
} else if (y1 <= 9.5e-140) {
tmp = i * (y5 * t_1);
} else if (y1 <= 4.6e+183) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
} else {
tmp = y1 * t_2;
}
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_2
real(8) :: tmp
t_1 = (y * k) - (t * j)
t_2 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))
if (y1 <= (-1.36d+15)) then
tmp = y1 * ((i * ((x * j) - (z * k))) + t_2)
else if (y1 <= (-3.6d-207)) then
tmp = ((y3 * y4) - (x * i)) * (y * c)
else if (y1 <= 3.2d-264) then
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_1) + (a * ((z * t) - (x * y)))))
else if (y1 <= 7.8d-216) then
tmp = a * (b * ((x * y) - (z * t)))
else if (y1 <= 9.5d-140) then
tmp = i * (y5 * t_1)
else if (y1 <= 4.6d+183) then
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
else
tmp = y1 * t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y * k) - (t * j);
double t_2 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)));
double tmp;
if (y1 <= -1.36e+15) {
tmp = y1 * ((i * ((x * j) - (z * k))) + t_2);
} else if (y1 <= -3.6e-207) {
tmp = ((y3 * y4) - (x * i)) * (y * c);
} else if (y1 <= 3.2e-264) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_1) + (a * ((z * t) - (x * y)))));
} else if (y1 <= 7.8e-216) {
tmp = a * (b * ((x * y) - (z * t)));
} else if (y1 <= 9.5e-140) {
tmp = i * (y5 * t_1);
} else if (y1 <= 4.6e+183) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
} else {
tmp = y1 * t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y * k) - (t * j) t_2 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))) tmp = 0 if y1 <= -1.36e+15: tmp = y1 * ((i * ((x * j) - (z * k))) + t_2) elif y1 <= -3.6e-207: tmp = ((y3 * y4) - (x * i)) * (y * c) elif y1 <= 3.2e-264: tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_1) + (a * ((z * t) - (x * y))))) elif y1 <= 7.8e-216: tmp = a * (b * ((x * y) - (z * t))) elif y1 <= 9.5e-140: tmp = i * (y5 * t_1) elif y1 <= 4.6e+183: tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) else: tmp = y1 * 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(y * k) - Float64(t * j)) t_2 = Float64(Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3))) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2)))) tmp = 0.0 if (y1 <= -1.36e+15) tmp = Float64(y1 * Float64(Float64(i * Float64(Float64(x * j) - Float64(z * k))) + t_2)); elseif (y1 <= -3.6e-207) tmp = Float64(Float64(Float64(y3 * y4) - Float64(x * i)) * Float64(y * c)); elseif (y1 <= 3.2e-264) tmp = Float64(b * Float64(Float64(y0 * Float64(Float64(z * k) - Float64(x * j))) - Float64(Float64(y4 * t_1) + Float64(a * Float64(Float64(z * t) - Float64(x * y)))))); elseif (y1 <= 7.8e-216) tmp = Float64(a * Float64(b * Float64(Float64(x * y) - Float64(z * t)))); elseif (y1 <= 9.5e-140) tmp = Float64(i * Float64(y5 * t_1)); elseif (y1 <= 4.6e+183) tmp = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))); else tmp = Float64(y1 * t_2); 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 = (y * k) - (t * j); t_2 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))); tmp = 0.0; if (y1 <= -1.36e+15) tmp = y1 * ((i * ((x * j) - (z * k))) + t_2); elseif (y1 <= -3.6e-207) tmp = ((y3 * y4) - (x * i)) * (y * c); elseif (y1 <= 3.2e-264) tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_1) + (a * ((z * t) - (x * y))))); elseif (y1 <= 7.8e-216) tmp = a * (b * ((x * y) - (z * t))); elseif (y1 <= 9.5e-140) tmp = i * (y5 * t_1); elseif (y1 <= 4.6e+183) tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); else tmp = y1 * t_2; 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[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -1.36e+15], N[(y1 * N[(N[(i * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -3.6e-207], N[(N[(N[(y3 * y4), $MachinePrecision] - N[(x * i), $MachinePrecision]), $MachinePrecision] * N[(y * c), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 3.2e-264], N[(b * N[(N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y4 * t$95$1), $MachinePrecision] + N[(a * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 7.8e-216], N[(a * N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 9.5e-140], N[(i * N[(y5 * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 4.6e+183], N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * t$95$2), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot k - t \cdot j\\
t_2 := y4 \cdot \left(k \cdot y2 - j \cdot y3\right) + a \cdot \left(z \cdot y3 - x \cdot y2\right)\\
\mathbf{if}\;y1 \leq -1.36 \cdot 10^{+15}:\\
\;\;\;\;y1 \cdot \left(i \cdot \left(x \cdot j - z \cdot k\right) + t_2\right)\\
\mathbf{elif}\;y1 \leq -3.6 \cdot 10^{-207}:\\
\;\;\;\;\left(y3 \cdot y4 - x \cdot i\right) \cdot \left(y \cdot c\right)\\
\mathbf{elif}\;y1 \leq 3.2 \cdot 10^{-264}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right) - \left(y4 \cdot t_1 + a \cdot \left(z \cdot t - x \cdot y\right)\right)\right)\\
\mathbf{elif}\;y1 \leq 7.8 \cdot 10^{-216}:\\
\;\;\;\;a \cdot \left(b \cdot \left(x \cdot y - z \cdot t\right)\right)\\
\mathbf{elif}\;y1 \leq 9.5 \cdot 10^{-140}:\\
\;\;\;\;i \cdot \left(y5 \cdot t_1\right)\\
\mathbf{elif}\;y1 \leq 4.6 \cdot 10^{+183}:\\
\;\;\;\;x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot t_2\\
\end{array}
\end{array}
if y1 < -1.36e15Initial program 33.4%
Taylor expanded in y1 around -inf 61.8%
mul-1-neg61.8%
*-commutative61.8%
distribute-rgt-neg-in61.8%
Simplified61.8%
if -1.36e15 < y1 < -3.5999999999999997e-207Initial program 36.1%
Taylor expanded in c around inf 50.3%
+-commutative50.3%
mul-1-neg50.3%
unsub-neg50.3%
*-commutative50.3%
*-commutative50.3%
*-commutative50.3%
*-commutative50.3%
Simplified50.3%
Taylor expanded in y around -inf 56.2%
*-commutative56.2%
*-commutative56.2%
associate-*l*53.6%
+-commutative53.6%
mul-1-neg53.6%
unsub-neg53.6%
*-commutative53.6%
Simplified53.6%
if -3.5999999999999997e-207 < y1 < 3.19999999999999995e-264Initial program 43.0%
Taylor expanded in b around inf 54.0%
if 3.19999999999999995e-264 < y1 < 7.8000000000000002e-216Initial program 20.0%
Taylor expanded in b around inf 40.0%
Taylor expanded in a around inf 80.9%
if 7.8000000000000002e-216 < y1 < 9.50000000000000019e-140Initial program 12.5%
Taylor expanded in i around -inf 62.7%
Taylor expanded in y5 around inf 75.2%
if 9.50000000000000019e-140 < y1 < 4.5999999999999996e183Initial program 23.9%
Taylor expanded in x around inf 54.7%
if 4.5999999999999996e183 < y1 Initial program 21.4%
Taylor expanded in y1 around -inf 46.7%
mul-1-neg46.7%
*-commutative46.7%
distribute-rgt-neg-in46.7%
Simplified46.7%
Taylor expanded in i around 0 58.1%
associate-*r*58.1%
neg-mul-158.1%
sub-neg58.1%
*-commutative58.1%
sub-neg58.1%
*-commutative58.1%
Simplified58.1%
Final simplification58.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* j (* x (- (* i y1) (* b y0))))))
(if (<= x -6.5e+126)
(* i (* j (* x y1)))
(if (<= x -2.25e-55)
(* c (* i (- (* z t) (* x y))))
(if (<= x 2.8e-263)
(* t (* y2 (- (* a y5) (* c y4))))
(if (<= x 5.2e-146)
(* b (* y4 (- (* t j) (* y k))))
(if (<= x 4.4e-15)
(* k (* y2 (- (* y1 y4) (* y0 y5))))
(if (<= x 5.5e+61)
t_1
(if (<= x 3.4e+76)
(* x (* a (- (* y b) (* y1 y2))))
(if (<= x 3.4e+99)
(* b (* y0 (- (* z k) (* x j))))
(if (<= x 4.8e+122)
(* a (* b (- (* x y) (* z t))))
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 = j * (x * ((i * y1) - (b * y0)));
double tmp;
if (x <= -6.5e+126) {
tmp = i * (j * (x * y1));
} else if (x <= -2.25e-55) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 2.8e-263) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 5.2e-146) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (x <= 4.4e-15) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (x <= 5.5e+61) {
tmp = t_1;
} else if (x <= 3.4e+76) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else if (x <= 3.4e+99) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (x <= 4.8e+122) {
tmp = a * (b * ((x * y) - (z * t)));
} 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 = j * (x * ((i * y1) - (b * y0)))
if (x <= (-6.5d+126)) then
tmp = i * (j * (x * y1))
else if (x <= (-2.25d-55)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (x <= 2.8d-263) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else if (x <= 5.2d-146) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (x <= 4.4d-15) then
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)))
else if (x <= 5.5d+61) then
tmp = t_1
else if (x <= 3.4d+76) then
tmp = x * (a * ((y * b) - (y1 * y2)))
else if (x <= 3.4d+99) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (x <= 4.8d+122) then
tmp = a * (b * ((x * y) - (z * t)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = j * (x * ((i * y1) - (b * y0)));
double tmp;
if (x <= -6.5e+126) {
tmp = i * (j * (x * y1));
} else if (x <= -2.25e-55) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 2.8e-263) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 5.2e-146) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (x <= 4.4e-15) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (x <= 5.5e+61) {
tmp = t_1;
} else if (x <= 3.4e+76) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else if (x <= 3.4e+99) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (x <= 4.8e+122) {
tmp = a * (b * ((x * y) - (z * t)));
} 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 = j * (x * ((i * y1) - (b * y0))) tmp = 0 if x <= -6.5e+126: tmp = i * (j * (x * y1)) elif x <= -2.25e-55: tmp = c * (i * ((z * t) - (x * y))) elif x <= 2.8e-263: tmp = t * (y2 * ((a * y5) - (c * y4))) elif x <= 5.2e-146: tmp = b * (y4 * ((t * j) - (y * k))) elif x <= 4.4e-15: tmp = k * (y2 * ((y1 * y4) - (y0 * y5))) elif x <= 5.5e+61: tmp = t_1 elif x <= 3.4e+76: tmp = x * (a * ((y * b) - (y1 * y2))) elif x <= 3.4e+99: tmp = b * (y0 * ((z * k) - (x * j))) elif x <= 4.8e+122: tmp = a * (b * ((x * y) - (z * t))) 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(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))) tmp = 0.0 if (x <= -6.5e+126) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -2.25e-55) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (x <= 2.8e-263) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); elseif (x <= 5.2e-146) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (x <= 4.4e-15) tmp = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (x <= 5.5e+61) tmp = t_1; elseif (x <= 3.4e+76) tmp = Float64(x * Float64(a * Float64(Float64(y * b) - Float64(y1 * y2)))); elseif (x <= 3.4e+99) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (x <= 4.8e+122) tmp = Float64(a * Float64(b * Float64(Float64(x * y) - Float64(z * t)))); 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 = j * (x * ((i * y1) - (b * y0))); tmp = 0.0; if (x <= -6.5e+126) tmp = i * (j * (x * y1)); elseif (x <= -2.25e-55) tmp = c * (i * ((z * t) - (x * y))); elseif (x <= 2.8e-263) tmp = t * (y2 * ((a * y5) - (c * y4))); elseif (x <= 5.2e-146) tmp = b * (y4 * ((t * j) - (y * k))); elseif (x <= 4.4e-15) tmp = k * (y2 * ((y1 * y4) - (y0 * y5))); elseif (x <= 5.5e+61) tmp = t_1; elseif (x <= 3.4e+76) tmp = x * (a * ((y * b) - (y1 * y2))); elseif (x <= 3.4e+99) tmp = b * (y0 * ((z * k) - (x * j))); elseif (x <= 4.8e+122) tmp = a * (b * ((x * y) - (z * t))); 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[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -6.5e+126], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -2.25e-55], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.8e-263], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 5.2e-146], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.4e-15], N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 5.5e+61], t$95$1, If[LessEqual[x, 3.4e+76], N[(x * N[(a * N[(N[(y * b), $MachinePrecision] - N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.4e+99], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.8e+122], N[(a * N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{if}\;x \leq -6.5 \cdot 10^{+126}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -2.25 \cdot 10^{-55}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;x \leq 2.8 \cdot 10^{-263}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;x \leq 5.2 \cdot 10^{-146}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;x \leq 4.4 \cdot 10^{-15}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;x \leq 5.5 \cdot 10^{+61}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 3.4 \cdot 10^{+76}:\\
\;\;\;\;x \cdot \left(a \cdot \left(y \cdot b - y1 \cdot y2\right)\right)\\
\mathbf{elif}\;x \leq 3.4 \cdot 10^{+99}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;x \leq 4.8 \cdot 10^{+122}:\\
\;\;\;\;a \cdot \left(b \cdot \left(x \cdot y - z \cdot t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if x < -6.5000000000000005e126Initial program 28.7%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 51.2%
distribute-lft-out--51.2%
*-commutative51.2%
*-commutative51.2%
Simplified51.2%
Taylor expanded in y2 around 0 54.5%
*-commutative54.5%
Simplified54.5%
if -6.5000000000000005e126 < x < -2.24999999999999985e-55Initial program 18.8%
Taylor expanded in c around inf 50.4%
+-commutative50.4%
mul-1-neg50.4%
unsub-neg50.4%
*-commutative50.4%
*-commutative50.4%
*-commutative50.4%
*-commutative50.4%
Simplified50.4%
Taylor expanded in i around inf 53.7%
*-commutative53.7%
Simplified53.7%
if -2.24999999999999985e-55 < x < 2.8e-263Initial program 29.8%
Taylor expanded in y2 around inf 47.9%
Taylor expanded in t around inf 44.8%
if 2.8e-263 < x < 5.19999999999999974e-146Initial program 36.2%
Taylor expanded in b around inf 40.7%
Taylor expanded in y4 around inf 52.4%
if 5.19999999999999974e-146 < x < 4.39999999999999971e-15Initial program 27.8%
Taylor expanded in y2 around inf 38.7%
Taylor expanded in k around inf 39.5%
if 4.39999999999999971e-15 < x < 5.50000000000000036e61 or 4.8000000000000004e122 < x Initial program 36.6%
Taylor expanded in x around inf 65.9%
Taylor expanded in j around inf 64.1%
if 5.50000000000000036e61 < x < 3.3999999999999997e76Initial program 50.0%
Taylor expanded in x around inf 100.0%
Taylor expanded in a around inf 75.6%
+-commutative75.6%
mul-1-neg75.6%
unsub-neg75.6%
*-commutative75.6%
Simplified75.6%
if 3.3999999999999997e76 < x < 3.39999999999999984e99Initial program 20.0%
Taylor expanded in b around inf 60.0%
Taylor expanded in y0 around inf 60.1%
if 3.39999999999999984e99 < x < 4.8000000000000004e122Initial program 28.6%
Taylor expanded in b around inf 42.9%
Taylor expanded in a around inf 57.9%
Final simplification52.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= x -6.2e+126)
(* i (* j (* x y1)))
(if (<= x -3.1e-53)
(* c (* i (- (* z t) (* x y))))
(if (<= x 2.4e-256)
(* t (* y2 (- (* a y5) (* c y4))))
(if (<= x 2.85e-142)
(* b (* y4 (- (* t j) (* y k))))
(if (<= x 1.15e-17)
(* k (* y2 (- (* y1 y4) (* y0 y5))))
(if (<= x 1.22e+58)
(* y0 (* c (- (* x y2) (* z y3))))
(if (<= x 2.4e+76)
(* x (* a (- (* y b) (* y1 y2))))
(if (<= x 9.5e+98)
(* b (* y0 (- (* z k) (* x j))))
(if (<= x 7.5e+117)
(* a (* b (- (* x y) (* z t))))
(* j (* x (- (* i y1) (* b 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) {
double tmp;
if (x <= -6.2e+126) {
tmp = i * (j * (x * y1));
} else if (x <= -3.1e-53) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 2.4e-256) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 2.85e-142) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (x <= 1.15e-17) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (x <= 1.22e+58) {
tmp = y0 * (c * ((x * y2) - (z * y3)));
} else if (x <= 2.4e+76) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else if (x <= 9.5e+98) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (x <= 7.5e+117) {
tmp = a * (b * ((x * y) - (z * t)));
} else {
tmp = j * (x * ((i * y1) - (b * y0)));
}
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 (x <= (-6.2d+126)) then
tmp = i * (j * (x * y1))
else if (x <= (-3.1d-53)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (x <= 2.4d-256) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else if (x <= 2.85d-142) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (x <= 1.15d-17) then
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)))
else if (x <= 1.22d+58) then
tmp = y0 * (c * ((x * y2) - (z * y3)))
else if (x <= 2.4d+76) then
tmp = x * (a * ((y * b) - (y1 * y2)))
else if (x <= 9.5d+98) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (x <= 7.5d+117) then
tmp = a * (b * ((x * y) - (z * t)))
else
tmp = j * (x * ((i * y1) - (b * y0)))
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 (x <= -6.2e+126) {
tmp = i * (j * (x * y1));
} else if (x <= -3.1e-53) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 2.4e-256) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 2.85e-142) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (x <= 1.15e-17) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (x <= 1.22e+58) {
tmp = y0 * (c * ((x * y2) - (z * y3)));
} else if (x <= 2.4e+76) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else if (x <= 9.5e+98) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (x <= 7.5e+117) {
tmp = a * (b * ((x * y) - (z * t)));
} else {
tmp = j * (x * ((i * y1) - (b * y0)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if x <= -6.2e+126: tmp = i * (j * (x * y1)) elif x <= -3.1e-53: tmp = c * (i * ((z * t) - (x * y))) elif x <= 2.4e-256: tmp = t * (y2 * ((a * y5) - (c * y4))) elif x <= 2.85e-142: tmp = b * (y4 * ((t * j) - (y * k))) elif x <= 1.15e-17: tmp = k * (y2 * ((y1 * y4) - (y0 * y5))) elif x <= 1.22e+58: tmp = y0 * (c * ((x * y2) - (z * y3))) elif x <= 2.4e+76: tmp = x * (a * ((y * b) - (y1 * y2))) elif x <= 9.5e+98: tmp = b * (y0 * ((z * k) - (x * j))) elif x <= 7.5e+117: tmp = a * (b * ((x * y) - (z * t))) else: tmp = j * (x * ((i * y1) - (b * y0))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (x <= -6.2e+126) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -3.1e-53) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (x <= 2.4e-256) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); elseif (x <= 2.85e-142) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (x <= 1.15e-17) tmp = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (x <= 1.22e+58) tmp = Float64(y0 * Float64(c * Float64(Float64(x * y2) - Float64(z * y3)))); elseif (x <= 2.4e+76) tmp = Float64(x * Float64(a * Float64(Float64(y * b) - Float64(y1 * y2)))); elseif (x <= 9.5e+98) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (x <= 7.5e+117) tmp = Float64(a * Float64(b * Float64(Float64(x * y) - Float64(z * t)))); else tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); 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 (x <= -6.2e+126) tmp = i * (j * (x * y1)); elseif (x <= -3.1e-53) tmp = c * (i * ((z * t) - (x * y))); elseif (x <= 2.4e-256) tmp = t * (y2 * ((a * y5) - (c * y4))); elseif (x <= 2.85e-142) tmp = b * (y4 * ((t * j) - (y * k))); elseif (x <= 1.15e-17) tmp = k * (y2 * ((y1 * y4) - (y0 * y5))); elseif (x <= 1.22e+58) tmp = y0 * (c * ((x * y2) - (z * y3))); elseif (x <= 2.4e+76) tmp = x * (a * ((y * b) - (y1 * y2))); elseif (x <= 9.5e+98) tmp = b * (y0 * ((z * k) - (x * j))); elseif (x <= 7.5e+117) tmp = a * (b * ((x * y) - (z * t))); else tmp = j * (x * ((i * y1) - (b * y0))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[x, -6.2e+126], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -3.1e-53], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.4e-256], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.85e-142], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.15e-17], N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.22e+58], N[(y0 * N[(c * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.4e+76], N[(x * N[(a * N[(N[(y * b), $MachinePrecision] - N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 9.5e+98], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 7.5e+117], N[(a * N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -6.2 \cdot 10^{+126}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -3.1 \cdot 10^{-53}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;x \leq 2.4 \cdot 10^{-256}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;x \leq 2.85 \cdot 10^{-142}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;x \leq 1.15 \cdot 10^{-17}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;x \leq 1.22 \cdot 10^{+58}:\\
\;\;\;\;y0 \cdot \left(c \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{elif}\;x \leq 2.4 \cdot 10^{+76}:\\
\;\;\;\;x \cdot \left(a \cdot \left(y \cdot b - y1 \cdot y2\right)\right)\\
\mathbf{elif}\;x \leq 9.5 \cdot 10^{+98}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;x \leq 7.5 \cdot 10^{+117}:\\
\;\;\;\;a \cdot \left(b \cdot \left(x \cdot y - z \cdot t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\end{array}
\end{array}
if x < -6.2e126Initial program 28.7%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 51.2%
distribute-lft-out--51.2%
*-commutative51.2%
*-commutative51.2%
Simplified51.2%
Taylor expanded in y2 around 0 54.5%
*-commutative54.5%
Simplified54.5%
if -6.2e126 < x < -3.10000000000000015e-53Initial program 18.8%
Taylor expanded in c around inf 50.4%
+-commutative50.4%
mul-1-neg50.4%
unsub-neg50.4%
*-commutative50.4%
*-commutative50.4%
*-commutative50.4%
*-commutative50.4%
Simplified50.4%
Taylor expanded in i around inf 53.7%
*-commutative53.7%
Simplified53.7%
if -3.10000000000000015e-53 < x < 2.3999999999999999e-256Initial program 29.8%
Taylor expanded in y2 around inf 47.9%
Taylor expanded in t around inf 44.8%
if 2.3999999999999999e-256 < x < 2.84999999999999997e-142Initial program 36.2%
Taylor expanded in b around inf 40.7%
Taylor expanded in y4 around inf 52.4%
if 2.84999999999999997e-142 < x < 1.15000000000000004e-17Initial program 27.8%
Taylor expanded in y2 around inf 38.7%
Taylor expanded in k around inf 39.5%
if 1.15000000000000004e-17 < x < 1.21999999999999995e58Initial program 57.1%
Taylor expanded in c around inf 71.9%
+-commutative71.9%
mul-1-neg71.9%
unsub-neg71.9%
*-commutative71.9%
*-commutative71.9%
*-commutative71.9%
*-commutative71.9%
Simplified71.9%
Taylor expanded in y0 around inf 57.7%
*-commutative57.7%
*-commutative57.7%
*-commutative57.7%
fma-neg57.7%
distribute-lft-neg-out57.7%
associate-*l*57.7%
distribute-lft-neg-out57.7%
fma-neg57.7%
*-commutative57.7%
*-commutative57.7%
Simplified57.7%
if 1.21999999999999995e58 < x < 2.4e76Initial program 50.0%
Taylor expanded in x around inf 100.0%
Taylor expanded in a around inf 75.6%
+-commutative75.6%
mul-1-neg75.6%
unsub-neg75.6%
*-commutative75.6%
Simplified75.6%
if 2.4e76 < x < 9.5000000000000001e98Initial program 20.0%
Taylor expanded in b around inf 60.0%
Taylor expanded in y0 around inf 60.1%
if 9.5000000000000001e98 < x < 7.5e117Initial program 28.6%
Taylor expanded in b around inf 42.9%
Taylor expanded in a around inf 57.9%
if 7.5e117 < x Initial program 32.4%
Taylor expanded in x around inf 70.6%
Taylor expanded in j around inf 65.5%
Final simplification52.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* z t) (* x y)))
(t_2 (- (* x j) (* z k)))
(t_3 (+ (* y4 (- (* k y2) (* j y3))) (* a (- (* z y3) (* x y2)))))
(t_4 (- (* y k) (* t j))))
(if (<= y1 -380000.0)
(* y1 (+ (* i t_2) t_3))
(if (<= y1 -5.5e-80)
(* (- (* y3 y4) (* x i)) (* y c))
(if (<= y1 -1.1e-249)
(* i (+ (* y1 t_2) (+ (* y5 t_4) (* c t_1))))
(if (<= y1 3.1e-264)
(* b (- (* y0 (- (* z k) (* x j))) (+ (* y4 t_4) (* a t_1))))
(if (<= y1 6.4e+184)
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0)))))
(* y1 t_3))))))))
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 * t) - (x * y);
double t_2 = (x * j) - (z * k);
double t_3 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)));
double t_4 = (y * k) - (t * j);
double tmp;
if (y1 <= -380000.0) {
tmp = y1 * ((i * t_2) + t_3);
} else if (y1 <= -5.5e-80) {
tmp = ((y3 * y4) - (x * i)) * (y * c);
} else if (y1 <= -1.1e-249) {
tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * t_1)));
} else if (y1 <= 3.1e-264) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_4) + (a * t_1)));
} else if (y1 <= 6.4e+184) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
} else {
tmp = y1 * t_3;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = (z * t) - (x * y)
t_2 = (x * j) - (z * k)
t_3 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))
t_4 = (y * k) - (t * j)
if (y1 <= (-380000.0d0)) then
tmp = y1 * ((i * t_2) + t_3)
else if (y1 <= (-5.5d-80)) then
tmp = ((y3 * y4) - (x * i)) * (y * c)
else if (y1 <= (-1.1d-249)) then
tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * t_1)))
else if (y1 <= 3.1d-264) then
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_4) + (a * t_1)))
else if (y1 <= 6.4d+184) then
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
else
tmp = y1 * t_3
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 = (z * t) - (x * y);
double t_2 = (x * j) - (z * k);
double t_3 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)));
double t_4 = (y * k) - (t * j);
double tmp;
if (y1 <= -380000.0) {
tmp = y1 * ((i * t_2) + t_3);
} else if (y1 <= -5.5e-80) {
tmp = ((y3 * y4) - (x * i)) * (y * c);
} else if (y1 <= -1.1e-249) {
tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * t_1)));
} else if (y1 <= 3.1e-264) {
tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_4) + (a * t_1)));
} else if (y1 <= 6.4e+184) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
} else {
tmp = y1 * t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (z * t) - (x * y) t_2 = (x * j) - (z * k) t_3 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))) t_4 = (y * k) - (t * j) tmp = 0 if y1 <= -380000.0: tmp = y1 * ((i * t_2) + t_3) elif y1 <= -5.5e-80: tmp = ((y3 * y4) - (x * i)) * (y * c) elif y1 <= -1.1e-249: tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * t_1))) elif y1 <= 3.1e-264: tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_4) + (a * t_1))) elif y1 <= 6.4e+184: tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) else: tmp = y1 * t_3 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 * t) - Float64(x * y)) t_2 = Float64(Float64(x * j) - Float64(z * k)) t_3 = Float64(Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3))) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2)))) t_4 = Float64(Float64(y * k) - Float64(t * j)) tmp = 0.0 if (y1 <= -380000.0) tmp = Float64(y1 * Float64(Float64(i * t_2) + t_3)); elseif (y1 <= -5.5e-80) tmp = Float64(Float64(Float64(y3 * y4) - Float64(x * i)) * Float64(y * c)); elseif (y1 <= -1.1e-249) tmp = Float64(i * Float64(Float64(y1 * t_2) + Float64(Float64(y5 * t_4) + Float64(c * t_1)))); elseif (y1 <= 3.1e-264) tmp = Float64(b * Float64(Float64(y0 * Float64(Float64(z * k) - Float64(x * j))) - Float64(Float64(y4 * t_4) + Float64(a * t_1)))); elseif (y1 <= 6.4e+184) tmp = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))); else tmp = Float64(y1 * t_3); 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 = (z * t) - (x * y); t_2 = (x * j) - (z * k); t_3 = (y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))); t_4 = (y * k) - (t * j); tmp = 0.0; if (y1 <= -380000.0) tmp = y1 * ((i * t_2) + t_3); elseif (y1 <= -5.5e-80) tmp = ((y3 * y4) - (x * i)) * (y * c); elseif (y1 <= -1.1e-249) tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * t_1))); elseif (y1 <= 3.1e-264) tmp = b * ((y0 * ((z * k) - (x * j))) - ((y4 * t_4) + (a * t_1))); elseif (y1 <= 6.4e+184) tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); else tmp = y1 * t_3; 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[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -380000.0], N[(y1 * N[(N[(i * t$95$2), $MachinePrecision] + t$95$3), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -5.5e-80], N[(N[(N[(y3 * y4), $MachinePrecision] - N[(x * i), $MachinePrecision]), $MachinePrecision] * N[(y * c), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -1.1e-249], N[(i * N[(N[(y1 * t$95$2), $MachinePrecision] + N[(N[(y5 * t$95$4), $MachinePrecision] + N[(c * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 3.1e-264], N[(b * N[(N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y4 * t$95$4), $MachinePrecision] + N[(a * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 6.4e+184], N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * t$95$3), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot t - x \cdot y\\
t_2 := x \cdot j - z \cdot k\\
t_3 := y4 \cdot \left(k \cdot y2 - j \cdot y3\right) + a \cdot \left(z \cdot y3 - x \cdot y2\right)\\
t_4 := y \cdot k - t \cdot j\\
\mathbf{if}\;y1 \leq -380000:\\
\;\;\;\;y1 \cdot \left(i \cdot t_2 + t_3\right)\\
\mathbf{elif}\;y1 \leq -5.5 \cdot 10^{-80}:\\
\;\;\;\;\left(y3 \cdot y4 - x \cdot i\right) \cdot \left(y \cdot c\right)\\
\mathbf{elif}\;y1 \leq -1.1 \cdot 10^{-249}:\\
\;\;\;\;i \cdot \left(y1 \cdot t_2 + \left(y5 \cdot t_4 + c \cdot t_1\right)\right)\\
\mathbf{elif}\;y1 \leq 3.1 \cdot 10^{-264}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right) - \left(y4 \cdot t_4 + a \cdot t_1\right)\right)\\
\mathbf{elif}\;y1 \leq 6.4 \cdot 10^{+184}:\\
\;\;\;\;x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot t_3\\
\end{array}
\end{array}
if y1 < -3.8e5Initial program 33.4%
Taylor expanded in y1 around -inf 61.8%
mul-1-neg61.8%
*-commutative61.8%
distribute-rgt-neg-in61.8%
Simplified61.8%
if -3.8e5 < y1 < -5.4999999999999997e-80Initial program 35.7%
Taylor expanded in c around inf 71.8%
+-commutative71.8%
mul-1-neg71.8%
unsub-neg71.8%
*-commutative71.8%
*-commutative71.8%
*-commutative71.8%
*-commutative71.8%
Simplified71.8%
Taylor expanded in y around -inf 79.1%
*-commutative79.1%
*-commutative79.1%
associate-*l*79.1%
+-commutative79.1%
mul-1-neg79.1%
unsub-neg79.1%
*-commutative79.1%
Simplified79.1%
if -5.4999999999999997e-80 < y1 < -1.1e-249Initial program 43.7%
Taylor expanded in i around -inf 62.9%
if -1.1e-249 < y1 < 3.1000000000000002e-264Initial program 33.6%
Taylor expanded in b around inf 56.1%
if 3.1000000000000002e-264 < y1 < 6.39999999999999966e184Initial program 22.6%
Taylor expanded in x around inf 52.5%
if 6.39999999999999966e184 < y1 Initial program 21.4%
Taylor expanded in y1 around -inf 46.7%
mul-1-neg46.7%
*-commutative46.7%
distribute-rgt-neg-in46.7%
Simplified46.7%
Taylor expanded in i around 0 58.1%
associate-*r*58.1%
neg-mul-158.1%
sub-neg58.1%
*-commutative58.1%
sub-neg58.1%
*-commutative58.1%
Simplified58.1%
Final simplification58.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 (- (* x j) (* z k)))
(t_3 (+ (* y4 t_1) (* a (- (* z y3) (* x y2)))))
(t_4 (- (* y k) (* t j))))
(if (<= y1 -13200000000000.0)
(* y1 (+ (* i t_2) t_3))
(if (<= y1 -1.25e-79)
(* (- (* y3 y4) (* x i)) (* y c))
(if (<= y1 -5.5e-204)
(* i (+ (* y1 t_2) (+ (* y5 t_4) (* c (- (* z t) (* x y))))))
(if (<= y1 9.5e-147)
(* y5 (- (* a (- (* t y2) (* y y3))) (- (* y0 t_1) (* i t_4))))
(if (<= y1 1.12e+184)
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0)))))
(* y1 t_3))))))))
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 = (x * j) - (z * k);
double t_3 = (y4 * t_1) + (a * ((z * y3) - (x * y2)));
double t_4 = (y * k) - (t * j);
double tmp;
if (y1 <= -13200000000000.0) {
tmp = y1 * ((i * t_2) + t_3);
} else if (y1 <= -1.25e-79) {
tmp = ((y3 * y4) - (x * i)) * (y * c);
} else if (y1 <= -5.5e-204) {
tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * ((z * t) - (x * y)))));
} else if (y1 <= 9.5e-147) {
tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_4)));
} else if (y1 <= 1.12e+184) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
} else {
tmp = y1 * t_3;
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = (k * y2) - (j * y3)
t_2 = (x * j) - (z * k)
t_3 = (y4 * t_1) + (a * ((z * y3) - (x * y2)))
t_4 = (y * k) - (t * j)
if (y1 <= (-13200000000000.0d0)) then
tmp = y1 * ((i * t_2) + t_3)
else if (y1 <= (-1.25d-79)) then
tmp = ((y3 * y4) - (x * i)) * (y * c)
else if (y1 <= (-5.5d-204)) then
tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * ((z * t) - (x * y)))))
else if (y1 <= 9.5d-147) then
tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_4)))
else if (y1 <= 1.12d+184) then
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
else
tmp = y1 * t_3
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 = (k * y2) - (j * y3);
double t_2 = (x * j) - (z * k);
double t_3 = (y4 * t_1) + (a * ((z * y3) - (x * y2)));
double t_4 = (y * k) - (t * j);
double tmp;
if (y1 <= -13200000000000.0) {
tmp = y1 * ((i * t_2) + t_3);
} else if (y1 <= -1.25e-79) {
tmp = ((y3 * y4) - (x * i)) * (y * c);
} else if (y1 <= -5.5e-204) {
tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * ((z * t) - (x * y)))));
} else if (y1 <= 9.5e-147) {
tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_4)));
} else if (y1 <= 1.12e+184) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
} else {
tmp = y1 * t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (k * y2) - (j * y3) t_2 = (x * j) - (z * k) t_3 = (y4 * t_1) + (a * ((z * y3) - (x * y2))) t_4 = (y * k) - (t * j) tmp = 0 if y1 <= -13200000000000.0: tmp = y1 * ((i * t_2) + t_3) elif y1 <= -1.25e-79: tmp = ((y3 * y4) - (x * i)) * (y * c) elif y1 <= -5.5e-204: tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * ((z * t) - (x * y))))) elif y1 <= 9.5e-147: tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_4))) elif y1 <= 1.12e+184: tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) else: tmp = y1 * t_3 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(x * j) - Float64(z * k)) t_3 = Float64(Float64(y4 * t_1) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2)))) t_4 = Float64(Float64(y * k) - Float64(t * j)) tmp = 0.0 if (y1 <= -13200000000000.0) tmp = Float64(y1 * Float64(Float64(i * t_2) + t_3)); elseif (y1 <= -1.25e-79) tmp = Float64(Float64(Float64(y3 * y4) - Float64(x * i)) * Float64(y * c)); elseif (y1 <= -5.5e-204) tmp = Float64(i * Float64(Float64(y1 * t_2) + Float64(Float64(y5 * t_4) + Float64(c * Float64(Float64(z * t) - Float64(x * y)))))); elseif (y1 <= 9.5e-147) tmp = Float64(y5 * Float64(Float64(a * Float64(Float64(t * y2) - Float64(y * y3))) - Float64(Float64(y0 * t_1) - Float64(i * t_4)))); elseif (y1 <= 1.12e+184) tmp = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))); else tmp = Float64(y1 * t_3); 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 = (k * y2) - (j * y3); t_2 = (x * j) - (z * k); t_3 = (y4 * t_1) + (a * ((z * y3) - (x * y2))); t_4 = (y * k) - (t * j); tmp = 0.0; if (y1 <= -13200000000000.0) tmp = y1 * ((i * t_2) + t_3); elseif (y1 <= -1.25e-79) tmp = ((y3 * y4) - (x * i)) * (y * c); elseif (y1 <= -5.5e-204) tmp = i * ((y1 * t_2) + ((y5 * t_4) + (c * ((z * t) - (x * y))))); elseif (y1 <= 9.5e-147) tmp = y5 * ((a * ((t * y2) - (y * y3))) - ((y0 * t_1) - (i * t_4))); elseif (y1 <= 1.12e+184) tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); else tmp = y1 * t_3; 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[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y4 * t$95$1), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -13200000000000.0], N[(y1 * N[(N[(i * t$95$2), $MachinePrecision] + t$95$3), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -1.25e-79], N[(N[(N[(y3 * y4), $MachinePrecision] - N[(x * i), $MachinePrecision]), $MachinePrecision] * N[(y * c), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -5.5e-204], N[(i * N[(N[(y1 * t$95$2), $MachinePrecision] + N[(N[(y5 * t$95$4), $MachinePrecision] + N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 9.5e-147], N[(y5 * N[(N[(a * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y0 * t$95$1), $MachinePrecision] - N[(i * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 1.12e+184], N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * t$95$3), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot y2 - j \cdot y3\\
t_2 := x \cdot j - z \cdot k\\
t_3 := y4 \cdot t_1 + a \cdot \left(z \cdot y3 - x \cdot y2\right)\\
t_4 := y \cdot k - t \cdot j\\
\mathbf{if}\;y1 \leq -13200000000000:\\
\;\;\;\;y1 \cdot \left(i \cdot t_2 + t_3\right)\\
\mathbf{elif}\;y1 \leq -1.25 \cdot 10^{-79}:\\
\;\;\;\;\left(y3 \cdot y4 - x \cdot i\right) \cdot \left(y \cdot c\right)\\
\mathbf{elif}\;y1 \leq -5.5 \cdot 10^{-204}:\\
\;\;\;\;i \cdot \left(y1 \cdot t_2 + \left(y5 \cdot t_4 + c \cdot \left(z \cdot t - x \cdot y\right)\right)\right)\\
\mathbf{elif}\;y1 \leq 9.5 \cdot 10^{-147}:\\
\;\;\;\;y5 \cdot \left(a \cdot \left(t \cdot y2 - y \cdot y3\right) - \left(y0 \cdot t_1 - i \cdot t_4\right)\right)\\
\mathbf{elif}\;y1 \leq 1.12 \cdot 10^{+184}:\\
\;\;\;\;x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot t_3\\
\end{array}
\end{array}
if y1 < -1.32e13Initial program 33.4%
Taylor expanded in y1 around -inf 61.8%
mul-1-neg61.8%
*-commutative61.8%
distribute-rgt-neg-in61.8%
Simplified61.8%
if -1.32e13 < y1 < -1.25e-79Initial program 35.7%
Taylor expanded in c around inf 71.8%
+-commutative71.8%
mul-1-neg71.8%
unsub-neg71.8%
*-commutative71.8%
*-commutative71.8%
*-commutative71.8%
*-commutative71.8%
Simplified71.8%
Taylor expanded in y around -inf 79.1%
*-commutative79.1%
*-commutative79.1%
associate-*l*79.1%
+-commutative79.1%
mul-1-neg79.1%
unsub-neg79.1%
*-commutative79.1%
Simplified79.1%
if -1.25e-79 < y1 < -5.4999999999999999e-204Initial program 35.0%
Taylor expanded in i around -inf 65.3%
if -5.4999999999999999e-204 < y1 < 9.49999999999999986e-147Initial program 36.7%
Taylor expanded in y5 around -inf 54.3%
if 9.49999999999999986e-147 < y1 < 1.12000000000000007e184Initial program 23.3%
Taylor expanded in x around inf 54.6%
if 1.12000000000000007e184 < y1 Initial program 21.4%
Taylor expanded in y1 around -inf 46.7%
mul-1-neg46.7%
*-commutative46.7%
distribute-rgt-neg-in46.7%
Simplified46.7%
Taylor expanded in i around 0 58.1%
associate-*r*58.1%
neg-mul-158.1%
sub-neg58.1%
*-commutative58.1%
sub-neg58.1%
*-commutative58.1%
Simplified58.1%
Final simplification59.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* j (* x (- (* i y1) (* b y0)))))
(t_2 (* k (* y2 (- (* y1 y4) (* y0 y5))))))
(if (<= y4 -1.15e+256)
(* t (* y2 (- (* a y5) (* c y4))))
(if (<= y4 -3.2e+217)
t_1
(if (<= y4 -7e+162)
(* (* y1 y3) (* j (- y4)))
(if (<= y4 -1.05e-103)
t_2
(if (<= y4 4.2e-72)
t_1
(if (<= y4 0.5)
(* i (* c (- (* z t) (* x y))))
(if (<= y4 2.05e+35)
t_1
(if (<= y4 9.5e+194)
t_2
(* b (* y4 (- (* t j) (* y k))))))))))))))
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 = j * (x * ((i * y1) - (b * y0)));
double t_2 = k * (y2 * ((y1 * y4) - (y0 * y5)));
double tmp;
if (y4 <= -1.15e+256) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (y4 <= -3.2e+217) {
tmp = t_1;
} else if (y4 <= -7e+162) {
tmp = (y1 * y3) * (j * -y4);
} else if (y4 <= -1.05e-103) {
tmp = t_2;
} else if (y4 <= 4.2e-72) {
tmp = t_1;
} else if (y4 <= 0.5) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (y4 <= 2.05e+35) {
tmp = t_1;
} else if (y4 <= 9.5e+194) {
tmp = t_2;
} else {
tmp = b * (y4 * ((t * j) - (y * k)));
}
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_2
real(8) :: tmp
t_1 = j * (x * ((i * y1) - (b * y0)))
t_2 = k * (y2 * ((y1 * y4) - (y0 * y5)))
if (y4 <= (-1.15d+256)) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else if (y4 <= (-3.2d+217)) then
tmp = t_1
else if (y4 <= (-7d+162)) then
tmp = (y1 * y3) * (j * -y4)
else if (y4 <= (-1.05d-103)) then
tmp = t_2
else if (y4 <= 4.2d-72) then
tmp = t_1
else if (y4 <= 0.5d0) then
tmp = i * (c * ((z * t) - (x * y)))
else if (y4 <= 2.05d+35) then
tmp = t_1
else if (y4 <= 9.5d+194) then
tmp = t_2
else
tmp = b * (y4 * ((t * j) - (y * k)))
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 = j * (x * ((i * y1) - (b * y0)));
double t_2 = k * (y2 * ((y1 * y4) - (y0 * y5)));
double tmp;
if (y4 <= -1.15e+256) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (y4 <= -3.2e+217) {
tmp = t_1;
} else if (y4 <= -7e+162) {
tmp = (y1 * y3) * (j * -y4);
} else if (y4 <= -1.05e-103) {
tmp = t_2;
} else if (y4 <= 4.2e-72) {
tmp = t_1;
} else if (y4 <= 0.5) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (y4 <= 2.05e+35) {
tmp = t_1;
} else if (y4 <= 9.5e+194) {
tmp = t_2;
} else {
tmp = b * (y4 * ((t * j) - (y * k)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = j * (x * ((i * y1) - (b * y0))) t_2 = k * (y2 * ((y1 * y4) - (y0 * y5))) tmp = 0 if y4 <= -1.15e+256: tmp = t * (y2 * ((a * y5) - (c * y4))) elif y4 <= -3.2e+217: tmp = t_1 elif y4 <= -7e+162: tmp = (y1 * y3) * (j * -y4) elif y4 <= -1.05e-103: tmp = t_2 elif y4 <= 4.2e-72: tmp = t_1 elif y4 <= 0.5: tmp = i * (c * ((z * t) - (x * y))) elif y4 <= 2.05e+35: tmp = t_1 elif y4 <= 9.5e+194: tmp = t_2 else: tmp = b * (y4 * ((t * j) - (y * k))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))) t_2 = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) tmp = 0.0 if (y4 <= -1.15e+256) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); elseif (y4 <= -3.2e+217) tmp = t_1; elseif (y4 <= -7e+162) tmp = Float64(Float64(y1 * y3) * Float64(j * Float64(-y4))); elseif (y4 <= -1.05e-103) tmp = t_2; elseif (y4 <= 4.2e-72) tmp = t_1; elseif (y4 <= 0.5) tmp = Float64(i * Float64(c * Float64(Float64(z * t) - Float64(x * y)))); elseif (y4 <= 2.05e+35) tmp = t_1; elseif (y4 <= 9.5e+194) tmp = t_2; else tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); 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 = j * (x * ((i * y1) - (b * y0))); t_2 = k * (y2 * ((y1 * y4) - (y0 * y5))); tmp = 0.0; if (y4 <= -1.15e+256) tmp = t * (y2 * ((a * y5) - (c * y4))); elseif (y4 <= -3.2e+217) tmp = t_1; elseif (y4 <= -7e+162) tmp = (y1 * y3) * (j * -y4); elseif (y4 <= -1.05e-103) tmp = t_2; elseif (y4 <= 4.2e-72) tmp = t_1; elseif (y4 <= 0.5) tmp = i * (c * ((z * t) - (x * y))); elseif (y4 <= 2.05e+35) tmp = t_1; elseif (y4 <= 9.5e+194) tmp = t_2; else tmp = b * (y4 * ((t * j) - (y * k))); 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[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y4, -1.15e+256], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, -3.2e+217], t$95$1, If[LessEqual[y4, -7e+162], N[(N[(y1 * y3), $MachinePrecision] * N[(j * (-y4)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, -1.05e-103], t$95$2, If[LessEqual[y4, 4.2e-72], t$95$1, If[LessEqual[y4, 0.5], N[(i * N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 2.05e+35], t$95$1, If[LessEqual[y4, 9.5e+194], t$95$2, N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
t_2 := k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{if}\;y4 \leq -1.15 \cdot 10^{+256}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y4 \leq -3.2 \cdot 10^{+217}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y4 \leq -7 \cdot 10^{+162}:\\
\;\;\;\;\left(y1 \cdot y3\right) \cdot \left(j \cdot \left(-y4\right)\right)\\
\mathbf{elif}\;y4 \leq -1.05 \cdot 10^{-103}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y4 \leq 4.2 \cdot 10^{-72}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y4 \leq 0.5:\\
\;\;\;\;i \cdot \left(c \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;y4 \leq 2.05 \cdot 10^{+35}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y4 \leq 9.5 \cdot 10^{+194}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\end{array}
\end{array}
if y4 < -1.1499999999999999e256Initial program 10.0%
Taylor expanded in y2 around inf 50.1%
Taylor expanded in t around inf 70.2%
if -1.1499999999999999e256 < y4 < -3.2000000000000001e217 or -1.05000000000000002e-103 < y4 < 4.2e-72 or 0.5 < y4 < 2.0499999999999999e35Initial program 33.4%
Taylor expanded in x around inf 52.6%
Taylor expanded in j around inf 49.6%
if -3.2000000000000001e217 < y4 < -7.00000000000000036e162Initial program 18.8%
Taylor expanded in y1 around -inf 31.6%
mul-1-neg31.6%
*-commutative31.6%
distribute-rgt-neg-in31.6%
Simplified31.6%
Taylor expanded in y3 around -inf 62.6%
associate-*r*62.6%
Simplified62.6%
Taylor expanded in a around 0 62.7%
neg-mul-162.7%
distribute-rgt-neg-in62.7%
Simplified62.7%
if -7.00000000000000036e162 < y4 < -1.05000000000000002e-103 or 2.0499999999999999e35 < y4 < 9.5e194Initial program 30.1%
Taylor expanded in y2 around inf 48.5%
Taylor expanded in k around inf 45.8%
if 4.2e-72 < y4 < 0.5Initial program 23.6%
Taylor expanded in c around inf 48.2%
+-commutative48.2%
mul-1-neg48.2%
unsub-neg48.2%
*-commutative48.2%
*-commutative48.2%
*-commutative48.2%
*-commutative48.2%
Simplified48.2%
Taylor expanded in i around inf 40.2%
*-commutative40.2%
associate-*l*41.8%
*-commutative41.8%
Simplified41.8%
if 9.5e194 < y4 Initial program 30.8%
Taylor expanded in b around inf 51.1%
Taylor expanded in y4 around inf 58.6%
Final simplification50.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* z (* c (- (* t i) (* y0 y3)))))
(t_2 (* x (* a (- (* y b) (* y1 y2))))))
(if (<= a -1.1e+149)
t_2
(if (<= a -6.2e-8)
t_1
(if (<= a -5.8e-126)
(* b (* y0 (- (* z k) (* x j))))
(if (<= a -3.55e-191)
t_1
(if (<= a 2.4e-296)
(* k (* y2 (- (* y1 y4) (* y0 y5))))
(if (<= a 1.22e-111)
(* i (* c (- (* z t) (* x y))))
(if (<= a 2.25e+60)
(* i (* y1 (- (* x j) (* z k))))
(if (<= a 1.12e+254)
t_2
(* (* a b) (- (* x y) (* z t)))))))))))))
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 * (c * ((t * i) - (y0 * y3)));
double t_2 = x * (a * ((y * b) - (y1 * y2)));
double tmp;
if (a <= -1.1e+149) {
tmp = t_2;
} else if (a <= -6.2e-8) {
tmp = t_1;
} else if (a <= -5.8e-126) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (a <= -3.55e-191) {
tmp = t_1;
} else if (a <= 2.4e-296) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (a <= 1.22e-111) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (a <= 2.25e+60) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (a <= 1.12e+254) {
tmp = t_2;
} else {
tmp = (a * b) * ((x * y) - (z * t));
}
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_2
real(8) :: tmp
t_1 = z * (c * ((t * i) - (y0 * y3)))
t_2 = x * (a * ((y * b) - (y1 * y2)))
if (a <= (-1.1d+149)) then
tmp = t_2
else if (a <= (-6.2d-8)) then
tmp = t_1
else if (a <= (-5.8d-126)) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (a <= (-3.55d-191)) then
tmp = t_1
else if (a <= 2.4d-296) then
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)))
else if (a <= 1.22d-111) then
tmp = i * (c * ((z * t) - (x * y)))
else if (a <= 2.25d+60) then
tmp = i * (y1 * ((x * j) - (z * k)))
else if (a <= 1.12d+254) then
tmp = t_2
else
tmp = (a * b) * ((x * y) - (z * t))
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 = z * (c * ((t * i) - (y0 * y3)));
double t_2 = x * (a * ((y * b) - (y1 * y2)));
double tmp;
if (a <= -1.1e+149) {
tmp = t_2;
} else if (a <= -6.2e-8) {
tmp = t_1;
} else if (a <= -5.8e-126) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (a <= -3.55e-191) {
tmp = t_1;
} else if (a <= 2.4e-296) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (a <= 1.22e-111) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (a <= 2.25e+60) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (a <= 1.12e+254) {
tmp = t_2;
} else {
tmp = (a * b) * ((x * y) - (z * t));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = z * (c * ((t * i) - (y0 * y3))) t_2 = x * (a * ((y * b) - (y1 * y2))) tmp = 0 if a <= -1.1e+149: tmp = t_2 elif a <= -6.2e-8: tmp = t_1 elif a <= -5.8e-126: tmp = b * (y0 * ((z * k) - (x * j))) elif a <= -3.55e-191: tmp = t_1 elif a <= 2.4e-296: tmp = k * (y2 * ((y1 * y4) - (y0 * y5))) elif a <= 1.22e-111: tmp = i * (c * ((z * t) - (x * y))) elif a <= 2.25e+60: tmp = i * (y1 * ((x * j) - (z * k))) elif a <= 1.12e+254: tmp = t_2 else: tmp = (a * b) * ((x * y) - (z * t)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(z * Float64(c * Float64(Float64(t * i) - Float64(y0 * y3)))) t_2 = Float64(x * Float64(a * Float64(Float64(y * b) - Float64(y1 * y2)))) tmp = 0.0 if (a <= -1.1e+149) tmp = t_2; elseif (a <= -6.2e-8) tmp = t_1; elseif (a <= -5.8e-126) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (a <= -3.55e-191) tmp = t_1; elseif (a <= 2.4e-296) tmp = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (a <= 1.22e-111) tmp = Float64(i * Float64(c * Float64(Float64(z * t) - Float64(x * y)))); elseif (a <= 2.25e+60) tmp = Float64(i * Float64(y1 * Float64(Float64(x * j) - Float64(z * k)))); elseif (a <= 1.12e+254) tmp = t_2; else tmp = Float64(Float64(a * b) * Float64(Float64(x * y) - Float64(z * t))); 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 = z * (c * ((t * i) - (y0 * y3))); t_2 = x * (a * ((y * b) - (y1 * y2))); tmp = 0.0; if (a <= -1.1e+149) tmp = t_2; elseif (a <= -6.2e-8) tmp = t_1; elseif (a <= -5.8e-126) tmp = b * (y0 * ((z * k) - (x * j))); elseif (a <= -3.55e-191) tmp = t_1; elseif (a <= 2.4e-296) tmp = k * (y2 * ((y1 * y4) - (y0 * y5))); elseif (a <= 1.22e-111) tmp = i * (c * ((z * t) - (x * y))); elseif (a <= 2.25e+60) tmp = i * (y1 * ((x * j) - (z * k))); elseif (a <= 1.12e+254) tmp = t_2; else tmp = (a * b) * ((x * y) - (z * t)); 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[(z * N[(c * N[(N[(t * i), $MachinePrecision] - N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(a * N[(N[(y * b), $MachinePrecision] - N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.1e+149], t$95$2, If[LessEqual[a, -6.2e-8], t$95$1, If[LessEqual[a, -5.8e-126], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -3.55e-191], t$95$1, If[LessEqual[a, 2.4e-296], N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.22e-111], N[(i * N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.25e+60], N[(i * N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.12e+254], t$95$2, N[(N[(a * b), $MachinePrecision] * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(c \cdot \left(t \cdot i - y0 \cdot y3\right)\right)\\
t_2 := x \cdot \left(a \cdot \left(y \cdot b - y1 \cdot y2\right)\right)\\
\mathbf{if}\;a \leq -1.1 \cdot 10^{+149}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -6.2 \cdot 10^{-8}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -5.8 \cdot 10^{-126}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;a \leq -3.55 \cdot 10^{-191}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 2.4 \cdot 10^{-296}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 1.22 \cdot 10^{-111}:\\
\;\;\;\;i \cdot \left(c \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;a \leq 2.25 \cdot 10^{+60}:\\
\;\;\;\;i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;a \leq 1.12 \cdot 10^{+254}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;\left(a \cdot b\right) \cdot \left(x \cdot y - z \cdot t\right)\\
\end{array}
\end{array}
if a < -1.1e149 or 2.25000000000000006e60 < a < 1.12e254Initial program 22.3%
Taylor expanded in x around inf 47.5%
Taylor expanded in a around inf 56.3%
+-commutative56.3%
mul-1-neg56.3%
unsub-neg56.3%
*-commutative56.3%
Simplified56.3%
if -1.1e149 < a < -6.2e-8 or -5.79999999999999975e-126 < a < -3.55000000000000013e-191Initial program 38.0%
Taylor expanded in z around -inf 44.4%
Taylor expanded in c around inf 52.6%
+-commutative52.6%
mul-1-neg52.6%
unsub-neg52.6%
Simplified52.6%
if -6.2e-8 < a < -5.79999999999999975e-126Initial program 7.2%
Taylor expanded in b around inf 43.2%
Taylor expanded in y0 around inf 57.5%
if -3.55000000000000013e-191 < a < 2.39999999999999996e-296Initial program 39.4%
Taylor expanded in y2 around inf 63.9%
Taylor expanded in k around inf 55.2%
if 2.39999999999999996e-296 < a < 1.22e-111Initial program 30.1%
Taylor expanded in c around inf 46.8%
+-commutative46.8%
mul-1-neg46.8%
unsub-neg46.8%
*-commutative46.8%
*-commutative46.8%
*-commutative46.8%
*-commutative46.8%
Simplified46.8%
Taylor expanded in i around inf 39.5%
*-commutative39.5%
associate-*l*49.6%
*-commutative49.6%
Simplified49.6%
if 1.22e-111 < a < 2.25000000000000006e60Initial program 31.5%
Taylor expanded in y1 around -inf 50.7%
mul-1-neg50.7%
*-commutative50.7%
distribute-rgt-neg-in50.7%
Simplified50.7%
Taylor expanded in i around -inf 51.0%
if 1.12e254 < a Initial program 33.2%
Taylor expanded in b around inf 58.8%
Taylor expanded in a around inf 68.3%
associate-*r*76.1%
Simplified76.1%
Final simplification54.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(* y1 (+ (* y4 (- (* k y2) (* j y3))) (* a (- (* z y3) (* x y2))))))
(t_2 (* z (* c (- (* t i) (* y0 y3))))))
(if (<= a -1e+150)
t_1
(if (<= a -3.8e+28)
t_2
(if (<= a -2.4e-126)
t_1
(if (<= a -4e-195)
t_2
(if (<= a 1.1e-298)
(* k (* y2 (- (* y1 y4) (* y0 y5))))
(if (<= a 6.2e-106)
(* i (* c (- (* z t) (* x y))))
(if (<= a 8.6e+59)
(* i (* y1 (- (* x j) (* z k))))
(if (<= a 4.2e+251)
(* x (* a (- (* y b) (* y1 y2))))
(* (* a b) (- (* x y) (* z t)))))))))))))
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 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))));
double t_2 = z * (c * ((t * i) - (y0 * y3)));
double tmp;
if (a <= -1e+150) {
tmp = t_1;
} else if (a <= -3.8e+28) {
tmp = t_2;
} else if (a <= -2.4e-126) {
tmp = t_1;
} else if (a <= -4e-195) {
tmp = t_2;
} else if (a <= 1.1e-298) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (a <= 6.2e-106) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (a <= 8.6e+59) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (a <= 4.2e+251) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else {
tmp = (a * b) * ((x * y) - (z * t));
}
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_2
real(8) :: tmp
t_1 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))))
t_2 = z * (c * ((t * i) - (y0 * y3)))
if (a <= (-1d+150)) then
tmp = t_1
else if (a <= (-3.8d+28)) then
tmp = t_2
else if (a <= (-2.4d-126)) then
tmp = t_1
else if (a <= (-4d-195)) then
tmp = t_2
else if (a <= 1.1d-298) then
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)))
else if (a <= 6.2d-106) then
tmp = i * (c * ((z * t) - (x * y)))
else if (a <= 8.6d+59) then
tmp = i * (y1 * ((x * j) - (z * k)))
else if (a <= 4.2d+251) then
tmp = x * (a * ((y * b) - (y1 * y2)))
else
tmp = (a * b) * ((x * y) - (z * t))
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 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))));
double t_2 = z * (c * ((t * i) - (y0 * y3)));
double tmp;
if (a <= -1e+150) {
tmp = t_1;
} else if (a <= -3.8e+28) {
tmp = t_2;
} else if (a <= -2.4e-126) {
tmp = t_1;
} else if (a <= -4e-195) {
tmp = t_2;
} else if (a <= 1.1e-298) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (a <= 6.2e-106) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (a <= 8.6e+59) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (a <= 4.2e+251) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else {
tmp = (a * b) * ((x * y) - (z * t));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))) t_2 = z * (c * ((t * i) - (y0 * y3))) tmp = 0 if a <= -1e+150: tmp = t_1 elif a <= -3.8e+28: tmp = t_2 elif a <= -2.4e-126: tmp = t_1 elif a <= -4e-195: tmp = t_2 elif a <= 1.1e-298: tmp = k * (y2 * ((y1 * y4) - (y0 * y5))) elif a <= 6.2e-106: tmp = i * (c * ((z * t) - (x * y))) elif a <= 8.6e+59: tmp = i * (y1 * ((x * j) - (z * k))) elif a <= 4.2e+251: tmp = x * (a * ((y * b) - (y1 * y2))) else: tmp = (a * b) * ((x * y) - (z * t)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y1 * Float64(Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3))) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2))))) t_2 = Float64(z * Float64(c * Float64(Float64(t * i) - Float64(y0 * y3)))) tmp = 0.0 if (a <= -1e+150) tmp = t_1; elseif (a <= -3.8e+28) tmp = t_2; elseif (a <= -2.4e-126) tmp = t_1; elseif (a <= -4e-195) tmp = t_2; elseif (a <= 1.1e-298) tmp = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (a <= 6.2e-106) tmp = Float64(i * Float64(c * Float64(Float64(z * t) - Float64(x * y)))); elseif (a <= 8.6e+59) tmp = Float64(i * Float64(y1 * Float64(Float64(x * j) - Float64(z * k)))); elseif (a <= 4.2e+251) tmp = Float64(x * Float64(a * Float64(Float64(y * b) - Float64(y1 * y2)))); else tmp = Float64(Float64(a * b) * Float64(Float64(x * y) - Float64(z * t))); 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 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))); t_2 = z * (c * ((t * i) - (y0 * y3))); tmp = 0.0; if (a <= -1e+150) tmp = t_1; elseif (a <= -3.8e+28) tmp = t_2; elseif (a <= -2.4e-126) tmp = t_1; elseif (a <= -4e-195) tmp = t_2; elseif (a <= 1.1e-298) tmp = k * (y2 * ((y1 * y4) - (y0 * y5))); elseif (a <= 6.2e-106) tmp = i * (c * ((z * t) - (x * y))); elseif (a <= 8.6e+59) tmp = i * (y1 * ((x * j) - (z * k))); elseif (a <= 4.2e+251) tmp = x * (a * ((y * b) - (y1 * y2))); else tmp = (a * b) * ((x * y) - (z * t)); 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[(y1 * N[(N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(z * N[(c * N[(N[(t * i), $MachinePrecision] - N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1e+150], t$95$1, If[LessEqual[a, -3.8e+28], t$95$2, If[LessEqual[a, -2.4e-126], t$95$1, If[LessEqual[a, -4e-195], t$95$2, If[LessEqual[a, 1.1e-298], N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6.2e-106], N[(i * N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.6e+59], N[(i * N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.2e+251], N[(x * N[(a * N[(N[(y * b), $MachinePrecision] - N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(a * b), $MachinePrecision] * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right) + a \cdot \left(z \cdot y3 - x \cdot y2\right)\right)\\
t_2 := z \cdot \left(c \cdot \left(t \cdot i - y0 \cdot y3\right)\right)\\
\mathbf{if}\;a \leq -1 \cdot 10^{+150}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -3.8 \cdot 10^{+28}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -2.4 \cdot 10^{-126}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -4 \cdot 10^{-195}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 1.1 \cdot 10^{-298}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 6.2 \cdot 10^{-106}:\\
\;\;\;\;i \cdot \left(c \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;a \leq 8.6 \cdot 10^{+59}:\\
\;\;\;\;i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{+251}:\\
\;\;\;\;x \cdot \left(a \cdot \left(y \cdot b - y1 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(a \cdot b\right) \cdot \left(x \cdot y - z \cdot t\right)\\
\end{array}
\end{array}
if a < -9.99999999999999981e149 or -3.7999999999999999e28 < a < -2.40000000000000007e-126Initial program 24.0%
Taylor expanded in y1 around -inf 48.4%
mul-1-neg48.4%
*-commutative48.4%
distribute-rgt-neg-in48.4%
Simplified48.4%
Taylor expanded in i around 0 52.7%
associate-*r*52.7%
neg-mul-152.7%
sub-neg52.7%
*-commutative52.7%
sub-neg52.7%
*-commutative52.7%
Simplified52.7%
if -9.99999999999999981e149 < a < -3.7999999999999999e28 or -2.40000000000000007e-126 < a < -4.0000000000000004e-195Initial program 33.4%
Taylor expanded in z around -inf 48.0%
Taylor expanded in c around inf 59.9%
+-commutative59.9%
mul-1-neg59.9%
unsub-neg59.9%
Simplified59.9%
if -4.0000000000000004e-195 < a < 1.1e-298Initial program 39.4%
Taylor expanded in y2 around inf 63.9%
Taylor expanded in k around inf 55.2%
if 1.1e-298 < a < 6.19999999999999971e-106Initial program 30.1%
Taylor expanded in c around inf 46.8%
+-commutative46.8%
mul-1-neg46.8%
unsub-neg46.8%
*-commutative46.8%
*-commutative46.8%
*-commutative46.8%
*-commutative46.8%
Simplified46.8%
Taylor expanded in i around inf 39.5%
*-commutative39.5%
associate-*l*49.6%
*-commutative49.6%
Simplified49.6%
if 6.19999999999999971e-106 < a < 8.60000000000000049e59Initial program 31.5%
Taylor expanded in y1 around -inf 50.7%
mul-1-neg50.7%
*-commutative50.7%
distribute-rgt-neg-in50.7%
Simplified50.7%
Taylor expanded in i around -inf 51.0%
if 8.60000000000000049e59 < a < 4.2000000000000001e251Initial program 22.9%
Taylor expanded in x around inf 48.1%
Taylor expanded in a around inf 57.4%
+-commutative57.4%
mul-1-neg57.4%
unsub-neg57.4%
*-commutative57.4%
Simplified57.4%
if 4.2000000000000001e251 < a Initial program 33.2%
Taylor expanded in b around inf 58.8%
Taylor expanded in a around inf 68.3%
associate-*r*76.1%
Simplified76.1%
Final simplification55.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(* y1 (+ (* y4 (- (* k y2) (* j y3))) (* a (- (* z y3) (* x y2)))))))
(if (<= a -3.8e+143)
t_1
(if (<= a -4.8e+70)
(* z (+ (* t (- (* c i) (* a b))) (* y3 (- (* a y1) (* c y0)))))
(if (<= a -7.2e-127)
t_1
(if (<= a -2.25e-195)
(* z (* c (- (* t i) (* y0 y3))))
(if (<= a 9e-292)
(* k (* y2 (- (* y1 y4) (* y0 y5))))
(if (<= a 6.4e-104)
(* i (* c (- (* z t) (* x y))))
(if (<= a 4.7e+60)
(* i (* y1 (- (* x j) (* z k))))
(if (<= a 5.8e+253)
(* x (* a (- (* y b) (* y1 y2))))
(* (* a b) (- (* x y) (* z t)))))))))))))
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 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))));
double tmp;
if (a <= -3.8e+143) {
tmp = t_1;
} else if (a <= -4.8e+70) {
tmp = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0))));
} else if (a <= -7.2e-127) {
tmp = t_1;
} else if (a <= -2.25e-195) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (a <= 9e-292) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (a <= 6.4e-104) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (a <= 4.7e+60) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (a <= 5.8e+253) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else {
tmp = (a * b) * ((x * y) - (z * t));
}
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 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))))
if (a <= (-3.8d+143)) then
tmp = t_1
else if (a <= (-4.8d+70)) then
tmp = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0))))
else if (a <= (-7.2d-127)) then
tmp = t_1
else if (a <= (-2.25d-195)) then
tmp = z * (c * ((t * i) - (y0 * y3)))
else if (a <= 9d-292) then
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)))
else if (a <= 6.4d-104) then
tmp = i * (c * ((z * t) - (x * y)))
else if (a <= 4.7d+60) then
tmp = i * (y1 * ((x * j) - (z * k)))
else if (a <= 5.8d+253) then
tmp = x * (a * ((y * b) - (y1 * y2)))
else
tmp = (a * b) * ((x * y) - (z * t))
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 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2))));
double tmp;
if (a <= -3.8e+143) {
tmp = t_1;
} else if (a <= -4.8e+70) {
tmp = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0))));
} else if (a <= -7.2e-127) {
tmp = t_1;
} else if (a <= -2.25e-195) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (a <= 9e-292) {
tmp = k * (y2 * ((y1 * y4) - (y0 * y5)));
} else if (a <= 6.4e-104) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (a <= 4.7e+60) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (a <= 5.8e+253) {
tmp = x * (a * ((y * b) - (y1 * y2)));
} else {
tmp = (a * b) * ((x * y) - (z * t));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))) tmp = 0 if a <= -3.8e+143: tmp = t_1 elif a <= -4.8e+70: tmp = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0)))) elif a <= -7.2e-127: tmp = t_1 elif a <= -2.25e-195: tmp = z * (c * ((t * i) - (y0 * y3))) elif a <= 9e-292: tmp = k * (y2 * ((y1 * y4) - (y0 * y5))) elif a <= 6.4e-104: tmp = i * (c * ((z * t) - (x * y))) elif a <= 4.7e+60: tmp = i * (y1 * ((x * j) - (z * k))) elif a <= 5.8e+253: tmp = x * (a * ((y * b) - (y1 * y2))) else: tmp = (a * b) * ((x * y) - (z * t)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y1 * Float64(Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3))) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2))))) tmp = 0.0 if (a <= -3.8e+143) tmp = t_1; elseif (a <= -4.8e+70) tmp = Float64(z * Float64(Float64(t * Float64(Float64(c * i) - Float64(a * b))) + Float64(y3 * Float64(Float64(a * y1) - Float64(c * y0))))); elseif (a <= -7.2e-127) tmp = t_1; elseif (a <= -2.25e-195) tmp = Float64(z * Float64(c * Float64(Float64(t * i) - Float64(y0 * y3)))); elseif (a <= 9e-292) tmp = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (a <= 6.4e-104) tmp = Float64(i * Float64(c * Float64(Float64(z * t) - Float64(x * y)))); elseif (a <= 4.7e+60) tmp = Float64(i * Float64(y1 * Float64(Float64(x * j) - Float64(z * k)))); elseif (a <= 5.8e+253) tmp = Float64(x * Float64(a * Float64(Float64(y * b) - Float64(y1 * y2)))); else tmp = Float64(Float64(a * b) * Float64(Float64(x * y) - Float64(z * t))); 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 = y1 * ((y4 * ((k * y2) - (j * y3))) + (a * ((z * y3) - (x * y2)))); tmp = 0.0; if (a <= -3.8e+143) tmp = t_1; elseif (a <= -4.8e+70) tmp = z * ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0)))); elseif (a <= -7.2e-127) tmp = t_1; elseif (a <= -2.25e-195) tmp = z * (c * ((t * i) - (y0 * y3))); elseif (a <= 9e-292) tmp = k * (y2 * ((y1 * y4) - (y0 * y5))); elseif (a <= 6.4e-104) tmp = i * (c * ((z * t) - (x * y))); elseif (a <= 4.7e+60) tmp = i * (y1 * ((x * j) - (z * k))); elseif (a <= 5.8e+253) tmp = x * (a * ((y * b) - (y1 * y2))); else tmp = (a * b) * ((x * y) - (z * t)); 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[(y1 * N[(N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.8e+143], t$95$1, If[LessEqual[a, -4.8e+70], N[(z * N[(N[(t * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y3 * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -7.2e-127], t$95$1, If[LessEqual[a, -2.25e-195], N[(z * N[(c * N[(N[(t * i), $MachinePrecision] - N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9e-292], N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6.4e-104], N[(i * N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.7e+60], N[(i * N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5.8e+253], N[(x * N[(a * N[(N[(y * b), $MachinePrecision] - N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(a * b), $MachinePrecision] * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right) + a \cdot \left(z \cdot y3 - x \cdot y2\right)\right)\\
\mathbf{if}\;a \leq -3.8 \cdot 10^{+143}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -4.8 \cdot 10^{+70}:\\
\;\;\;\;z \cdot \left(t \cdot \left(c \cdot i - a \cdot b\right) + y3 \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\\
\mathbf{elif}\;a \leq -7.2 \cdot 10^{-127}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -2.25 \cdot 10^{-195}:\\
\;\;\;\;z \cdot \left(c \cdot \left(t \cdot i - y0 \cdot y3\right)\right)\\
\mathbf{elif}\;a \leq 9 \cdot 10^{-292}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;a \leq 6.4 \cdot 10^{-104}:\\
\;\;\;\;i \cdot \left(c \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;a \leq 4.7 \cdot 10^{+60}:\\
\;\;\;\;i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;a \leq 5.8 \cdot 10^{+253}:\\
\;\;\;\;x \cdot \left(a \cdot \left(y \cdot b - y1 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(a \cdot b\right) \cdot \left(x \cdot y - z \cdot t\right)\\
\end{array}
\end{array}
if a < -3.8e143 or -4.79999999999999974e70 < a < -7.1999999999999999e-127Initial program 25.8%
Taylor expanded in y1 around -inf 48.8%
mul-1-neg48.8%
*-commutative48.8%
distribute-rgt-neg-in48.8%
Simplified48.8%
Taylor expanded in i around 0 52.5%
associate-*r*52.5%
neg-mul-152.5%
sub-neg52.5%
*-commutative52.5%
sub-neg52.5%
*-commutative52.5%
Simplified52.5%
if -3.8e143 < a < -4.79999999999999974e70Initial program 33.3%
Taylor expanded in z around -inf 53.5%
Taylor expanded in k around 0 60.2%
if -7.1999999999999999e-127 < a < -2.25e-195Initial program 31.8%
Taylor expanded in z around -inf 48.2%
Taylor expanded in c around inf 64.0%
+-commutative64.0%
mul-1-neg64.0%
unsub-neg64.0%
Simplified64.0%
if -2.25e-195 < a < 8.99999999999999913e-292Initial program 39.4%
Taylor expanded in y2 around inf 63.9%
Taylor expanded in k around inf 55.2%
if 8.99999999999999913e-292 < a < 6.39999999999999978e-104Initial program 30.1%
Taylor expanded in c around inf 46.8%
+-commutative46.8%
mul-1-neg46.8%
unsub-neg46.8%
*-commutative46.8%
*-commutative46.8%
*-commutative46.8%
*-commutative46.8%
Simplified46.8%
Taylor expanded in i around inf 39.5%
*-commutative39.5%
associate-*l*49.6%
*-commutative49.6%
Simplified49.6%
if 6.39999999999999978e-104 < a < 4.6999999999999998e60Initial program 31.5%
Taylor expanded in y1 around -inf 50.7%
mul-1-neg50.7%
*-commutative50.7%
distribute-rgt-neg-in50.7%
Simplified50.7%
Taylor expanded in i around -inf 51.0%
if 4.6999999999999998e60 < a < 5.79999999999999976e253Initial program 22.9%
Taylor expanded in x around inf 48.1%
Taylor expanded in a around inf 57.4%
+-commutative57.4%
mul-1-neg57.4%
unsub-neg57.4%
*-commutative57.4%
Simplified57.4%
if 5.79999999999999976e253 < a Initial program 33.2%
Taylor expanded in b around inf 58.8%
Taylor expanded in a around inf 68.3%
associate-*r*76.1%
Simplified76.1%
Final simplification55.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* y4 (- (* t j) (* y k))))))
(if (<= x -8.4e+124)
(* i (* j (* x y1)))
(if (<= x -5.3e-52)
(* c (* i (- (* z t) (* x y))))
(if (<= x 1.15e-257)
(* t (* y2 (- (* a y5) (* c y4))))
(if (<= x 3.3e-152)
t_1
(if (<= x 0.053)
(* y1 (* y4 (- (* k y2) (* j y3))))
(if (or (<= x 7.8e+88) (not (<= x 8.8e+117)))
(* j (* x (- (* i y1) (* b y0))))
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 * (y4 * ((t * j) - (y * k)));
double tmp;
if (x <= -8.4e+124) {
tmp = i * (j * (x * y1));
} else if (x <= -5.3e-52) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 1.15e-257) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 3.3e-152) {
tmp = t_1;
} else if (x <= 0.053) {
tmp = y1 * (y4 * ((k * y2) - (j * y3)));
} else if ((x <= 7.8e+88) || !(x <= 8.8e+117)) {
tmp = j * (x * ((i * y1) - (b * y0)));
} 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 * (y4 * ((t * j) - (y * k)))
if (x <= (-8.4d+124)) then
tmp = i * (j * (x * y1))
else if (x <= (-5.3d-52)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (x <= 1.15d-257) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else if (x <= 3.3d-152) then
tmp = t_1
else if (x <= 0.053d0) then
tmp = y1 * (y4 * ((k * y2) - (j * y3)))
else if ((x <= 7.8d+88) .or. (.not. (x <= 8.8d+117))) then
tmp = j * (x * ((i * y1) - (b * y0)))
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 * (y4 * ((t * j) - (y * k)));
double tmp;
if (x <= -8.4e+124) {
tmp = i * (j * (x * y1));
} else if (x <= -5.3e-52) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 1.15e-257) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 3.3e-152) {
tmp = t_1;
} else if (x <= 0.053) {
tmp = y1 * (y4 * ((k * y2) - (j * y3)));
} else if ((x <= 7.8e+88) || !(x <= 8.8e+117)) {
tmp = j * (x * ((i * y1) - (b * y0)));
} 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 * (y4 * ((t * j) - (y * k))) tmp = 0 if x <= -8.4e+124: tmp = i * (j * (x * y1)) elif x <= -5.3e-52: tmp = c * (i * ((z * t) - (x * y))) elif x <= 1.15e-257: tmp = t * (y2 * ((a * y5) - (c * y4))) elif x <= 3.3e-152: tmp = t_1 elif x <= 0.053: tmp = y1 * (y4 * ((k * y2) - (j * y3))) elif (x <= 7.8e+88) or not (x <= 8.8e+117): tmp = j * (x * ((i * y1) - (b * y0))) 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(y4 * Float64(Float64(t * j) - Float64(y * k)))) tmp = 0.0 if (x <= -8.4e+124) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -5.3e-52) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (x <= 1.15e-257) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); elseif (x <= 3.3e-152) tmp = t_1; elseif (x <= 0.053) tmp = Float64(y1 * Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif ((x <= 7.8e+88) || !(x <= 8.8e+117)) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); 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 * (y4 * ((t * j) - (y * k))); tmp = 0.0; if (x <= -8.4e+124) tmp = i * (j * (x * y1)); elseif (x <= -5.3e-52) tmp = c * (i * ((z * t) - (x * y))); elseif (x <= 1.15e-257) tmp = t * (y2 * ((a * y5) - (c * y4))); elseif (x <= 3.3e-152) tmp = t_1; elseif (x <= 0.053) tmp = y1 * (y4 * ((k * y2) - (j * y3))); elseif ((x <= 7.8e+88) || ~((x <= 8.8e+117))) tmp = j * (x * ((i * y1) - (b * y0))); 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[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -8.4e+124], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -5.3e-52], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.15e-257], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.3e-152], t$95$1, If[LessEqual[x, 0.053], N[(y1 * N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[x, 7.8e+88], N[Not[LessEqual[x, 8.8e+117]], $MachinePrecision]], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{if}\;x \leq -8.4 \cdot 10^{+124}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -5.3 \cdot 10^{-52}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;x \leq 1.15 \cdot 10^{-257}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;x \leq 3.3 \cdot 10^{-152}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 0.053:\\
\;\;\;\;y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;x \leq 7.8 \cdot 10^{+88} \lor \neg \left(x \leq 8.8 \cdot 10^{+117}\right):\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if x < -8.40000000000000046e124Initial program 28.7%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 51.2%
distribute-lft-out--51.2%
*-commutative51.2%
*-commutative51.2%
Simplified51.2%
Taylor expanded in y2 around 0 54.5%
*-commutative54.5%
Simplified54.5%
if -8.40000000000000046e124 < x < -5.3000000000000003e-52Initial program 18.8%
Taylor expanded in c around inf 50.4%
+-commutative50.4%
mul-1-neg50.4%
unsub-neg50.4%
*-commutative50.4%
*-commutative50.4%
*-commutative50.4%
*-commutative50.4%
Simplified50.4%
Taylor expanded in i around inf 53.7%
*-commutative53.7%
Simplified53.7%
if -5.3000000000000003e-52 < x < 1.15e-257Initial program 29.8%
Taylor expanded in y2 around inf 47.9%
Taylor expanded in t around inf 44.8%
if 1.15e-257 < x < 3.29999999999999998e-152 or 7.8000000000000002e88 < x < 8.80000000000000056e117Initial program 33.5%
Taylor expanded in b around inf 46.0%
Taylor expanded in y4 around inf 49.3%
if 3.29999999999999998e-152 < x < 0.0529999999999999985Initial program 29.2%
Taylor expanded in y1 around -inf 46.0%
mul-1-neg46.0%
*-commutative46.0%
distribute-rgt-neg-in46.0%
Simplified46.0%
Taylor expanded in y4 around -inf 43.7%
*-commutative43.7%
Simplified43.7%
if 0.0529999999999999985 < x < 7.8000000000000002e88 or 8.80000000000000056e117 < x Initial program 36.2%
Taylor expanded in x around inf 72.3%
Taylor expanded in j around inf 62.4%
Final simplification51.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* y4 (- (* t j) (* y k))))))
(if (<= x -6e+140)
(* i (* j (* x y1)))
(if (<= x -5.8e-67)
(* (* x y) (- (* a b) (* c i)))
(if (<= x 7.5e-259)
(* t (* y2 (- (* a y5) (* c y4))))
(if (<= x 3.3e-152)
t_1
(if (<= x 0.0205)
(* y1 (* y4 (- (* k y2) (* j y3))))
(if (or (<= x 5.5e+88) (not (<= x 1.4e+119)))
(* j (* x (- (* i y1) (* b y0))))
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 * (y4 * ((t * j) - (y * k)));
double tmp;
if (x <= -6e+140) {
tmp = i * (j * (x * y1));
} else if (x <= -5.8e-67) {
tmp = (x * y) * ((a * b) - (c * i));
} else if (x <= 7.5e-259) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 3.3e-152) {
tmp = t_1;
} else if (x <= 0.0205) {
tmp = y1 * (y4 * ((k * y2) - (j * y3)));
} else if ((x <= 5.5e+88) || !(x <= 1.4e+119)) {
tmp = j * (x * ((i * y1) - (b * y0)));
} 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 * (y4 * ((t * j) - (y * k)))
if (x <= (-6d+140)) then
tmp = i * (j * (x * y1))
else if (x <= (-5.8d-67)) then
tmp = (x * y) * ((a * b) - (c * i))
else if (x <= 7.5d-259) then
tmp = t * (y2 * ((a * y5) - (c * y4)))
else if (x <= 3.3d-152) then
tmp = t_1
else if (x <= 0.0205d0) then
tmp = y1 * (y4 * ((k * y2) - (j * y3)))
else if ((x <= 5.5d+88) .or. (.not. (x <= 1.4d+119))) then
tmp = j * (x * ((i * y1) - (b * y0)))
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 * (y4 * ((t * j) - (y * k)));
double tmp;
if (x <= -6e+140) {
tmp = i * (j * (x * y1));
} else if (x <= -5.8e-67) {
tmp = (x * y) * ((a * b) - (c * i));
} else if (x <= 7.5e-259) {
tmp = t * (y2 * ((a * y5) - (c * y4)));
} else if (x <= 3.3e-152) {
tmp = t_1;
} else if (x <= 0.0205) {
tmp = y1 * (y4 * ((k * y2) - (j * y3)));
} else if ((x <= 5.5e+88) || !(x <= 1.4e+119)) {
tmp = j * (x * ((i * y1) - (b * y0)));
} 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 * (y4 * ((t * j) - (y * k))) tmp = 0 if x <= -6e+140: tmp = i * (j * (x * y1)) elif x <= -5.8e-67: tmp = (x * y) * ((a * b) - (c * i)) elif x <= 7.5e-259: tmp = t * (y2 * ((a * y5) - (c * y4))) elif x <= 3.3e-152: tmp = t_1 elif x <= 0.0205: tmp = y1 * (y4 * ((k * y2) - (j * y3))) elif (x <= 5.5e+88) or not (x <= 1.4e+119): tmp = j * (x * ((i * y1) - (b * y0))) 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(y4 * Float64(Float64(t * j) - Float64(y * k)))) tmp = 0.0 if (x <= -6e+140) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -5.8e-67) tmp = Float64(Float64(x * y) * Float64(Float64(a * b) - Float64(c * i))); elseif (x <= 7.5e-259) tmp = Float64(t * Float64(y2 * Float64(Float64(a * y5) - Float64(c * y4)))); elseif (x <= 3.3e-152) tmp = t_1; elseif (x <= 0.0205) tmp = Float64(y1 * Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif ((x <= 5.5e+88) || !(x <= 1.4e+119)) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); 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 * (y4 * ((t * j) - (y * k))); tmp = 0.0; if (x <= -6e+140) tmp = i * (j * (x * y1)); elseif (x <= -5.8e-67) tmp = (x * y) * ((a * b) - (c * i)); elseif (x <= 7.5e-259) tmp = t * (y2 * ((a * y5) - (c * y4))); elseif (x <= 3.3e-152) tmp = t_1; elseif (x <= 0.0205) tmp = y1 * (y4 * ((k * y2) - (j * y3))); elseif ((x <= 5.5e+88) || ~((x <= 1.4e+119))) tmp = j * (x * ((i * y1) - (b * y0))); 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[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -6e+140], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -5.8e-67], N[(N[(x * y), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 7.5e-259], N[(t * N[(y2 * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.3e-152], t$95$1, If[LessEqual[x, 0.0205], N[(y1 * N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[x, 5.5e+88], N[Not[LessEqual[x, 1.4e+119]], $MachinePrecision]], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{if}\;x \leq -6 \cdot 10^{+140}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -5.8 \cdot 10^{-67}:\\
\;\;\;\;\left(x \cdot y\right) \cdot \left(a \cdot b - c \cdot i\right)\\
\mathbf{elif}\;x \leq 7.5 \cdot 10^{-259}:\\
\;\;\;\;t \cdot \left(y2 \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;x \leq 3.3 \cdot 10^{-152}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 0.0205:\\
\;\;\;\;y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;x \leq 5.5 \cdot 10^{+88} \lor \neg \left(x \leq 1.4 \cdot 10^{+119}\right):\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if x < -5.99999999999999993e140Initial program 30.3%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 52.0%
distribute-lft-out--52.0%
*-commutative52.0%
*-commutative52.0%
Simplified52.0%
Taylor expanded in y2 around 0 55.6%
*-commutative55.6%
Simplified55.6%
if -5.99999999999999993e140 < x < -5.8000000000000001e-67Initial program 21.6%
Taylor expanded in x around inf 43.9%
Taylor expanded in y around inf 54.8%
associate-*r*59.9%
Simplified59.9%
if -5.8000000000000001e-67 < x < 7.50000000000000052e-259Initial program 27.3%
Taylor expanded in y2 around inf 47.9%
Taylor expanded in t around inf 44.5%
if 7.50000000000000052e-259 < x < 3.29999999999999998e-152 or 5.5e88 < x < 1.40000000000000007e119Initial program 33.5%
Taylor expanded in b around inf 46.0%
Taylor expanded in y4 around inf 49.3%
if 3.29999999999999998e-152 < x < 0.0205000000000000009Initial program 29.2%
Taylor expanded in y1 around -inf 46.0%
mul-1-neg46.0%
*-commutative46.0%
distribute-rgt-neg-in46.0%
Simplified46.0%
Taylor expanded in y4 around -inf 43.7%
*-commutative43.7%
Simplified43.7%
if 0.0205000000000000009 < x < 5.5e88 or 1.40000000000000007e119 < x Initial program 36.2%
Taylor expanded in x around inf 72.3%
Taylor expanded in j around inf 62.4%
Final simplification52.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* y4 (- (* t j) (* y k))))))
(if (<= x -3.5e+140)
(* i (* j (* x y1)))
(if (<= x -3.5e-68)
(* (* x y) (- (* a b) (* c i)))
(if (<= x -4.2e-254)
(* (* k y2) (- (* y1 y4) (* y0 y5)))
(if (<= x 3.3e-152)
t_1
(if (<= x 4.6e-12)
(* y1 (* y4 (- (* k y2) (* j y3))))
(if (or (<= x 5.1e+88) (not (<= x 1.25e+118)))
(* j (* x (- (* i y1) (* b y0))))
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 * (y4 * ((t * j) - (y * k)));
double tmp;
if (x <= -3.5e+140) {
tmp = i * (j * (x * y1));
} else if (x <= -3.5e-68) {
tmp = (x * y) * ((a * b) - (c * i));
} else if (x <= -4.2e-254) {
tmp = (k * y2) * ((y1 * y4) - (y0 * y5));
} else if (x <= 3.3e-152) {
tmp = t_1;
} else if (x <= 4.6e-12) {
tmp = y1 * (y4 * ((k * y2) - (j * y3)));
} else if ((x <= 5.1e+88) || !(x <= 1.25e+118)) {
tmp = j * (x * ((i * y1) - (b * y0)));
} 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 * (y4 * ((t * j) - (y * k)))
if (x <= (-3.5d+140)) then
tmp = i * (j * (x * y1))
else if (x <= (-3.5d-68)) then
tmp = (x * y) * ((a * b) - (c * i))
else if (x <= (-4.2d-254)) then
tmp = (k * y2) * ((y1 * y4) - (y0 * y5))
else if (x <= 3.3d-152) then
tmp = t_1
else if (x <= 4.6d-12) then
tmp = y1 * (y4 * ((k * y2) - (j * y3)))
else if ((x <= 5.1d+88) .or. (.not. (x <= 1.25d+118))) then
tmp = j * (x * ((i * y1) - (b * y0)))
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 * (y4 * ((t * j) - (y * k)));
double tmp;
if (x <= -3.5e+140) {
tmp = i * (j * (x * y1));
} else if (x <= -3.5e-68) {
tmp = (x * y) * ((a * b) - (c * i));
} else if (x <= -4.2e-254) {
tmp = (k * y2) * ((y1 * y4) - (y0 * y5));
} else if (x <= 3.3e-152) {
tmp = t_1;
} else if (x <= 4.6e-12) {
tmp = y1 * (y4 * ((k * y2) - (j * y3)));
} else if ((x <= 5.1e+88) || !(x <= 1.25e+118)) {
tmp = j * (x * ((i * y1) - (b * y0)));
} 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 * (y4 * ((t * j) - (y * k))) tmp = 0 if x <= -3.5e+140: tmp = i * (j * (x * y1)) elif x <= -3.5e-68: tmp = (x * y) * ((a * b) - (c * i)) elif x <= -4.2e-254: tmp = (k * y2) * ((y1 * y4) - (y0 * y5)) elif x <= 3.3e-152: tmp = t_1 elif x <= 4.6e-12: tmp = y1 * (y4 * ((k * y2) - (j * y3))) elif (x <= 5.1e+88) or not (x <= 1.25e+118): tmp = j * (x * ((i * y1) - (b * y0))) 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(y4 * Float64(Float64(t * j) - Float64(y * k)))) tmp = 0.0 if (x <= -3.5e+140) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -3.5e-68) tmp = Float64(Float64(x * y) * Float64(Float64(a * b) - Float64(c * i))); elseif (x <= -4.2e-254) tmp = Float64(Float64(k * y2) * Float64(Float64(y1 * y4) - Float64(y0 * y5))); elseif (x <= 3.3e-152) tmp = t_1; elseif (x <= 4.6e-12) tmp = Float64(y1 * Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif ((x <= 5.1e+88) || !(x <= 1.25e+118)) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); 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 * (y4 * ((t * j) - (y * k))); tmp = 0.0; if (x <= -3.5e+140) tmp = i * (j * (x * y1)); elseif (x <= -3.5e-68) tmp = (x * y) * ((a * b) - (c * i)); elseif (x <= -4.2e-254) tmp = (k * y2) * ((y1 * y4) - (y0 * y5)); elseif (x <= 3.3e-152) tmp = t_1; elseif (x <= 4.6e-12) tmp = y1 * (y4 * ((k * y2) - (j * y3))); elseif ((x <= 5.1e+88) || ~((x <= 1.25e+118))) tmp = j * (x * ((i * y1) - (b * y0))); 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[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -3.5e+140], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -3.5e-68], N[(N[(x * y), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -4.2e-254], N[(N[(k * y2), $MachinePrecision] * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.3e-152], t$95$1, If[LessEqual[x, 4.6e-12], N[(y1 * N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[x, 5.1e+88], N[Not[LessEqual[x, 1.25e+118]], $MachinePrecision]], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{if}\;x \leq -3.5 \cdot 10^{+140}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -3.5 \cdot 10^{-68}:\\
\;\;\;\;\left(x \cdot y\right) \cdot \left(a \cdot b - c \cdot i\right)\\
\mathbf{elif}\;x \leq -4.2 \cdot 10^{-254}:\\
\;\;\;\;\left(k \cdot y2\right) \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\\
\mathbf{elif}\;x \leq 3.3 \cdot 10^{-152}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 4.6 \cdot 10^{-12}:\\
\;\;\;\;y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;x \leq 5.1 \cdot 10^{+88} \lor \neg \left(x \leq 1.25 \cdot 10^{+118}\right):\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if x < -3.49999999999999989e140Initial program 30.3%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 52.0%
distribute-lft-out--52.0%
*-commutative52.0%
*-commutative52.0%
Simplified52.0%
Taylor expanded in y2 around 0 55.6%
*-commutative55.6%
Simplified55.6%
if -3.49999999999999989e140 < x < -3.50000000000000013e-68Initial program 21.6%
Taylor expanded in x around inf 43.9%
Taylor expanded in y around inf 54.8%
associate-*r*59.9%
Simplified59.9%
if -3.50000000000000013e-68 < x < -4.19999999999999993e-254Initial program 29.0%
Taylor expanded in y2 around inf 50.5%
Taylor expanded in k around inf 38.5%
associate-*r*43.3%
*-commutative43.3%
Simplified43.3%
if -4.19999999999999993e-254 < x < 3.29999999999999998e-152 or 5.0999999999999997e88 < x < 1.24999999999999993e118Initial program 30.1%
Taylor expanded in b around inf 48.6%
Taylor expanded in y4 around inf 48.9%
if 3.29999999999999998e-152 < x < 4.59999999999999979e-12Initial program 29.2%
Taylor expanded in y1 around -inf 46.0%
mul-1-neg46.0%
*-commutative46.0%
distribute-rgt-neg-in46.0%
Simplified46.0%
Taylor expanded in y4 around -inf 43.7%
*-commutative43.7%
Simplified43.7%
if 4.59999999999999979e-12 < x < 5.0999999999999997e88 or 1.24999999999999993e118 < x Initial program 36.2%
Taylor expanded in x around inf 72.3%
Taylor expanded in j around inf 62.4%
Final simplification52.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* j (* x (- (* i y1) (* b y0)))))
(t_2 (* k (* y2 (- (* y1 y4) (* y0 y5))))))
(if (<= y4 -1.16e+163)
(* (* y1 y3) (* j (- y4)))
(if (<= y4 -1.02e-103)
t_2
(if (<= y4 4e-74)
t_1
(if (<= y4 0.55)
(* i (* c (- (* z t) (* x y))))
(if (<= y4 4e+34)
t_1
(if (<= y4 3.4e+186) t_2 (* b (* y4 (- (* t j) (* y k))))))))))))
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 = j * (x * ((i * y1) - (b * y0)));
double t_2 = k * (y2 * ((y1 * y4) - (y0 * y5)));
double tmp;
if (y4 <= -1.16e+163) {
tmp = (y1 * y3) * (j * -y4);
} else if (y4 <= -1.02e-103) {
tmp = t_2;
} else if (y4 <= 4e-74) {
tmp = t_1;
} else if (y4 <= 0.55) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (y4 <= 4e+34) {
tmp = t_1;
} else if (y4 <= 3.4e+186) {
tmp = t_2;
} else {
tmp = b * (y4 * ((t * j) - (y * k)));
}
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_2
real(8) :: tmp
t_1 = j * (x * ((i * y1) - (b * y0)))
t_2 = k * (y2 * ((y1 * y4) - (y0 * y5)))
if (y4 <= (-1.16d+163)) then
tmp = (y1 * y3) * (j * -y4)
else if (y4 <= (-1.02d-103)) then
tmp = t_2
else if (y4 <= 4d-74) then
tmp = t_1
else if (y4 <= 0.55d0) then
tmp = i * (c * ((z * t) - (x * y)))
else if (y4 <= 4d+34) then
tmp = t_1
else if (y4 <= 3.4d+186) then
tmp = t_2
else
tmp = b * (y4 * ((t * j) - (y * k)))
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 = j * (x * ((i * y1) - (b * y0)));
double t_2 = k * (y2 * ((y1 * y4) - (y0 * y5)));
double tmp;
if (y4 <= -1.16e+163) {
tmp = (y1 * y3) * (j * -y4);
} else if (y4 <= -1.02e-103) {
tmp = t_2;
} else if (y4 <= 4e-74) {
tmp = t_1;
} else if (y4 <= 0.55) {
tmp = i * (c * ((z * t) - (x * y)));
} else if (y4 <= 4e+34) {
tmp = t_1;
} else if (y4 <= 3.4e+186) {
tmp = t_2;
} else {
tmp = b * (y4 * ((t * j) - (y * k)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = j * (x * ((i * y1) - (b * y0))) t_2 = k * (y2 * ((y1 * y4) - (y0 * y5))) tmp = 0 if y4 <= -1.16e+163: tmp = (y1 * y3) * (j * -y4) elif y4 <= -1.02e-103: tmp = t_2 elif y4 <= 4e-74: tmp = t_1 elif y4 <= 0.55: tmp = i * (c * ((z * t) - (x * y))) elif y4 <= 4e+34: tmp = t_1 elif y4 <= 3.4e+186: tmp = t_2 else: tmp = b * (y4 * ((t * j) - (y * k))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))) t_2 = Float64(k * Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) tmp = 0.0 if (y4 <= -1.16e+163) tmp = Float64(Float64(y1 * y3) * Float64(j * Float64(-y4))); elseif (y4 <= -1.02e-103) tmp = t_2; elseif (y4 <= 4e-74) tmp = t_1; elseif (y4 <= 0.55) tmp = Float64(i * Float64(c * Float64(Float64(z * t) - Float64(x * y)))); elseif (y4 <= 4e+34) tmp = t_1; elseif (y4 <= 3.4e+186) tmp = t_2; else tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); 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 = j * (x * ((i * y1) - (b * y0))); t_2 = k * (y2 * ((y1 * y4) - (y0 * y5))); tmp = 0.0; if (y4 <= -1.16e+163) tmp = (y1 * y3) * (j * -y4); elseif (y4 <= -1.02e-103) tmp = t_2; elseif (y4 <= 4e-74) tmp = t_1; elseif (y4 <= 0.55) tmp = i * (c * ((z * t) - (x * y))); elseif (y4 <= 4e+34) tmp = t_1; elseif (y4 <= 3.4e+186) tmp = t_2; else tmp = b * (y4 * ((t * j) - (y * k))); 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[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(k * N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y4, -1.16e+163], N[(N[(y1 * y3), $MachinePrecision] * N[(j * (-y4)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, -1.02e-103], t$95$2, If[LessEqual[y4, 4e-74], t$95$1, If[LessEqual[y4, 0.55], N[(i * N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 4e+34], t$95$1, If[LessEqual[y4, 3.4e+186], t$95$2, N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
t_2 := k \cdot \left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{if}\;y4 \leq -1.16 \cdot 10^{+163}:\\
\;\;\;\;\left(y1 \cdot y3\right) \cdot \left(j \cdot \left(-y4\right)\right)\\
\mathbf{elif}\;y4 \leq -1.02 \cdot 10^{-103}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y4 \leq 4 \cdot 10^{-74}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y4 \leq 0.55:\\
\;\;\;\;i \cdot \left(c \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;y4 \leq 4 \cdot 10^{+34}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y4 \leq 3.4 \cdot 10^{+186}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\end{array}
\end{array}
if y4 < -1.16000000000000002e163Initial program 15.2%
Taylor expanded in y1 around -inf 27.6%
mul-1-neg27.6%
*-commutative27.6%
distribute-rgt-neg-in27.6%
Simplified27.6%
Taylor expanded in y3 around -inf 57.9%
associate-*r*55.1%
Simplified55.1%
Taylor expanded in a around 0 52.0%
neg-mul-152.0%
distribute-rgt-neg-in52.0%
Simplified52.0%
if -1.16000000000000002e163 < y4 < -1.01999999999999998e-103 or 3.99999999999999978e34 < y4 < 3.40000000000000005e186Initial program 30.1%
Taylor expanded in y2 around inf 48.5%
Taylor expanded in k around inf 45.8%
if -1.01999999999999998e-103 < y4 < 3.99999999999999983e-74 or 0.55000000000000004 < y4 < 3.99999999999999978e34Initial program 34.8%
Taylor expanded in x around inf 51.3%
Taylor expanded in j around inf 47.1%
if 3.99999999999999983e-74 < y4 < 0.55000000000000004Initial program 23.6%
Taylor expanded in c around inf 48.2%
+-commutative48.2%
mul-1-neg48.2%
unsub-neg48.2%
*-commutative48.2%
*-commutative48.2%
*-commutative48.2%
*-commutative48.2%
Simplified48.2%
Taylor expanded in i around inf 40.2%
*-commutative40.2%
associate-*l*41.8%
*-commutative41.8%
Simplified41.8%
if 3.40000000000000005e186 < y4 Initial program 30.8%
Taylor expanded in b around inf 51.1%
Taylor expanded in y4 around inf 58.6%
Final simplification48.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* y4 (- (* t j) (* y k)))))
(t_2 (* a (* b (- (* x y) (* z t))))))
(if (<= y2 -1.75e-79)
t_2
(if (<= y2 -2.8e-133)
t_1
(if (<= y2 -2.1e-208)
t_2
(if (<= y2 4.6e-239)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y2 7.5e+108) t_1 (* x (* a (* y1 (- y2)))))))))))
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 * (y4 * ((t * j) - (y * k)));
double t_2 = a * (b * ((x * y) - (z * t)));
double tmp;
if (y2 <= -1.75e-79) {
tmp = t_2;
} else if (y2 <= -2.8e-133) {
tmp = t_1;
} else if (y2 <= -2.1e-208) {
tmp = t_2;
} else if (y2 <= 4.6e-239) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y2 <= 7.5e+108) {
tmp = t_1;
} else {
tmp = x * (a * (y1 * -y2));
}
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_2
real(8) :: tmp
t_1 = b * (y4 * ((t * j) - (y * k)))
t_2 = a * (b * ((x * y) - (z * t)))
if (y2 <= (-1.75d-79)) then
tmp = t_2
else if (y2 <= (-2.8d-133)) then
tmp = t_1
else if (y2 <= (-2.1d-208)) then
tmp = t_2
else if (y2 <= 4.6d-239) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y2 <= 7.5d+108) then
tmp = t_1
else
tmp = x * (a * (y1 * -y2))
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 * (y4 * ((t * j) - (y * k)));
double t_2 = a * (b * ((x * y) - (z * t)));
double tmp;
if (y2 <= -1.75e-79) {
tmp = t_2;
} else if (y2 <= -2.8e-133) {
tmp = t_1;
} else if (y2 <= -2.1e-208) {
tmp = t_2;
} else if (y2 <= 4.6e-239) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y2 <= 7.5e+108) {
tmp = t_1;
} else {
tmp = x * (a * (y1 * -y2));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * (y4 * ((t * j) - (y * k))) t_2 = a * (b * ((x * y) - (z * t))) tmp = 0 if y2 <= -1.75e-79: tmp = t_2 elif y2 <= -2.8e-133: tmp = t_1 elif y2 <= -2.1e-208: tmp = t_2 elif y2 <= 4.6e-239: tmp = b * (y0 * ((z * k) - (x * j))) elif y2 <= 7.5e+108: tmp = t_1 else: tmp = x * (a * (y1 * -y2)) 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(y4 * Float64(Float64(t * j) - Float64(y * k)))) t_2 = Float64(a * Float64(b * Float64(Float64(x * y) - Float64(z * t)))) tmp = 0.0 if (y2 <= -1.75e-79) tmp = t_2; elseif (y2 <= -2.8e-133) tmp = t_1; elseif (y2 <= -2.1e-208) tmp = t_2; elseif (y2 <= 4.6e-239) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y2 <= 7.5e+108) tmp = t_1; else tmp = Float64(x * Float64(a * Float64(y1 * Float64(-y2)))); 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 * (y4 * ((t * j) - (y * k))); t_2 = a * (b * ((x * y) - (z * t))); tmp = 0.0; if (y2 <= -1.75e-79) tmp = t_2; elseif (y2 <= -2.8e-133) tmp = t_1; elseif (y2 <= -2.1e-208) tmp = t_2; elseif (y2 <= 4.6e-239) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y2 <= 7.5e+108) tmp = t_1; else tmp = x * (a * (y1 * -y2)); 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[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -1.75e-79], t$95$2, If[LessEqual[y2, -2.8e-133], t$95$1, If[LessEqual[y2, -2.1e-208], t$95$2, If[LessEqual[y2, 4.6e-239], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 7.5e+108], t$95$1, N[(x * N[(a * N[(y1 * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
t_2 := a \cdot \left(b \cdot \left(x \cdot y - z \cdot t\right)\right)\\
\mathbf{if}\;y2 \leq -1.75 \cdot 10^{-79}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq -2.8 \cdot 10^{-133}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq -2.1 \cdot 10^{-208}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq 4.6 \cdot 10^{-239}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y2 \leq 7.5 \cdot 10^{+108}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(a \cdot \left(y1 \cdot \left(-y2\right)\right)\right)\\
\end{array}
\end{array}
if y2 < -1.75000000000000015e-79 or -2.7999999999999999e-133 < y2 < -2.10000000000000012e-208Initial program 32.9%
Taylor expanded in b around inf 37.2%
Taylor expanded in a around inf 38.9%
if -1.75000000000000015e-79 < y2 < -2.7999999999999999e-133 or 4.5999999999999998e-239 < y2 < 7.50000000000000039e108Initial program 31.3%
Taylor expanded in b around inf 42.7%
Taylor expanded in y4 around inf 39.9%
if -2.10000000000000012e-208 < y2 < 4.5999999999999998e-239Initial program 30.9%
Taylor expanded in b around inf 33.9%
Taylor expanded in y0 around inf 46.3%
if 7.50000000000000039e108 < y2 Initial program 19.2%
Taylor expanded in x around inf 42.9%
Taylor expanded in a around inf 46.2%
+-commutative46.2%
mul-1-neg46.2%
unsub-neg46.2%
*-commutative46.2%
Simplified46.2%
Taylor expanded in b around 0 45.8%
mul-1-neg45.8%
distribute-rgt-neg-in45.8%
*-commutative45.8%
distribute-rgt-neg-in45.8%
Simplified45.8%
Final simplification41.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* y4 (- (* t j) (* y k))))))
(if (<= x -8.2e+111)
(* i (* j (* x y1)))
(if (<= x -5.1e-62)
(* c (* i (- (* z t) (* x y))))
(if (<= x 1.7e-138)
t_1
(if (<= x 8e+88)
(* i (* y1 (- (* x j) (* z k))))
(if (<= x 2.9e+103) t_1 (* b (* y0 (- (* z k) (* x 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 t_1 = b * (y4 * ((t * j) - (y * k)));
double tmp;
if (x <= -8.2e+111) {
tmp = i * (j * (x * y1));
} else if (x <= -5.1e-62) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 1.7e-138) {
tmp = t_1;
} else if (x <= 8e+88) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (x <= 2.9e+103) {
tmp = t_1;
} else {
tmp = b * (y0 * ((z * k) - (x * j)));
}
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 * (y4 * ((t * j) - (y * k)))
if (x <= (-8.2d+111)) then
tmp = i * (j * (x * y1))
else if (x <= (-5.1d-62)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (x <= 1.7d-138) then
tmp = t_1
else if (x <= 8d+88) then
tmp = i * (y1 * ((x * j) - (z * k)))
else if (x <= 2.9d+103) then
tmp = t_1
else
tmp = b * (y0 * ((z * k) - (x * j)))
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 * (y4 * ((t * j) - (y * k)));
double tmp;
if (x <= -8.2e+111) {
tmp = i * (j * (x * y1));
} else if (x <= -5.1e-62) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 1.7e-138) {
tmp = t_1;
} else if (x <= 8e+88) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (x <= 2.9e+103) {
tmp = t_1;
} else {
tmp = b * (y0 * ((z * k) - (x * j)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * (y4 * ((t * j) - (y * k))) tmp = 0 if x <= -8.2e+111: tmp = i * (j * (x * y1)) elif x <= -5.1e-62: tmp = c * (i * ((z * t) - (x * y))) elif x <= 1.7e-138: tmp = t_1 elif x <= 8e+88: tmp = i * (y1 * ((x * j) - (z * k))) elif x <= 2.9e+103: tmp = t_1 else: tmp = b * (y0 * ((z * k) - (x * j))) 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(y4 * Float64(Float64(t * j) - Float64(y * k)))) tmp = 0.0 if (x <= -8.2e+111) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -5.1e-62) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (x <= 1.7e-138) tmp = t_1; elseif (x <= 8e+88) tmp = Float64(i * Float64(y1 * Float64(Float64(x * j) - Float64(z * k)))); elseif (x <= 2.9e+103) tmp = t_1; else tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); 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 * (y4 * ((t * j) - (y * k))); tmp = 0.0; if (x <= -8.2e+111) tmp = i * (j * (x * y1)); elseif (x <= -5.1e-62) tmp = c * (i * ((z * t) - (x * y))); elseif (x <= 1.7e-138) tmp = t_1; elseif (x <= 8e+88) tmp = i * (y1 * ((x * j) - (z * k))); elseif (x <= 2.9e+103) tmp = t_1; else tmp = b * (y0 * ((z * k) - (x * j))); 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[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -8.2e+111], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -5.1e-62], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.7e-138], t$95$1, If[LessEqual[x, 8e+88], N[(i * N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.9e+103], t$95$1, N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{if}\;x \leq -8.2 \cdot 10^{+111}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -5.1 \cdot 10^{-62}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;x \leq 1.7 \cdot 10^{-138}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 8 \cdot 10^{+88}:\\
\;\;\;\;i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;x \leq 2.9 \cdot 10^{+103}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\end{array}
\end{array}
if x < -8.19999999999999973e111Initial program 28.7%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 51.2%
distribute-lft-out--51.2%
*-commutative51.2%
*-commutative51.2%
Simplified51.2%
Taylor expanded in y2 around 0 54.5%
*-commutative54.5%
Simplified54.5%
if -8.19999999999999973e111 < x < -5.1e-62Initial program 21.2%
Taylor expanded in c around inf 51.9%
+-commutative51.9%
mul-1-neg51.9%
unsub-neg51.9%
*-commutative51.9%
*-commutative51.9%
*-commutative51.9%
*-commutative51.9%
Simplified51.9%
Taylor expanded in i around inf 55.1%
*-commutative55.1%
Simplified55.1%
if -5.1e-62 < x < 1.7000000000000001e-138 or 7.99999999999999968e88 < x < 2.8999999999999998e103Initial program 28.5%
Taylor expanded in b around inf 36.0%
Taylor expanded in y4 around inf 37.4%
if 1.7000000000000001e-138 < x < 7.99999999999999968e88Initial program 37.6%
Taylor expanded in y1 around -inf 45.7%
mul-1-neg45.7%
*-commutative45.7%
distribute-rgt-neg-in45.7%
Simplified45.7%
Taylor expanded in i around -inf 36.1%
if 2.8999999999999998e103 < x Initial program 33.3%
Taylor expanded in b around inf 49.1%
Taylor expanded in y0 around inf 59.3%
Final simplification46.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= x -3.4e+123)
(* i (* j (* x y1)))
(if (<= x -3.65e-59)
(* c (* i (- (* z t) (* x y))))
(if (<= x 1.8e-138)
(* b (* y4 (- (* t j) (* y k))))
(if (<= x 1.65e+55)
(* i (* y1 (- (* x j) (* z k))))
(if (<= x 1.75e+121)
(* a (* b (- (* x y) (* z t))))
(* j (* x (- (* i y1) (* b 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) {
double tmp;
if (x <= -3.4e+123) {
tmp = i * (j * (x * y1));
} else if (x <= -3.65e-59) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 1.8e-138) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (x <= 1.65e+55) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (x <= 1.75e+121) {
tmp = a * (b * ((x * y) - (z * t)));
} else {
tmp = j * (x * ((i * y1) - (b * y0)));
}
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 (x <= (-3.4d+123)) then
tmp = i * (j * (x * y1))
else if (x <= (-3.65d-59)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (x <= 1.8d-138) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (x <= 1.65d+55) then
tmp = i * (y1 * ((x * j) - (z * k)))
else if (x <= 1.75d+121) then
tmp = a * (b * ((x * y) - (z * t)))
else
tmp = j * (x * ((i * y1) - (b * y0)))
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 (x <= -3.4e+123) {
tmp = i * (j * (x * y1));
} else if (x <= -3.65e-59) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 1.8e-138) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (x <= 1.65e+55) {
tmp = i * (y1 * ((x * j) - (z * k)));
} else if (x <= 1.75e+121) {
tmp = a * (b * ((x * y) - (z * t)));
} else {
tmp = j * (x * ((i * y1) - (b * y0)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if x <= -3.4e+123: tmp = i * (j * (x * y1)) elif x <= -3.65e-59: tmp = c * (i * ((z * t) - (x * y))) elif x <= 1.8e-138: tmp = b * (y4 * ((t * j) - (y * k))) elif x <= 1.65e+55: tmp = i * (y1 * ((x * j) - (z * k))) elif x <= 1.75e+121: tmp = a * (b * ((x * y) - (z * t))) else: tmp = j * (x * ((i * y1) - (b * y0))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (x <= -3.4e+123) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -3.65e-59) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (x <= 1.8e-138) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (x <= 1.65e+55) tmp = Float64(i * Float64(y1 * Float64(Float64(x * j) - Float64(z * k)))); elseif (x <= 1.75e+121) tmp = Float64(a * Float64(b * Float64(Float64(x * y) - Float64(z * t)))); else tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); 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 (x <= -3.4e+123) tmp = i * (j * (x * y1)); elseif (x <= -3.65e-59) tmp = c * (i * ((z * t) - (x * y))); elseif (x <= 1.8e-138) tmp = b * (y4 * ((t * j) - (y * k))); elseif (x <= 1.65e+55) tmp = i * (y1 * ((x * j) - (z * k))); elseif (x <= 1.75e+121) tmp = a * (b * ((x * y) - (z * t))); else tmp = j * (x * ((i * y1) - (b * y0))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[x, -3.4e+123], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -3.65e-59], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.8e-138], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.65e+55], N[(i * N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.75e+121], N[(a * N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -3.4 \cdot 10^{+123}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -3.65 \cdot 10^{-59}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;x \leq 1.8 \cdot 10^{-138}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;x \leq 1.65 \cdot 10^{+55}:\\
\;\;\;\;i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right)\right)\\
\mathbf{elif}\;x \leq 1.75 \cdot 10^{+121}:\\
\;\;\;\;a \cdot \left(b \cdot \left(x \cdot y - z \cdot t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\end{array}
\end{array}
if x < -3.40000000000000001e123Initial program 28.7%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 51.2%
distribute-lft-out--51.2%
*-commutative51.2%
*-commutative51.2%
Simplified51.2%
Taylor expanded in y2 around 0 54.5%
*-commutative54.5%
Simplified54.5%
if -3.40000000000000001e123 < x < -3.6500000000000002e-59Initial program 21.2%
Taylor expanded in c around inf 51.9%
+-commutative51.9%
mul-1-neg51.9%
unsub-neg51.9%
*-commutative51.9%
*-commutative51.9%
*-commutative51.9%
*-commutative51.9%
Simplified51.9%
Taylor expanded in i around inf 55.1%
*-commutative55.1%
Simplified55.1%
if -3.6500000000000002e-59 < x < 1.80000000000000009e-138Initial program 29.8%
Taylor expanded in b around inf 34.1%
Taylor expanded in y4 around inf 35.6%
if 1.80000000000000009e-138 < x < 1.65e55Initial program 37.7%
Taylor expanded in y1 around -inf 47.7%
mul-1-neg47.7%
*-commutative47.7%
distribute-rgt-neg-in47.7%
Simplified47.7%
Taylor expanded in i around -inf 38.4%
if 1.65e55 < x < 1.75e121Initial program 29.4%
Taylor expanded in b around inf 47.1%
Taylor expanded in a around inf 41.9%
if 1.75e121 < x Initial program 32.4%
Taylor expanded in x around inf 70.6%
Taylor expanded in j around inf 65.5%
Final simplification47.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* i (* j (* x y1)))))
(if (<= y1 -1.6e+120)
t_1
(if (<= y1 -2.9e+95)
(* x (* y1 (* a (- y2))))
(if (<= y1 -1.35e+15)
t_1
(if (<= y1 2.7e+203)
(* a (* b (- (* x y) (* z t))))
(* j (* i (* x 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 t_1 = i * (j * (x * y1));
double tmp;
if (y1 <= -1.6e+120) {
tmp = t_1;
} else if (y1 <= -2.9e+95) {
tmp = x * (y1 * (a * -y2));
} else if (y1 <= -1.35e+15) {
tmp = t_1;
} else if (y1 <= 2.7e+203) {
tmp = a * (b * ((x * y) - (z * t)));
} else {
tmp = j * (i * (x * 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) :: t_1
real(8) :: tmp
t_1 = i * (j * (x * y1))
if (y1 <= (-1.6d+120)) then
tmp = t_1
else if (y1 <= (-2.9d+95)) then
tmp = x * (y1 * (a * -y2))
else if (y1 <= (-1.35d+15)) then
tmp = t_1
else if (y1 <= 2.7d+203) then
tmp = a * (b * ((x * y) - (z * t)))
else
tmp = j * (i * (x * 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 t_1 = i * (j * (x * y1));
double tmp;
if (y1 <= -1.6e+120) {
tmp = t_1;
} else if (y1 <= -2.9e+95) {
tmp = x * (y1 * (a * -y2));
} else if (y1 <= -1.35e+15) {
tmp = t_1;
} else if (y1 <= 2.7e+203) {
tmp = a * (b * ((x * y) - (z * t)));
} else {
tmp = j * (i * (x * y1));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = i * (j * (x * y1)) tmp = 0 if y1 <= -1.6e+120: tmp = t_1 elif y1 <= -2.9e+95: tmp = x * (y1 * (a * -y2)) elif y1 <= -1.35e+15: tmp = t_1 elif y1 <= 2.7e+203: tmp = a * (b * ((x * y) - (z * t))) else: tmp = j * (i * (x * y1)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(i * Float64(j * Float64(x * y1))) tmp = 0.0 if (y1 <= -1.6e+120) tmp = t_1; elseif (y1 <= -2.9e+95) tmp = Float64(x * Float64(y1 * Float64(a * Float64(-y2)))); elseif (y1 <= -1.35e+15) tmp = t_1; elseif (y1 <= 2.7e+203) tmp = Float64(a * Float64(b * Float64(Float64(x * y) - Float64(z * t)))); else tmp = Float64(j * Float64(i * Float64(x * 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) t_1 = i * (j * (x * y1)); tmp = 0.0; if (y1 <= -1.6e+120) tmp = t_1; elseif (y1 <= -2.9e+95) tmp = x * (y1 * (a * -y2)); elseif (y1 <= -1.35e+15) tmp = t_1; elseif (y1 <= 2.7e+203) tmp = a * (b * ((x * y) - (z * t))); else tmp = j * (i * (x * y1)); 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[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -1.6e+120], t$95$1, If[LessEqual[y1, -2.9e+95], N[(x * N[(y1 * N[(a * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -1.35e+15], t$95$1, If[LessEqual[y1, 2.7e+203], N[(a * N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(j * N[(i * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{if}\;y1 \leq -1.6 \cdot 10^{+120}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y1 \leq -2.9 \cdot 10^{+95}:\\
\;\;\;\;x \cdot \left(y1 \cdot \left(a \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;y1 \leq -1.35 \cdot 10^{+15}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y1 \leq 2.7 \cdot 10^{+203}:\\
\;\;\;\;a \cdot \left(b \cdot \left(x \cdot y - z \cdot t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(i \cdot \left(x \cdot y1\right)\right)\\
\end{array}
\end{array}
if y1 < -1.59999999999999991e120 or -2.90000000000000013e95 < y1 < -1.35e15Initial program 33.3%
Taylor expanded in x around inf 41.4%
Taylor expanded in y1 around inf 48.1%
distribute-lft-out--48.1%
*-commutative48.1%
*-commutative48.1%
Simplified48.1%
Taylor expanded in y2 around 0 44.9%
*-commutative44.9%
Simplified44.9%
if -1.59999999999999991e120 < y1 < -2.90000000000000013e95Initial program 34.1%
Taylor expanded in x around inf 34.3%
Taylor expanded in y1 around inf 55.9%
distribute-lft-out--55.9%
*-commutative55.9%
*-commutative55.9%
Simplified55.9%
Taylor expanded in y1 around 0 55.9%
mul-1-neg55.9%
distribute-rgt-neg-out55.9%
Simplified55.9%
Taylor expanded in a around inf 67.0%
*-commutative67.0%
Simplified67.0%
if -1.35e15 < y1 < 2.7e203Initial program 28.7%
Taylor expanded in b around inf 37.8%
Taylor expanded in a around inf 34.2%
if 2.7e203 < y1 Initial program 25.0%
Taylor expanded in x around inf 40.1%
Taylor expanded in j around inf 50.6%
Taylor expanded in i around inf 60.3%
Final simplification40.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= x -2.2e+119)
(* i (* j (* x y1)))
(if (<= x -4.7e-59)
(* c (* i (- (* z t) (* x y))))
(if (<= x 3.4e-17)
(* b (* y4 (- (* t j) (* y k))))
(* b (* y0 (- (* z k) (* x 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 (x <= -2.2e+119) {
tmp = i * (j * (x * y1));
} else if (x <= -4.7e-59) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 3.4e-17) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else {
tmp = b * (y0 * ((z * k) - (x * j)));
}
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 (x <= (-2.2d+119)) then
tmp = i * (j * (x * y1))
else if (x <= (-4.7d-59)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (x <= 3.4d-17) then
tmp = b * (y4 * ((t * j) - (y * k)))
else
tmp = b * (y0 * ((z * k) - (x * j)))
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 (x <= -2.2e+119) {
tmp = i * (j * (x * y1));
} else if (x <= -4.7e-59) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (x <= 3.4e-17) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else {
tmp = b * (y0 * ((z * k) - (x * j)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if x <= -2.2e+119: tmp = i * (j * (x * y1)) elif x <= -4.7e-59: tmp = c * (i * ((z * t) - (x * y))) elif x <= 3.4e-17: tmp = b * (y4 * ((t * j) - (y * k))) else: tmp = b * (y0 * ((z * k) - (x * 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 (x <= -2.2e+119) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= -4.7e-59) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (x <= 3.4e-17) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); else tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); 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 (x <= -2.2e+119) tmp = i * (j * (x * y1)); elseif (x <= -4.7e-59) tmp = c * (i * ((z * t) - (x * y))); elseif (x <= 3.4e-17) tmp = b * (y4 * ((t * j) - (y * k))); else tmp = b * (y0 * ((z * k) - (x * j))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[x, -2.2e+119], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -4.7e-59], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.4e-17], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -2.2 \cdot 10^{+119}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq -4.7 \cdot 10^{-59}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;x \leq 3.4 \cdot 10^{-17}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\end{array}
\end{array}
if x < -2.2000000000000001e119Initial program 28.7%
Taylor expanded in x around inf 68.2%
Taylor expanded in y1 around inf 51.2%
distribute-lft-out--51.2%
*-commutative51.2%
*-commutative51.2%
Simplified51.2%
Taylor expanded in y2 around 0 54.5%
*-commutative54.5%
Simplified54.5%
if -2.2000000000000001e119 < x < -4.6999999999999999e-59Initial program 21.2%
Taylor expanded in c around inf 51.9%
+-commutative51.9%
mul-1-neg51.9%
unsub-neg51.9%
*-commutative51.9%
*-commutative51.9%
*-commutative51.9%
*-commutative51.9%
Simplified51.9%
Taylor expanded in i around inf 55.1%
*-commutative55.1%
Simplified55.1%
if -4.6999999999999999e-59 < x < 3.3999999999999998e-17Initial program 30.1%
Taylor expanded in b around inf 36.3%
Taylor expanded in y4 around inf 32.9%
if 3.3999999999999998e-17 < x Initial program 35.1%
Taylor expanded in b around inf 47.8%
Taylor expanded in y0 around inf 51.3%
Final simplification44.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= x -3.5e+15)
(* i (* j (* x y1)))
(if (<= x 1.95e-113)
(* a (* y3 (* z y1)))
(if (<= x 0.0132) (* (- j) (* y1 (* y3 y4))) (* j (* b (* x (- 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) {
double tmp;
if (x <= -3.5e+15) {
tmp = i * (j * (x * y1));
} else if (x <= 1.95e-113) {
tmp = a * (y3 * (z * y1));
} else if (x <= 0.0132) {
tmp = -j * (y1 * (y3 * y4));
} else {
tmp = j * (b * (x * -y0));
}
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 (x <= (-3.5d+15)) then
tmp = i * (j * (x * y1))
else if (x <= 1.95d-113) then
tmp = a * (y3 * (z * y1))
else if (x <= 0.0132d0) then
tmp = -j * (y1 * (y3 * y4))
else
tmp = j * (b * (x * -y0))
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 (x <= -3.5e+15) {
tmp = i * (j * (x * y1));
} else if (x <= 1.95e-113) {
tmp = a * (y3 * (z * y1));
} else if (x <= 0.0132) {
tmp = -j * (y1 * (y3 * y4));
} else {
tmp = j * (b * (x * -y0));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if x <= -3.5e+15: tmp = i * (j * (x * y1)) elif x <= 1.95e-113: tmp = a * (y3 * (z * y1)) elif x <= 0.0132: tmp = -j * (y1 * (y3 * y4)) else: tmp = j * (b * (x * -y0)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (x <= -3.5e+15) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= 1.95e-113) tmp = Float64(a * Float64(y3 * Float64(z * y1))); elseif (x <= 0.0132) tmp = Float64(Float64(-j) * Float64(y1 * Float64(y3 * y4))); else tmp = Float64(j * Float64(b * Float64(x * Float64(-y0)))); 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 (x <= -3.5e+15) tmp = i * (j * (x * y1)); elseif (x <= 1.95e-113) tmp = a * (y3 * (z * y1)); elseif (x <= 0.0132) tmp = -j * (y1 * (y3 * y4)); else tmp = j * (b * (x * -y0)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[x, -3.5e+15], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.95e-113], N[(a * N[(y3 * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 0.0132], N[((-j) * N[(y1 * N[(y3 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(j * N[(b * N[(x * (-y0)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -3.5 \cdot 10^{+15}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq 1.95 \cdot 10^{-113}:\\
\;\;\;\;a \cdot \left(y3 \cdot \left(z \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq 0.0132:\\
\;\;\;\;\left(-j\right) \cdot \left(y1 \cdot \left(y3 \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(b \cdot \left(x \cdot \left(-y0\right)\right)\right)\\
\end{array}
\end{array}
if x < -3.5e15Initial program 25.1%
Taylor expanded in x around inf 62.3%
Taylor expanded in y1 around inf 45.8%
distribute-lft-out--45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in y2 around 0 48.3%
*-commutative48.3%
Simplified48.3%
if -3.5e15 < x < 1.9499999999999999e-113Initial program 29.1%
Taylor expanded in y1 around -inf 33.7%
mul-1-neg33.7%
*-commutative33.7%
distribute-rgt-neg-in33.7%
Simplified33.7%
Taylor expanded in y3 around -inf 27.9%
associate-*r*27.8%
Simplified27.8%
Taylor expanded in a around inf 21.1%
*-commutative21.1%
Simplified21.1%
Taylor expanded in y1 around 0 21.1%
*-commutative21.1%
associate-*r*22.1%
Simplified22.1%
if 1.9499999999999999e-113 < x < 0.0132Initial program 37.7%
Taylor expanded in y1 around -inf 42.8%
mul-1-neg42.8%
*-commutative42.8%
distribute-rgt-neg-in42.8%
Simplified42.8%
Taylor expanded in y3 around -inf 31.1%
associate-*r*34.1%
Simplified34.1%
Taylor expanded in a around 0 27.3%
associate-*r*27.3%
neg-mul-127.3%
Simplified27.3%
if 0.0132 < x Initial program 33.9%
Taylor expanded in x around inf 66.3%
Taylor expanded in j around inf 52.6%
Taylor expanded in i around 0 47.2%
associate-*r*47.2%
neg-mul-147.2%
*-commutative47.2%
Simplified47.2%
Final simplification35.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= x -320000000.0)
(* i (* j (* x y1)))
(if (<= x 1.55e-115)
(* a (* y3 (* z y1)))
(if (<= x 7.5e-11) (* (* y1 y3) (* j (- y4))) (* j (* b (* x (- 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) {
double tmp;
if (x <= -320000000.0) {
tmp = i * (j * (x * y1));
} else if (x <= 1.55e-115) {
tmp = a * (y3 * (z * y1));
} else if (x <= 7.5e-11) {
tmp = (y1 * y3) * (j * -y4);
} else {
tmp = j * (b * (x * -y0));
}
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 (x <= (-320000000.0d0)) then
tmp = i * (j * (x * y1))
else if (x <= 1.55d-115) then
tmp = a * (y3 * (z * y1))
else if (x <= 7.5d-11) then
tmp = (y1 * y3) * (j * -y4)
else
tmp = j * (b * (x * -y0))
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 (x <= -320000000.0) {
tmp = i * (j * (x * y1));
} else if (x <= 1.55e-115) {
tmp = a * (y3 * (z * y1));
} else if (x <= 7.5e-11) {
tmp = (y1 * y3) * (j * -y4);
} else {
tmp = j * (b * (x * -y0));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if x <= -320000000.0: tmp = i * (j * (x * y1)) elif x <= 1.55e-115: tmp = a * (y3 * (z * y1)) elif x <= 7.5e-11: tmp = (y1 * y3) * (j * -y4) else: tmp = j * (b * (x * -y0)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (x <= -320000000.0) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= 1.55e-115) tmp = Float64(a * Float64(y3 * Float64(z * y1))); elseif (x <= 7.5e-11) tmp = Float64(Float64(y1 * y3) * Float64(j * Float64(-y4))); else tmp = Float64(j * Float64(b * Float64(x * Float64(-y0)))); 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 (x <= -320000000.0) tmp = i * (j * (x * y1)); elseif (x <= 1.55e-115) tmp = a * (y3 * (z * y1)); elseif (x <= 7.5e-11) tmp = (y1 * y3) * (j * -y4); else tmp = j * (b * (x * -y0)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[x, -320000000.0], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.55e-115], N[(a * N[(y3 * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 7.5e-11], N[(N[(y1 * y3), $MachinePrecision] * N[(j * (-y4)), $MachinePrecision]), $MachinePrecision], N[(j * N[(b * N[(x * (-y0)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -320000000:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq 1.55 \cdot 10^{-115}:\\
\;\;\;\;a \cdot \left(y3 \cdot \left(z \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq 7.5 \cdot 10^{-11}:\\
\;\;\;\;\left(y1 \cdot y3\right) \cdot \left(j \cdot \left(-y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(b \cdot \left(x \cdot \left(-y0\right)\right)\right)\\
\end{array}
\end{array}
if x < -3.2e8Initial program 25.1%
Taylor expanded in x around inf 62.3%
Taylor expanded in y1 around inf 45.8%
distribute-lft-out--45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in y2 around 0 48.3%
*-commutative48.3%
Simplified48.3%
if -3.2e8 < x < 1.55000000000000003e-115Initial program 29.1%
Taylor expanded in y1 around -inf 33.7%
mul-1-neg33.7%
*-commutative33.7%
distribute-rgt-neg-in33.7%
Simplified33.7%
Taylor expanded in y3 around -inf 27.9%
associate-*r*27.8%
Simplified27.8%
Taylor expanded in a around inf 21.1%
*-commutative21.1%
Simplified21.1%
Taylor expanded in y1 around 0 21.1%
*-commutative21.1%
associate-*r*22.1%
Simplified22.1%
if 1.55000000000000003e-115 < x < 7.5e-11Initial program 37.7%
Taylor expanded in y1 around -inf 42.8%
mul-1-neg42.8%
*-commutative42.8%
distribute-rgt-neg-in42.8%
Simplified42.8%
Taylor expanded in y3 around -inf 31.1%
associate-*r*34.1%
Simplified34.1%
Taylor expanded in a around 0 34.2%
neg-mul-134.2%
distribute-rgt-neg-in34.2%
Simplified34.2%
if 7.5e-11 < x Initial program 33.9%
Taylor expanded in x around inf 66.3%
Taylor expanded in j around inf 52.6%
Taylor expanded in i around 0 47.2%
associate-*r*47.2%
neg-mul-147.2%
*-commutative47.2%
Simplified47.2%
Final simplification36.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y2 -6e-208)
(* a (* b (- (* x y) (* z t))))
(if (<= y2 1.35e-54)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y2 6.5e+182) (* i (* j (* x y1))) (* x (* y1 (* a (- y2))))))))
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 (y2 <= -6e-208) {
tmp = a * (b * ((x * y) - (z * t)));
} else if (y2 <= 1.35e-54) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y2 <= 6.5e+182) {
tmp = i * (j * (x * y1));
} else {
tmp = x * (y1 * (a * -y2));
}
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 (y2 <= (-6d-208)) then
tmp = a * (b * ((x * y) - (z * t)))
else if (y2 <= 1.35d-54) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y2 <= 6.5d+182) then
tmp = i * (j * (x * y1))
else
tmp = x * (y1 * (a * -y2))
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 (y2 <= -6e-208) {
tmp = a * (b * ((x * y) - (z * t)));
} else if (y2 <= 1.35e-54) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y2 <= 6.5e+182) {
tmp = i * (j * (x * y1));
} else {
tmp = x * (y1 * (a * -y2));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y2 <= -6e-208: tmp = a * (b * ((x * y) - (z * t))) elif y2 <= 1.35e-54: tmp = b * (y0 * ((z * k) - (x * j))) elif y2 <= 6.5e+182: tmp = i * (j * (x * y1)) else: tmp = x * (y1 * (a * -y2)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y2 <= -6e-208) tmp = Float64(a * Float64(b * Float64(Float64(x * y) - Float64(z * t)))); elseif (y2 <= 1.35e-54) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y2 <= 6.5e+182) tmp = Float64(i * Float64(j * Float64(x * y1))); else tmp = Float64(x * Float64(y1 * Float64(a * Float64(-y2)))); 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 (y2 <= -6e-208) tmp = a * (b * ((x * y) - (z * t))); elseif (y2 <= 1.35e-54) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y2 <= 6.5e+182) tmp = i * (j * (x * y1)); else tmp = x * (y1 * (a * -y2)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y2, -6e-208], N[(a * N[(b * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.35e-54], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 6.5e+182], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(y1 * N[(a * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y2 \leq -6 \cdot 10^{-208}:\\
\;\;\;\;a \cdot \left(b \cdot \left(x \cdot y - z \cdot t\right)\right)\\
\mathbf{elif}\;y2 \leq 1.35 \cdot 10^{-54}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y2 \leq 6.5 \cdot 10^{+182}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(y1 \cdot \left(a \cdot \left(-y2\right)\right)\right)\\
\end{array}
\end{array}
if y2 < -5.99999999999999972e-208Initial program 33.4%
Taylor expanded in b around inf 38.2%
Taylor expanded in a around inf 36.7%
if -5.99999999999999972e-208 < y2 < 1.35000000000000013e-54Initial program 30.2%
Taylor expanded in b around inf 37.9%
Taylor expanded in y0 around inf 39.6%
if 1.35000000000000013e-54 < y2 < 6.4999999999999998e182Initial program 24.7%
Taylor expanded in x around inf 47.9%
Taylor expanded in y1 around inf 38.1%
distribute-lft-out--38.1%
*-commutative38.1%
*-commutative38.1%
Simplified38.1%
Taylor expanded in y2 around 0 36.1%
*-commutative36.1%
Simplified36.1%
if 6.4999999999999998e182 < y2 Initial program 26.4%
Taylor expanded in x around inf 43.6%
Taylor expanded in y1 around inf 52.5%
distribute-lft-out--52.5%
*-commutative52.5%
*-commutative52.5%
Simplified52.5%
Taylor expanded in y1 around 0 52.5%
mul-1-neg52.5%
distribute-rgt-neg-out52.5%
Simplified52.5%
Taylor expanded in a around inf 52.5%
*-commutative52.5%
Simplified52.5%
Final simplification38.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= x -7.5e+20) (* i (* j (* x y1))) (if (<= x 8e-133) (* a (* y3 (* z y1))) (* j (* x (* b (- 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) {
double tmp;
if (x <= -7.5e+20) {
tmp = i * (j * (x * y1));
} else if (x <= 8e-133) {
tmp = a * (y3 * (z * y1));
} else {
tmp = j * (x * (b * -y0));
}
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 (x <= (-7.5d+20)) then
tmp = i * (j * (x * y1))
else if (x <= 8d-133) then
tmp = a * (y3 * (z * y1))
else
tmp = j * (x * (b * -y0))
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 (x <= -7.5e+20) {
tmp = i * (j * (x * y1));
} else if (x <= 8e-133) {
tmp = a * (y3 * (z * y1));
} else {
tmp = j * (x * (b * -y0));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if x <= -7.5e+20: tmp = i * (j * (x * y1)) elif x <= 8e-133: tmp = a * (y3 * (z * y1)) else: tmp = j * (x * (b * -y0)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (x <= -7.5e+20) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= 8e-133) tmp = Float64(a * Float64(y3 * Float64(z * y1))); else tmp = Float64(j * Float64(x * Float64(b * Float64(-y0)))); 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 (x <= -7.5e+20) tmp = i * (j * (x * y1)); elseif (x <= 8e-133) tmp = a * (y3 * (z * y1)); else tmp = j * (x * (b * -y0)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[x, -7.5e+20], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 8e-133], N[(a * N[(y3 * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(j * N[(x * N[(b * (-y0)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -7.5 \cdot 10^{+20}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq 8 \cdot 10^{-133}:\\
\;\;\;\;a \cdot \left(y3 \cdot \left(z \cdot y1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(x \cdot \left(b \cdot \left(-y0\right)\right)\right)\\
\end{array}
\end{array}
if x < -7.5e20Initial program 25.1%
Taylor expanded in x around inf 62.3%
Taylor expanded in y1 around inf 45.8%
distribute-lft-out--45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in y2 around 0 48.3%
*-commutative48.3%
Simplified48.3%
if -7.5e20 < x < 8.0000000000000005e-133Initial program 29.7%
Taylor expanded in y1 around -inf 32.4%
mul-1-neg32.4%
*-commutative32.4%
distribute-rgt-neg-in32.4%
Simplified32.4%
Taylor expanded in y3 around -inf 27.4%
associate-*r*27.3%
Simplified27.3%
Taylor expanded in a around inf 20.5%
*-commutative20.5%
Simplified20.5%
Taylor expanded in y1 around 0 20.5%
*-commutative20.5%
associate-*r*21.5%
Simplified21.5%
if 8.0000000000000005e-133 < x Initial program 34.2%
Taylor expanded in x around inf 56.5%
Taylor expanded in j around inf 42.4%
Taylor expanded in i around 0 31.8%
mul-1-neg31.8%
distribute-lft-neg-out31.8%
*-commutative31.8%
Simplified31.8%
Final simplification32.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= x -3.3e+14) (* i (* j (* x y1))) (if (<= x 2.8e-132) (* a (* y3 (* z y1))) (* j (* b (* x (- 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) {
double tmp;
if (x <= -3.3e+14) {
tmp = i * (j * (x * y1));
} else if (x <= 2.8e-132) {
tmp = a * (y3 * (z * y1));
} else {
tmp = j * (b * (x * -y0));
}
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 (x <= (-3.3d+14)) then
tmp = i * (j * (x * y1))
else if (x <= 2.8d-132) then
tmp = a * (y3 * (z * y1))
else
tmp = j * (b * (x * -y0))
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 (x <= -3.3e+14) {
tmp = i * (j * (x * y1));
} else if (x <= 2.8e-132) {
tmp = a * (y3 * (z * y1));
} else {
tmp = j * (b * (x * -y0));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if x <= -3.3e+14: tmp = i * (j * (x * y1)) elif x <= 2.8e-132: tmp = a * (y3 * (z * y1)) else: tmp = j * (b * (x * -y0)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (x <= -3.3e+14) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= 2.8e-132) tmp = Float64(a * Float64(y3 * Float64(z * y1))); else tmp = Float64(j * Float64(b * Float64(x * Float64(-y0)))); 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 (x <= -3.3e+14) tmp = i * (j * (x * y1)); elseif (x <= 2.8e-132) tmp = a * (y3 * (z * y1)); else tmp = j * (b * (x * -y0)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[x, -3.3e+14], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.8e-132], N[(a * N[(y3 * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(j * N[(b * N[(x * (-y0)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -3.3 \cdot 10^{+14}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq 2.8 \cdot 10^{-132}:\\
\;\;\;\;a \cdot \left(y3 \cdot \left(z \cdot y1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(b \cdot \left(x \cdot \left(-y0\right)\right)\right)\\
\end{array}
\end{array}
if x < -3.3e14Initial program 25.1%
Taylor expanded in x around inf 62.3%
Taylor expanded in y1 around inf 45.8%
distribute-lft-out--45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in y2 around 0 48.3%
*-commutative48.3%
Simplified48.3%
if -3.3e14 < x < 2.80000000000000002e-132Initial program 29.7%
Taylor expanded in y1 around -inf 32.4%
mul-1-neg32.4%
*-commutative32.4%
distribute-rgt-neg-in32.4%
Simplified32.4%
Taylor expanded in y3 around -inf 27.4%
associate-*r*27.3%
Simplified27.3%
Taylor expanded in a around inf 20.5%
*-commutative20.5%
Simplified20.5%
Taylor expanded in y1 around 0 20.5%
*-commutative20.5%
associate-*r*21.5%
Simplified21.5%
if 2.80000000000000002e-132 < x Initial program 34.2%
Taylor expanded in x around inf 56.5%
Taylor expanded in j around inf 42.4%
Taylor expanded in i around 0 36.4%
associate-*r*36.4%
neg-mul-136.4%
*-commutative36.4%
Simplified36.4%
Final simplification34.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= y1 -2.9e+28) (not (<= y1 2.6))) (* a (* y3 (* z y1))) (* a (* (* x y) b))))
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 <= -2.9e+28) || !(y1 <= 2.6)) {
tmp = a * (y3 * (z * y1));
} else {
tmp = a * ((x * y) * b);
}
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 <= (-2.9d+28)) .or. (.not. (y1 <= 2.6d0))) then
tmp = a * (y3 * (z * y1))
else
tmp = a * ((x * y) * b)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y1 <= -2.9e+28) || !(y1 <= 2.6)) {
tmp = a * (y3 * (z * y1));
} else {
tmp = a * ((x * y) * b);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (y1 <= -2.9e+28) or not (y1 <= 2.6): tmp = a * (y3 * (z * y1)) else: tmp = a * ((x * y) * b) 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 <= -2.9e+28) || !(y1 <= 2.6)) tmp = Float64(a * Float64(y3 * Float64(z * y1))); else tmp = Float64(a * Float64(Float64(x * y) * b)); 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 <= -2.9e+28) || ~((y1 <= 2.6))) tmp = a * (y3 * (z * y1)); else tmp = a * ((x * y) * b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[Or[LessEqual[y1, -2.9e+28], N[Not[LessEqual[y1, 2.6]], $MachinePrecision]], N[(a * N[(y3 * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[(N[(x * y), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -2.9 \cdot 10^{+28} \lor \neg \left(y1 \leq 2.6\right):\\
\;\;\;\;a \cdot \left(y3 \cdot \left(z \cdot y1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(\left(x \cdot y\right) \cdot b\right)\\
\end{array}
\end{array}
if y1 < -2.9000000000000001e28 or 2.60000000000000009 < y1 Initial program 24.5%
Taylor expanded in y1 around -inf 53.8%
mul-1-neg53.8%
*-commutative53.8%
distribute-rgt-neg-in53.8%
Simplified53.8%
Taylor expanded in y3 around -inf 38.6%
associate-*r*42.0%
Simplified42.0%
Taylor expanded in a around inf 27.8%
*-commutative27.8%
Simplified27.8%
Taylor expanded in y1 around 0 27.8%
*-commutative27.8%
associate-*r*32.1%
Simplified32.1%
if -2.9000000000000001e28 < y1 < 2.60000000000000009Initial program 35.3%
Taylor expanded in b around inf 42.1%
Taylor expanded in a around inf 33.5%
Taylor expanded in x around inf 26.5%
*-commutative26.5%
*-commutative26.5%
Simplified26.5%
Final simplification29.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= x -1.7e+18) (* i (* j (* x y1))) (if (<= x 7e-51) (* a (* y3 (* z y1))) (* a (* (* x y) b)))))
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 (x <= -1.7e+18) {
tmp = i * (j * (x * y1));
} else if (x <= 7e-51) {
tmp = a * (y3 * (z * y1));
} else {
tmp = a * ((x * y) * b);
}
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 (x <= (-1.7d+18)) then
tmp = i * (j * (x * y1))
else if (x <= 7d-51) then
tmp = a * (y3 * (z * y1))
else
tmp = a * ((x * y) * b)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (x <= -1.7e+18) {
tmp = i * (j * (x * y1));
} else if (x <= 7e-51) {
tmp = a * (y3 * (z * y1));
} else {
tmp = a * ((x * y) * b);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if x <= -1.7e+18: tmp = i * (j * (x * y1)) elif x <= 7e-51: tmp = a * (y3 * (z * y1)) else: tmp = a * ((x * y) * b) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (x <= -1.7e+18) tmp = Float64(i * Float64(j * Float64(x * y1))); elseif (x <= 7e-51) tmp = Float64(a * Float64(y3 * Float64(z * y1))); else tmp = Float64(a * Float64(Float64(x * y) * b)); 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 (x <= -1.7e+18) tmp = i * (j * (x * y1)); elseif (x <= 7e-51) tmp = a * (y3 * (z * y1)); else tmp = a * ((x * y) * b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[x, -1.7e+18], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 7e-51], N[(a * N[(y3 * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[(N[(x * y), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -1.7 \cdot 10^{+18}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{elif}\;x \leq 7 \cdot 10^{-51}:\\
\;\;\;\;a \cdot \left(y3 \cdot \left(z \cdot y1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(\left(x \cdot y\right) \cdot b\right)\\
\end{array}
\end{array}
if x < -1.7e18Initial program 25.1%
Taylor expanded in x around inf 62.3%
Taylor expanded in y1 around inf 45.8%
distribute-lft-out--45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in y2 around 0 48.3%
*-commutative48.3%
Simplified48.3%
if -1.7e18 < x < 6.9999999999999995e-51Initial program 29.8%
Taylor expanded in y1 around -inf 35.5%
mul-1-neg35.5%
*-commutative35.5%
distribute-rgt-neg-in35.5%
Simplified35.5%
Taylor expanded in y3 around -inf 27.4%
associate-*r*28.8%
Simplified28.8%
Taylor expanded in a around inf 19.8%
*-commutative19.8%
Simplified19.8%
Taylor expanded in y1 around 0 19.8%
*-commutative19.8%
associate-*r*20.6%
Simplified20.6%
if 6.9999999999999995e-51 < x Initial program 35.5%
Taylor expanded in b around inf 47.2%
Taylor expanded in a around inf 41.5%
Taylor expanded in x around inf 36.7%
*-commutative36.7%
*-commutative36.7%
Simplified36.7%
Final simplification32.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* a (* y1 (* z 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) {
return a * (y1 * (z * y3));
}
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 = a * (y1 * (z * y3))
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 a * (y1 * (z * y3));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return a * (y1 * (z * y3))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(a * Float64(y1 * Float64(z * y3))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = a * (y1 * (z * y3)); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(a * N[(y1 * N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(y1 \cdot \left(z \cdot y3\right)\right)
\end{array}
Initial program 29.8%
Taylor expanded in y1 around -inf 39.6%
mul-1-neg39.6%
*-commutative39.6%
distribute-rgt-neg-in39.6%
Simplified39.6%
Taylor expanded in y3 around -inf 30.0%
associate-*r*29.5%
Simplified29.5%
Taylor expanded in a around inf 18.5%
*-commutative18.5%
Simplified18.5%
Final simplification18.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* a (* y3 (* z 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) {
return a * (y3 * (z * y1));
}
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 = a * (y3 * (z * y1))
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 a * (y3 * (z * y1));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return a * (y3 * (z * y1))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(a * Float64(y3 * Float64(z * y1))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = a * (y3 * (z * y1)); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(a * N[(y3 * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(y3 \cdot \left(z \cdot y1\right)\right)
\end{array}
Initial program 29.8%
Taylor expanded in y1 around -inf 39.6%
mul-1-neg39.6%
*-commutative39.6%
distribute-rgt-neg-in39.6%
Simplified39.6%
Taylor expanded in y3 around -inf 30.0%
associate-*r*29.5%
Simplified29.5%
Taylor expanded in a around inf 18.5%
*-commutative18.5%
Simplified18.5%
Taylor expanded in y1 around 0 18.5%
*-commutative18.5%
associate-*r*19.2%
Simplified19.2%
Final simplification19.2%
(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 2024020
(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
:herbie-target
(if (< y4 -7.206256231996481e+60) (- (- (* (- (* 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.0 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3.364603505246317e-66) (+ (- (- (- (* (* 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 -1.2000065055686116e-105) (+ (+ (- (* (- (* 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 6.718963124057495e-279) (+ (- (- (- (* (* 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 4.77962681403792e-222) (+ (+ (- (* (- (* 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 2.2852241541266835e-175) (+ (- (- (- (* (* 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)))))