
(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 33 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 (- (* a y5) (* c y4)))
(t_2
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0))))))
(t_3 (- (* c y4) (* a y5)))
(t_4
(*
y3
(+
(* y t_3)
(+ (* z (- (* a y1) (* c y0))) (* j (- (* y0 y5) (* y1 y4)))))))
(t_5 (- (* k y2) (* j y3)))
(t_6 (- (* b y4) (* i y5)))
(t_7
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 t_5))
(* c (- (* y y3) (* t y2)))))))
(if (<= y3 -3e+33)
t_4
(if (<= y3 -9.5e-197)
t_7
(if (<= y3 -9.2e-280)
t_2
(if (<= y3 1.25e-264)
(* t (+ (+ (* z (- (* c i) (* a b))) (* j t_6)) (* y2 t_1)))
(if (<= y3 8.5e-197)
t_2
(if (<= y3 1.9e-125)
(+
(* (- (* y1 y4) (* y0 y5)) t_5)
(+
(*
c
(+ (* i (- (* z t) (* x y))) (* y0 (- (* x y2) (* z y3)))))
(* (- (* t y2) (* y y3)) t_1)))
(if (<= y3 2e+89)
t_7
(if (<= y3 6e+151)
(* y (* a (- (* x b) (* y3 y5))))
(if (<= y3 3.2e+161)
(* k (* y4 (* y1 y2)))
(if (<= y3 1.5e+169)
(* y (* y3 t_3))
(if (<= y3 1.05e+190) (* (* t j) t_6) 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 = (a * y5) - (c * y4);
double t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double t_3 = (c * y4) - (a * y5);
double t_4 = y3 * ((y * t_3) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4)))));
double t_5 = (k * y2) - (j * y3);
double t_6 = (b * y4) - (i * y5);
double t_7 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_5)) + (c * ((y * y3) - (t * y2))));
double tmp;
if (y3 <= -3e+33) {
tmp = t_4;
} else if (y3 <= -9.5e-197) {
tmp = t_7;
} else if (y3 <= -9.2e-280) {
tmp = t_2;
} else if (y3 <= 1.25e-264) {
tmp = t * (((z * ((c * i) - (a * b))) + (j * t_6)) + (y2 * t_1));
} else if (y3 <= 8.5e-197) {
tmp = t_2;
} else if (y3 <= 1.9e-125) {
tmp = (((y1 * y4) - (y0 * y5)) * t_5) + ((c * ((i * ((z * t) - (x * y))) + (y0 * ((x * y2) - (z * y3))))) + (((t * y2) - (y * y3)) * t_1));
} else if (y3 <= 2e+89) {
tmp = t_7;
} else if (y3 <= 6e+151) {
tmp = y * (a * ((x * b) - (y3 * y5)));
} else if (y3 <= 3.2e+161) {
tmp = k * (y4 * (y1 * y2));
} else if (y3 <= 1.5e+169) {
tmp = y * (y3 * t_3);
} else if (y3 <= 1.05e+190) {
tmp = (t * j) * t_6;
} else {
tmp = 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) :: t_7
real(8) :: tmp
t_1 = (a * y5) - (c * y4)
t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
t_3 = (c * y4) - (a * y5)
t_4 = y3 * ((y * t_3) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4)))))
t_5 = (k * y2) - (j * y3)
t_6 = (b * y4) - (i * y5)
t_7 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_5)) + (c * ((y * y3) - (t * y2))))
if (y3 <= (-3d+33)) then
tmp = t_4
else if (y3 <= (-9.5d-197)) then
tmp = t_7
else if (y3 <= (-9.2d-280)) then
tmp = t_2
else if (y3 <= 1.25d-264) then
tmp = t * (((z * ((c * i) - (a * b))) + (j * t_6)) + (y2 * t_1))
else if (y3 <= 8.5d-197) then
tmp = t_2
else if (y3 <= 1.9d-125) then
tmp = (((y1 * y4) - (y0 * y5)) * t_5) + ((c * ((i * ((z * t) - (x * y))) + (y0 * ((x * y2) - (z * y3))))) + (((t * y2) - (y * y3)) * t_1))
else if (y3 <= 2d+89) then
tmp = t_7
else if (y3 <= 6d+151) then
tmp = y * (a * ((x * b) - (y3 * y5)))
else if (y3 <= 3.2d+161) then
tmp = k * (y4 * (y1 * y2))
else if (y3 <= 1.5d+169) then
tmp = y * (y3 * t_3)
else if (y3 <= 1.05d+190) then
tmp = (t * j) * t_6
else
tmp = 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 = (a * y5) - (c * y4);
double t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double t_3 = (c * y4) - (a * y5);
double t_4 = y3 * ((y * t_3) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4)))));
double t_5 = (k * y2) - (j * y3);
double t_6 = (b * y4) - (i * y5);
double t_7 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_5)) + (c * ((y * y3) - (t * y2))));
double tmp;
if (y3 <= -3e+33) {
tmp = t_4;
} else if (y3 <= -9.5e-197) {
tmp = t_7;
} else if (y3 <= -9.2e-280) {
tmp = t_2;
} else if (y3 <= 1.25e-264) {
tmp = t * (((z * ((c * i) - (a * b))) + (j * t_6)) + (y2 * t_1));
} else if (y3 <= 8.5e-197) {
tmp = t_2;
} else if (y3 <= 1.9e-125) {
tmp = (((y1 * y4) - (y0 * y5)) * t_5) + ((c * ((i * ((z * t) - (x * y))) + (y0 * ((x * y2) - (z * y3))))) + (((t * y2) - (y * y3)) * t_1));
} else if (y3 <= 2e+89) {
tmp = t_7;
} else if (y3 <= 6e+151) {
tmp = y * (a * ((x * b) - (y3 * y5)));
} else if (y3 <= 3.2e+161) {
tmp = k * (y4 * (y1 * y2));
} else if (y3 <= 1.5e+169) {
tmp = y * (y3 * t_3);
} else if (y3 <= 1.05e+190) {
tmp = (t * j) * t_6;
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (a * y5) - (c * y4) t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) t_3 = (c * y4) - (a * y5) t_4 = y3 * ((y * t_3) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4))))) t_5 = (k * y2) - (j * y3) t_6 = (b * y4) - (i * y5) t_7 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_5)) + (c * ((y * y3) - (t * y2)))) tmp = 0 if y3 <= -3e+33: tmp = t_4 elif y3 <= -9.5e-197: tmp = t_7 elif y3 <= -9.2e-280: tmp = t_2 elif y3 <= 1.25e-264: tmp = t * (((z * ((c * i) - (a * b))) + (j * t_6)) + (y2 * t_1)) elif y3 <= 8.5e-197: tmp = t_2 elif y3 <= 1.9e-125: tmp = (((y1 * y4) - (y0 * y5)) * t_5) + ((c * ((i * ((z * t) - (x * y))) + (y0 * ((x * y2) - (z * y3))))) + (((t * y2) - (y * y3)) * t_1)) elif y3 <= 2e+89: tmp = t_7 elif y3 <= 6e+151: tmp = y * (a * ((x * b) - (y3 * y5))) elif y3 <= 3.2e+161: tmp = k * (y4 * (y1 * y2)) elif y3 <= 1.5e+169: tmp = y * (y3 * t_3) elif y3 <= 1.05e+190: tmp = (t * j) * t_6 else: tmp = t_4 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(a * y5) - Float64(c * y4)) t_2 = 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))))) t_3 = Float64(Float64(c * y4) - Float64(a * y5)) t_4 = Float64(y3 * Float64(Float64(y * t_3) + Float64(Float64(z * Float64(Float64(a * y1) - Float64(c * y0))) + Float64(j * Float64(Float64(y0 * y5) - Float64(y1 * y4)))))) t_5 = Float64(Float64(k * y2) - Float64(j * y3)) t_6 = Float64(Float64(b * y4) - Float64(i * y5)) t_7 = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * t_5)) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))) tmp = 0.0 if (y3 <= -3e+33) tmp = t_4; elseif (y3 <= -9.5e-197) tmp = t_7; elseif (y3 <= -9.2e-280) tmp = t_2; elseif (y3 <= 1.25e-264) tmp = Float64(t * Float64(Float64(Float64(z * Float64(Float64(c * i) - Float64(a * b))) + Float64(j * t_6)) + Float64(y2 * t_1))); elseif (y3 <= 8.5e-197) tmp = t_2; elseif (y3 <= 1.9e-125) tmp = Float64(Float64(Float64(Float64(y1 * y4) - Float64(y0 * y5)) * t_5) + Float64(Float64(c * Float64(Float64(i * Float64(Float64(z * t) - Float64(x * y))) + Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))))) + Float64(Float64(Float64(t * y2) - Float64(y * y3)) * t_1))); elseif (y3 <= 2e+89) tmp = t_7; elseif (y3 <= 6e+151) tmp = Float64(y * Float64(a * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (y3 <= 3.2e+161) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (y3 <= 1.5e+169) tmp = Float64(y * Float64(y3 * t_3)); elseif (y3 <= 1.05e+190) tmp = Float64(Float64(t * j) * t_6); else tmp = 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 = (a * y5) - (c * y4); t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); t_3 = (c * y4) - (a * y5); t_4 = y3 * ((y * t_3) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4))))); t_5 = (k * y2) - (j * y3); t_6 = (b * y4) - (i * y5); t_7 = y4 * (((b * ((t * j) - (y * k))) + (y1 * t_5)) + (c * ((y * y3) - (t * y2)))); tmp = 0.0; if (y3 <= -3e+33) tmp = t_4; elseif (y3 <= -9.5e-197) tmp = t_7; elseif (y3 <= -9.2e-280) tmp = t_2; elseif (y3 <= 1.25e-264) tmp = t * (((z * ((c * i) - (a * b))) + (j * t_6)) + (y2 * t_1)); elseif (y3 <= 8.5e-197) tmp = t_2; elseif (y3 <= 1.9e-125) tmp = (((y1 * y4) - (y0 * y5)) * t_5) + ((c * ((i * ((z * t) - (x * y))) + (y0 * ((x * y2) - (z * y3))))) + (((t * y2) - (y * y3)) * t_1)); elseif (y3 <= 2e+89) tmp = t_7; elseif (y3 <= 6e+151) tmp = y * (a * ((x * b) - (y3 * y5))); elseif (y3 <= 3.2e+161) tmp = k * (y4 * (y1 * y2)); elseif (y3 <= 1.5e+169) tmp = y * (y3 * t_3); elseif (y3 <= 1.05e+190) tmp = (t * j) * t_6; else tmp = 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[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = 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]}, Block[{t$95$3 = N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y3 * N[(N[(y * t$95$3), $MachinePrecision] + N[(N[(z * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * t$95$5), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -3e+33], t$95$4, If[LessEqual[y3, -9.5e-197], t$95$7, If[LessEqual[y3, -9.2e-280], t$95$2, If[LessEqual[y3, 1.25e-264], N[(t * N[(N[(N[(z * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * t$95$6), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 8.5e-197], t$95$2, If[LessEqual[y3, 1.9e-125], N[(N[(N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision] * t$95$5), $MachinePrecision] + N[(N[(c * N[(N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 2e+89], t$95$7, If[LessEqual[y3, 6e+151], N[(y * N[(a * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 3.2e+161], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.5e+169], N[(y * N[(y3 * t$95$3), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.05e+190], N[(N[(t * j), $MachinePrecision] * t$95$6), $MachinePrecision], t$95$4]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot y5 - c \cdot y4\\
t_2 := 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)\\
t_3 := c \cdot y4 - a \cdot y5\\
t_4 := y3 \cdot \left(y \cdot t_3 + \left(z \cdot \left(a \cdot y1 - c \cdot y0\right) + j \cdot \left(y0 \cdot y5 - y1 \cdot y4\right)\right)\right)\\
t_5 := k \cdot y2 - j \cdot y3\\
t_6 := b \cdot y4 - i \cdot y5\\
t_7 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot t_5\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{if}\;y3 \leq -3 \cdot 10^{+33}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y3 \leq -9.5 \cdot 10^{-197}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y3 \leq -9.2 \cdot 10^{-280}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y3 \leq 1.25 \cdot 10^{-264}:\\
\;\;\;\;t \cdot \left(\left(z \cdot \left(c \cdot i - a \cdot b\right) + j \cdot t_6\right) + y2 \cdot t_1\right)\\
\mathbf{elif}\;y3 \leq 8.5 \cdot 10^{-197}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y3 \leq 1.9 \cdot 10^{-125}:\\
\;\;\;\;\left(y1 \cdot y4 - y0 \cdot y5\right) \cdot t_5 + \left(c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right) + y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + \left(t \cdot y2 - y \cdot y3\right) \cdot t_1\right)\\
\mathbf{elif}\;y3 \leq 2 \cdot 10^{+89}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y3 \leq 6 \cdot 10^{+151}:\\
\;\;\;\;y \cdot \left(a \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y3 \leq 3.2 \cdot 10^{+161}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;y3 \leq 1.5 \cdot 10^{+169}:\\
\;\;\;\;y \cdot \left(y3 \cdot t_3\right)\\
\mathbf{elif}\;y3 \leq 1.05 \cdot 10^{+190}:\\
\;\;\;\;\left(t \cdot j\right) \cdot t_6\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
\end{array}
if y3 < -2.99999999999999984e33 or 1.05e190 < y3 Initial program 26.5%
Taylor expanded in y3 around -inf 65.2%
if -2.99999999999999984e33 < y3 < -9.5000000000000003e-197 or 1.9000000000000001e-125 < y3 < 1.99999999999999999e89Initial program 28.6%
Taylor expanded in y4 around inf 61.5%
if -9.5000000000000003e-197 < y3 < -9.1999999999999998e-280 or 1.25e-264 < y3 < 8.5e-197Initial program 33.5%
Taylor expanded in x around inf 73.8%
if -9.1999999999999998e-280 < y3 < 1.25e-264Initial program 37.2%
Simplified37.2%
Taylor expanded in t around inf 53.7%
if 8.5e-197 < y3 < 1.9000000000000001e-125Initial program 55.5%
Taylor expanded in c around inf 65.1%
if 1.99999999999999999e89 < y3 < 5.9999999999999998e151Initial program 44.4%
Taylor expanded in y around inf 44.7%
Taylor expanded in a around inf 77.8%
if 5.9999999999999998e151 < y3 < 3.20000000000000002e161Initial program 0.0%
Taylor expanded in y4 around inf 75.0%
Taylor expanded in y2 around inf 100.0%
Taylor expanded in k around inf 100.0%
if 3.20000000000000002e161 < y3 < 1.5e169Initial program 25.0%
Taylor expanded in y0 around inf 50.0%
*-commutative50.0%
*-commutative50.0%
*-commutative50.0%
Simplified50.0%
Taylor expanded in y around inf 100.0%
if 1.5e169 < y3 < 1.05e190Initial program 14.3%
Simplified28.6%
Taylor expanded in t around inf 42.9%
Taylor expanded in j around inf 73.6%
associate-*r*73.6%
*-commutative73.6%
*-commutative73.6%
Simplified73.6%
Final simplification66.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(+
(+
(+
(+
(+
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(* (- (* b y0) (* i y1)) (- (* z k) (* x j))))
(* (- (* c y0) (* a y1)) (- (* x y2) (* z y3))))
(* (- (* b y4) (* i y5)) (- (* t j) (* y k))))
(* (- (* t y2) (* y y3)) (- (* a y5) (* c y4))))
(* (- (* y1 y4) (* y0 y5)) (- (* k y2) (* j y3))))))
(if (<= t_1 INFINITY)
t_1
(*
y3
(+
(* y (- (* c y4) (* a y5)))
(+ (* z (- (* a y1) (* c y0))) (* j (- (* y0 y5) (* y1 y4)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (((c * y0) - (a * y1)) * ((x * y2) - (z * y3)))) + (((b * y4) - (i * y5)) * ((t * j) - (y * k)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * ((k * y2) - (j * y3)));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4)))));
}
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 = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (((c * y0) - (a * y1)) * ((x * y2) - (z * y3)))) + (((b * y4) - (i * y5)) * ((t * j) - (y * k)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * ((k * y2) - (j * y3)));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4)))));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (((c * y0) - (a * y1)) * ((x * y2) - (z * y3)))) + (((b * y4) - (i * y5)) * ((t * j) - (y * k)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * ((k * y2) - (j * y3))) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4))))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) + Float64(Float64(Float64(b * y0) - Float64(i * y1)) * Float64(Float64(z * k) - Float64(x * j)))) + Float64(Float64(Float64(c * y0) - Float64(a * y1)) * Float64(Float64(x * y2) - Float64(z * y3)))) + Float64(Float64(Float64(b * y4) - Float64(i * y5)) * Float64(Float64(t * j) - Float64(y * k)))) + Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(a * y5) - Float64(c * y4)))) + Float64(Float64(Float64(y1 * y4) - Float64(y0 * y5)) * Float64(Float64(k * y2) - Float64(j * y3)))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) + Float64(Float64(z * Float64(Float64(a * y1) - Float64(c * y0))) + Float64(j * Float64(Float64(y0 * y5) - Float64(y1 * y4)))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) + (((b * y0) - (i * y1)) * ((z * k) - (x * j)))) + (((c * y0) - (a * y1)) * ((x * y2) - (z * y3)))) + (((b * y4) - (i * y5)) * ((t * j) - (y * k)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * ((k * y2) - (j * y3))); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4))))); 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[(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[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision] * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision] * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision] * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision] * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) + \left(b \cdot y0 - i \cdot y1\right) \cdot \left(z \cdot k - x \cdot j\right)\right) + \left(c \cdot y0 - a \cdot y1\right) \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + \left(b \cdot y4 - i \cdot y5\right) \cdot \left(t \cdot j - y \cdot k\right)\right) + \left(t \cdot y2 - y \cdot y3\right) \cdot \left(a \cdot y5 - c \cdot y4\right)\right) + \left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(k \cdot y2 - j \cdot y3\right)\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) + \left(z \cdot \left(a \cdot y1 - c \cdot y0\right) + j \cdot \left(y0 \cdot y5 - y1 \cdot y4\right)\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.3%
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 y3 around -inf 42.0%
Final simplification58.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* t (- (* a y5) (* c y4))))
(t_2 (* y4 (* y (- (* c y3) (* b k)))))
(t_3 (- (* c y0) (* a y1)))
(t_4 (* k (- (* y1 y4) (* y0 y5))))
(t_5 (* y2 (+ (+ t_4 (* x t_3)) t_1)))
(t_6 (- (* t y2) (* y y3)))
(t_7
(*
y5
(+
(* a t_6)
(+ (* i (- (* y k) (* t j))) (* y0 (- (* j y3) (* k y2))))))))
(if (<= y -6.8e+21)
t_2
(if (<= y -5e-237)
t_5
(if (<= y 2.2e-122)
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2)))))
(if (<= y 8.2e-54)
(* c (- (* y0 (- (* x y2) (* z y3))) (* y4 t_6)))
(if (<= y 1.85e-35)
(*
z
(+
(* k (- (* b y0) (* i y1)))
(+ (* t (- (* c i) (* a b))) (* y3 (- (* a y1) (* c y0))))))
(if (<= y 1.66)
t_5
(if (<= y 63000.0)
(* z (* y1 (- (* a y3) (* i k))))
(if (<= y 8.5e+123)
t_7
(if (<= y 4.6e+147)
(* y2 (+ (+ t_4 (* c (* x y0))) t_1))
(if (<= y 2.3e+179)
t_7
(if (<= y 2.8e+206)
(* k (* y4 (* y (- b))))
(if (<= y 1.95e+230)
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 t_3))
(* j (- (* i y1) (* b y0)))))
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 = t * ((a * y5) - (c * y4));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double t_3 = (c * y0) - (a * y1);
double t_4 = k * ((y1 * y4) - (y0 * y5));
double t_5 = y2 * ((t_4 + (x * t_3)) + t_1);
double t_6 = (t * y2) - (y * y3);
double t_7 = y5 * ((a * t_6) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))));
double tmp;
if (y <= -6.8e+21) {
tmp = t_2;
} else if (y <= -5e-237) {
tmp = t_5;
} else if (y <= 2.2e-122) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 8.2e-54) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_6));
} else if (y <= 1.85e-35) {
tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0)))));
} else if (y <= 1.66) {
tmp = t_5;
} else if (y <= 63000.0) {
tmp = z * (y1 * ((a * y3) - (i * k)));
} else if (y <= 8.5e+123) {
tmp = t_7;
} else if (y <= 4.6e+147) {
tmp = y2 * ((t_4 + (c * (x * y0))) + t_1);
} else if (y <= 2.3e+179) {
tmp = t_7;
} else if (y <= 2.8e+206) {
tmp = k * (y4 * (y * -b));
} else if (y <= 1.95e+230) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0))));
} 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 = t * ((a * y5) - (c * y4))
t_2 = y4 * (y * ((c * y3) - (b * k)))
t_3 = (c * y0) - (a * y1)
t_4 = k * ((y1 * y4) - (y0 * y5))
t_5 = y2 * ((t_4 + (x * t_3)) + t_1)
t_6 = (t * y2) - (y * y3)
t_7 = y5 * ((a * t_6) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))))
if (y <= (-6.8d+21)) then
tmp = t_2
else if (y <= (-5d-237)) then
tmp = t_5
else if (y <= 2.2d-122) then
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
else if (y <= 8.2d-54) then
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_6))
else if (y <= 1.85d-35) then
tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0)))))
else if (y <= 1.66d0) then
tmp = t_5
else if (y <= 63000.0d0) then
tmp = z * (y1 * ((a * y3) - (i * k)))
else if (y <= 8.5d+123) then
tmp = t_7
else if (y <= 4.6d+147) then
tmp = y2 * ((t_4 + (c * (x * y0))) + t_1)
else if (y <= 2.3d+179) then
tmp = t_7
else if (y <= 2.8d+206) then
tmp = k * (y4 * (y * -b))
else if (y <= 1.95d+230) then
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0))))
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 = t * ((a * y5) - (c * y4));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double t_3 = (c * y0) - (a * y1);
double t_4 = k * ((y1 * y4) - (y0 * y5));
double t_5 = y2 * ((t_4 + (x * t_3)) + t_1);
double t_6 = (t * y2) - (y * y3);
double t_7 = y5 * ((a * t_6) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))));
double tmp;
if (y <= -6.8e+21) {
tmp = t_2;
} else if (y <= -5e-237) {
tmp = t_5;
} else if (y <= 2.2e-122) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 8.2e-54) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_6));
} else if (y <= 1.85e-35) {
tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0)))));
} else if (y <= 1.66) {
tmp = t_5;
} else if (y <= 63000.0) {
tmp = z * (y1 * ((a * y3) - (i * k)));
} else if (y <= 8.5e+123) {
tmp = t_7;
} else if (y <= 4.6e+147) {
tmp = y2 * ((t_4 + (c * (x * y0))) + t_1);
} else if (y <= 2.3e+179) {
tmp = t_7;
} else if (y <= 2.8e+206) {
tmp = k * (y4 * (y * -b));
} else if (y <= 1.95e+230) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0))));
} 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 = t * ((a * y5) - (c * y4)) t_2 = y4 * (y * ((c * y3) - (b * k))) t_3 = (c * y0) - (a * y1) t_4 = k * ((y1 * y4) - (y0 * y5)) t_5 = y2 * ((t_4 + (x * t_3)) + t_1) t_6 = (t * y2) - (y * y3) t_7 = y5 * ((a * t_6) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2))))) tmp = 0 if y <= -6.8e+21: tmp = t_2 elif y <= -5e-237: tmp = t_5 elif y <= 2.2e-122: tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) elif y <= 8.2e-54: tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_6)) elif y <= 1.85e-35: tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0))))) elif y <= 1.66: tmp = t_5 elif y <= 63000.0: tmp = z * (y1 * ((a * y3) - (i * k))) elif y <= 8.5e+123: tmp = t_7 elif y <= 4.6e+147: tmp = y2 * ((t_4 + (c * (x * y0))) + t_1) elif y <= 2.3e+179: tmp = t_7 elif y <= 2.8e+206: tmp = k * (y4 * (y * -b)) elif y <= 1.95e+230: tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0)))) 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(t * Float64(Float64(a * y5) - Float64(c * y4))) t_2 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) t_3 = Float64(Float64(c * y0) - Float64(a * y1)) t_4 = Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) t_5 = Float64(y2 * Float64(Float64(t_4 + Float64(x * t_3)) + t_1)) t_6 = Float64(Float64(t * y2) - Float64(y * y3)) t_7 = Float64(y5 * Float64(Float64(a * t_6) + Float64(Float64(i * Float64(Float64(y * k) - Float64(t * j))) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))) tmp = 0.0 if (y <= -6.8e+21) tmp = t_2; elseif (y <= -5e-237) tmp = t_5; elseif (y <= 2.2e-122) tmp = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))); elseif (y <= 8.2e-54) tmp = Float64(c * Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) - Float64(y4 * t_6))); elseif (y <= 1.85e-35) tmp = Float64(z * Float64(Float64(k * Float64(Float64(b * y0) - Float64(i * y1))) + Float64(Float64(t * Float64(Float64(c * i) - Float64(a * b))) + Float64(y3 * Float64(Float64(a * y1) - Float64(c * y0)))))); elseif (y <= 1.66) tmp = t_5; elseif (y <= 63000.0) tmp = Float64(z * Float64(y1 * Float64(Float64(a * y3) - Float64(i * k)))); elseif (y <= 8.5e+123) tmp = t_7; elseif (y <= 4.6e+147) tmp = Float64(y2 * Float64(Float64(t_4 + Float64(c * Float64(x * y0))) + t_1)); elseif (y <= 2.3e+179) tmp = t_7; elseif (y <= 2.8e+206) tmp = Float64(k * Float64(y4 * Float64(y * Float64(-b)))); elseif (y <= 1.95e+230) tmp = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * t_3)) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))); 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 = t * ((a * y5) - (c * y4)); t_2 = y4 * (y * ((c * y3) - (b * k))); t_3 = (c * y0) - (a * y1); t_4 = k * ((y1 * y4) - (y0 * y5)); t_5 = y2 * ((t_4 + (x * t_3)) + t_1); t_6 = (t * y2) - (y * y3); t_7 = y5 * ((a * t_6) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2))))); tmp = 0.0; if (y <= -6.8e+21) tmp = t_2; elseif (y <= -5e-237) tmp = t_5; elseif (y <= 2.2e-122) tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); elseif (y <= 8.2e-54) tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_6)); elseif (y <= 1.85e-35) tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * ((a * y1) - (c * y0))))); elseif (y <= 1.66) tmp = t_5; elseif (y <= 63000.0) tmp = z * (y1 * ((a * y3) - (i * k))); elseif (y <= 8.5e+123) tmp = t_7; elseif (y <= 4.6e+147) tmp = y2 * ((t_4 + (c * (x * y0))) + t_1); elseif (y <= 2.3e+179) tmp = t_7; elseif (y <= 2.8e+206) tmp = k * (y4 * (y * -b)); elseif (y <= 1.95e+230) tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0)))); 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[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y2 * N[(N[(t$95$4 + N[(x * t$95$3), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(y5 * N[(N[(a * t$95$6), $MachinePrecision] + N[(N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -6.8e+21], t$95$2, If[LessEqual[y, -5e-237], t$95$5, If[LessEqual[y, 2.2e-122], N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 8.2e-54], N[(c * N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y4 * t$95$6), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.85e-35], N[(z * N[(N[(k * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 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]), $MachinePrecision], If[LessEqual[y, 1.66], t$95$5, If[LessEqual[y, 63000.0], N[(z * N[(y1 * N[(N[(a * y3), $MachinePrecision] - N[(i * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 8.5e+123], t$95$7, If[LessEqual[y, 4.6e+147], N[(y2 * N[(N[(t$95$4 + N[(c * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.3e+179], t$95$7, If[LessEqual[y, 2.8e+206], N[(k * N[(y4 * N[(y * (-b)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.95e+230], N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$3), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(a \cdot y5 - c \cdot y4\right)\\
t_2 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
t_3 := c \cdot y0 - a \cdot y1\\
t_4 := k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\\
t_5 := y2 \cdot \left(\left(t_4 + x \cdot t_3\right) + t_1\right)\\
t_6 := t \cdot y2 - y \cdot y3\\
t_7 := y5 \cdot \left(a \cdot t_6 + \left(i \cdot \left(y \cdot k - t \cdot j\right) + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{if}\;y \leq -6.8 \cdot 10^{+21}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -5 \cdot 10^{-237}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y \leq 2.2 \cdot 10^{-122}:\\
\;\;\;\;y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y \leq 8.2 \cdot 10^{-54}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) - y4 \cdot t_6\right)\\
\mathbf{elif}\;y \leq 1.85 \cdot 10^{-35}:\\
\;\;\;\;z \cdot \left(k \cdot \left(b \cdot y0 - i \cdot y1\right) + \left(t \cdot \left(c \cdot i - a \cdot b\right) + y3 \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\right)\\
\mathbf{elif}\;y \leq 1.66:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y \leq 63000:\\
\;\;\;\;z \cdot \left(y1 \cdot \left(a \cdot y3 - i \cdot k\right)\right)\\
\mathbf{elif}\;y \leq 8.5 \cdot 10^{+123}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y \leq 4.6 \cdot 10^{+147}:\\
\;\;\;\;y2 \cdot \left(\left(t_4 + c \cdot \left(x \cdot y0\right)\right) + t_1\right)\\
\mathbf{elif}\;y \leq 2.3 \cdot 10^{+179}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y \leq 2.8 \cdot 10^{+206}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y \cdot \left(-b\right)\right)\right)\\
\mathbf{elif}\;y \leq 1.95 \cdot 10^{+230}:\\
\;\;\;\;x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot t_3\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y < -6.8e21 or 1.9499999999999999e230 < y Initial program 24.6%
Taylor expanded in y around inf 54.3%
add-cube-cbrt54.2%
Applied egg-rr54.2%
Taylor expanded in y4 around inf 53.6%
*-commutative53.6%
mul-1-neg53.6%
unsub-neg53.6%
*-commutative53.6%
Simplified53.6%
if -6.8e21 < y < -5.0000000000000002e-237 or 1.8499999999999999e-35 < y < 1.65999999999999992Initial program 42.5%
Taylor expanded in y2 around inf 57.7%
if -5.0000000000000002e-237 < y < 2.2e-122Initial program 37.3%
Taylor expanded in y4 around inf 59.7%
if 2.2e-122 < y < 8.2000000000000001e-54Initial program 15.0%
Taylor expanded in y0 around inf 45.0%
*-commutative45.0%
*-commutative45.0%
*-commutative45.0%
Simplified45.0%
Taylor expanded in c around inf 80.0%
*-commutative80.0%
*-commutative80.0%
Simplified80.0%
if 8.2000000000000001e-54 < y < 1.8499999999999999e-35Initial program 83.3%
Taylor expanded in z around -inf 84.5%
if 1.65999999999999992 < y < 63000Initial program 0.0%
Taylor expanded in z around -inf 66.7%
Taylor expanded in y1 around -inf 100.0%
mul-1-neg100.0%
Simplified100.0%
if 63000 < y < 8.5e123 or 4.5999999999999998e147 < y < 2.29999999999999994e179Initial program 32.5%
Simplified32.5%
Taylor expanded in y5 around -inf 65.3%
if 8.5e123 < y < 4.5999999999999998e147Initial program 12.5%
Taylor expanded in y0 around inf 12.6%
*-commutative12.6%
*-commutative12.6%
*-commutative12.6%
Simplified12.6%
Taylor expanded in y2 around inf 77.2%
if 2.29999999999999994e179 < y < 2.7999999999999998e206Initial program 15.6%
Taylor expanded in y4 around inf 44.2%
Taylor expanded in y around -inf 58.0%
mul-1-neg58.0%
associate-*r*58.0%
*-commutative58.0%
Simplified58.0%
Taylor expanded in k around inf 71.7%
if 2.7999999999999998e206 < y < 1.9499999999999999e230Initial program 16.4%
Taylor expanded in x around inf 83.3%
Final simplification62.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* t (- (* a y5) (* c y4))))
(t_2 (* k (- (* y1 y4) (* y0 y5))))
(t_3 (* y2 (+ (+ t_2 (* c (* x y0))) t_1)))
(t_4 (- (* c y0) (* a y1)))
(t_5 (* y2 (+ (+ t_2 (* x t_4)) t_1)))
(t_6 (* y4 (* y (- (* c y3) (* b k)))))
(t_7
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 t_4))
(* j (- (* i y1) (* b y0)))))))
(if (<= y -3.1e+21)
t_6
(if (<= y -8.6e-237)
t_5
(if (<= y 2.2e-122)
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2)))))
(if (<= y 6e-57)
(* c (- (* y0 (- (* x y2) (* z y3))) (* y4 (- (* t y2) (* y y3)))))
(if (<= y 1.9)
t_5
(if (<= y 4.9e+62)
t_3
(if (<= y 1.85e+112)
t_7
(if (<= y 3.2e+150)
t_3
(if (<= y 3.4e+160)
(* (- (* k y5) (* x c)) (* y i))
(if (<= y 1.26e+181)
(* (* t j) (- (* b y4) (* i y5)))
(if (<= y 3.9e+225) t_7 t_6)))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = t * ((a * y5) - (c * y4));
double t_2 = k * ((y1 * y4) - (y0 * y5));
double t_3 = y2 * ((t_2 + (c * (x * y0))) + t_1);
double t_4 = (c * y0) - (a * y1);
double t_5 = y2 * ((t_2 + (x * t_4)) + t_1);
double t_6 = y4 * (y * ((c * y3) - (b * k)));
double t_7 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y <= -3.1e+21) {
tmp = t_6;
} else if (y <= -8.6e-237) {
tmp = t_5;
} else if (y <= 2.2e-122) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 6e-57) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
} else if (y <= 1.9) {
tmp = t_5;
} else if (y <= 4.9e+62) {
tmp = t_3;
} else if (y <= 1.85e+112) {
tmp = t_7;
} else if (y <= 3.2e+150) {
tmp = t_3;
} else if (y <= 3.4e+160) {
tmp = ((k * y5) - (x * c)) * (y * i);
} else if (y <= 1.26e+181) {
tmp = (t * j) * ((b * y4) - (i * y5));
} else if (y <= 3.9e+225) {
tmp = t_7;
} else {
tmp = t_6;
}
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 = t * ((a * y5) - (c * y4))
t_2 = k * ((y1 * y4) - (y0 * y5))
t_3 = y2 * ((t_2 + (c * (x * y0))) + t_1)
t_4 = (c * y0) - (a * y1)
t_5 = y2 * ((t_2 + (x * t_4)) + t_1)
t_6 = y4 * (y * ((c * y3) - (b * k)))
t_7 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0))))
if (y <= (-3.1d+21)) then
tmp = t_6
else if (y <= (-8.6d-237)) then
tmp = t_5
else if (y <= 2.2d-122) then
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
else if (y <= 6d-57) then
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))))
else if (y <= 1.9d0) then
tmp = t_5
else if (y <= 4.9d+62) then
tmp = t_3
else if (y <= 1.85d+112) then
tmp = t_7
else if (y <= 3.2d+150) then
tmp = t_3
else if (y <= 3.4d+160) then
tmp = ((k * y5) - (x * c)) * (y * i)
else if (y <= 1.26d+181) then
tmp = (t * j) * ((b * y4) - (i * y5))
else if (y <= 3.9d+225) then
tmp = t_7
else
tmp = t_6
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 = t * ((a * y5) - (c * y4));
double t_2 = k * ((y1 * y4) - (y0 * y5));
double t_3 = y2 * ((t_2 + (c * (x * y0))) + t_1);
double t_4 = (c * y0) - (a * y1);
double t_5 = y2 * ((t_2 + (x * t_4)) + t_1);
double t_6 = y4 * (y * ((c * y3) - (b * k)));
double t_7 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y <= -3.1e+21) {
tmp = t_6;
} else if (y <= -8.6e-237) {
tmp = t_5;
} else if (y <= 2.2e-122) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 6e-57) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
} else if (y <= 1.9) {
tmp = t_5;
} else if (y <= 4.9e+62) {
tmp = t_3;
} else if (y <= 1.85e+112) {
tmp = t_7;
} else if (y <= 3.2e+150) {
tmp = t_3;
} else if (y <= 3.4e+160) {
tmp = ((k * y5) - (x * c)) * (y * i);
} else if (y <= 1.26e+181) {
tmp = (t * j) * ((b * y4) - (i * y5));
} else if (y <= 3.9e+225) {
tmp = t_7;
} else {
tmp = t_6;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = t * ((a * y5) - (c * y4)) t_2 = k * ((y1 * y4) - (y0 * y5)) t_3 = y2 * ((t_2 + (c * (x * y0))) + t_1) t_4 = (c * y0) - (a * y1) t_5 = y2 * ((t_2 + (x * t_4)) + t_1) t_6 = y4 * (y * ((c * y3) - (b * k))) t_7 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0)))) tmp = 0 if y <= -3.1e+21: tmp = t_6 elif y <= -8.6e-237: tmp = t_5 elif y <= 2.2e-122: tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) elif y <= 6e-57: tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))) elif y <= 1.9: tmp = t_5 elif y <= 4.9e+62: tmp = t_3 elif y <= 1.85e+112: tmp = t_7 elif y <= 3.2e+150: tmp = t_3 elif y <= 3.4e+160: tmp = ((k * y5) - (x * c)) * (y * i) elif y <= 1.26e+181: tmp = (t * j) * ((b * y4) - (i * y5)) elif y <= 3.9e+225: tmp = t_7 else: tmp = t_6 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(t * Float64(Float64(a * y5) - Float64(c * y4))) t_2 = Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) t_3 = Float64(y2 * Float64(Float64(t_2 + Float64(c * Float64(x * y0))) + t_1)) t_4 = Float64(Float64(c * y0) - Float64(a * y1)) t_5 = Float64(y2 * Float64(Float64(t_2 + Float64(x * t_4)) + t_1)) t_6 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) t_7 = 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))))) tmp = 0.0 if (y <= -3.1e+21) tmp = t_6; elseif (y <= -8.6e-237) tmp = t_5; elseif (y <= 2.2e-122) tmp = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))); elseif (y <= 6e-57) tmp = Float64(c * Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) - Float64(y4 * Float64(Float64(t * y2) - Float64(y * y3))))); elseif (y <= 1.9) tmp = t_5; elseif (y <= 4.9e+62) tmp = t_3; elseif (y <= 1.85e+112) tmp = t_7; elseif (y <= 3.2e+150) tmp = t_3; elseif (y <= 3.4e+160) tmp = Float64(Float64(Float64(k * y5) - Float64(x * c)) * Float64(y * i)); elseif (y <= 1.26e+181) tmp = Float64(Float64(t * j) * Float64(Float64(b * y4) - Float64(i * y5))); elseif (y <= 3.9e+225) tmp = t_7; else tmp = t_6; 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 = t * ((a * y5) - (c * y4)); t_2 = k * ((y1 * y4) - (y0 * y5)); t_3 = y2 * ((t_2 + (c * (x * y0))) + t_1); t_4 = (c * y0) - (a * y1); t_5 = y2 * ((t_2 + (x * t_4)) + t_1); t_6 = y4 * (y * ((c * y3) - (b * k))); t_7 = x * (((y * ((a * b) - (c * i))) + (y2 * t_4)) + (j * ((i * y1) - (b * y0)))); tmp = 0.0; if (y <= -3.1e+21) tmp = t_6; elseif (y <= -8.6e-237) tmp = t_5; elseif (y <= 2.2e-122) tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); elseif (y <= 6e-57) tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))); elseif (y <= 1.9) tmp = t_5; elseif (y <= 4.9e+62) tmp = t_3; elseif (y <= 1.85e+112) tmp = t_7; elseif (y <= 3.2e+150) tmp = t_3; elseif (y <= 3.4e+160) tmp = ((k * y5) - (x * c)) * (y * i); elseif (y <= 1.26e+181) tmp = (t * j) * ((b * y4) - (i * y5)); elseif (y <= 3.9e+225) tmp = t_7; else tmp = t_6; 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[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y2 * N[(N[(t$95$2 + N[(c * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y2 * N[(N[(t$95$2 + N[(x * t$95$4), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = 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]}, If[LessEqual[y, -3.1e+21], t$95$6, If[LessEqual[y, -8.6e-237], t$95$5, If[LessEqual[y, 2.2e-122], N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6e-57], N[(c * N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y4 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.9], t$95$5, If[LessEqual[y, 4.9e+62], t$95$3, If[LessEqual[y, 1.85e+112], t$95$7, If[LessEqual[y, 3.2e+150], t$95$3, If[LessEqual[y, 3.4e+160], N[(N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision] * N[(y * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.26e+181], N[(N[(t * j), $MachinePrecision] * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.9e+225], t$95$7, t$95$6]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(a \cdot y5 - c \cdot y4\right)\\
t_2 := k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\\
t_3 := y2 \cdot \left(\left(t_2 + c \cdot \left(x \cdot y0\right)\right) + t_1\right)\\
t_4 := c \cdot y0 - a \cdot y1\\
t_5 := y2 \cdot \left(\left(t_2 + x \cdot t_4\right) + t_1\right)\\
t_6 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
t_7 := 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)\\
\mathbf{if}\;y \leq -3.1 \cdot 10^{+21}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y \leq -8.6 \cdot 10^{-237}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y \leq 2.2 \cdot 10^{-122}:\\
\;\;\;\;y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y \leq 6 \cdot 10^{-57}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) - y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;y \leq 1.9:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y \leq 4.9 \cdot 10^{+62}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y \leq 1.85 \cdot 10^{+112}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y \leq 3.2 \cdot 10^{+150}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y \leq 3.4 \cdot 10^{+160}:\\
\;\;\;\;\left(k \cdot y5 - x \cdot c\right) \cdot \left(y \cdot i\right)\\
\mathbf{elif}\;y \leq 1.26 \cdot 10^{+181}:\\
\;\;\;\;\left(t \cdot j\right) \cdot \left(b \cdot y4 - i \cdot y5\right)\\
\mathbf{elif}\;y \leq 3.9 \cdot 10^{+225}:\\
\;\;\;\;t_7\\
\mathbf{else}:\\
\;\;\;\;t_6\\
\end{array}
\end{array}
if y < -3.1e21 or 3.90000000000000023e225 < y Initial program 24.3%
Taylor expanded in y around inf 54.8%
add-cube-cbrt54.7%
Applied egg-rr54.7%
Taylor expanded in y4 around inf 54.1%
*-commutative54.1%
mul-1-neg54.1%
unsub-neg54.1%
*-commutative54.1%
Simplified54.1%
if -3.1e21 < y < -8.59999999999999965e-237 or 6.00000000000000001e-57 < y < 1.8999999999999999Initial program 47.2%
Taylor expanded in y2 around inf 58.4%
if -8.59999999999999965e-237 < y < 2.2e-122Initial program 37.3%
Taylor expanded in y4 around inf 59.7%
if 2.2e-122 < y < 6.00000000000000001e-57Initial program 10.5%
Taylor expanded in y0 around inf 42.1%
*-commutative42.1%
*-commutative42.1%
*-commutative42.1%
Simplified42.1%
Taylor expanded in c around inf 78.9%
*-commutative78.9%
*-commutative78.9%
Simplified78.9%
if 1.8999999999999999 < y < 4.8999999999999997e62 or 1.85000000000000002e112 < y < 3.20000000000000016e150Initial program 20.2%
Taylor expanded in y0 around inf 36.3%
*-commutative36.3%
*-commutative36.3%
*-commutative36.3%
Simplified36.3%
Taylor expanded in y2 around inf 61.1%
if 4.8999999999999997e62 < y < 1.85000000000000002e112 or 1.26e181 < y < 3.90000000000000023e225Initial program 22.6%
Taylor expanded in x around inf 67.2%
if 3.20000000000000016e150 < y < 3.4000000000000003e160Initial program 75.0%
Taylor expanded in y around inf 52.2%
Taylor expanded in i around inf 77.2%
associate-*r*77.2%
*-commutative77.2%
mul-1-neg77.2%
unsub-neg77.2%
*-commutative77.2%
Simplified77.2%
if 3.4000000000000003e160 < y < 1.26e181Initial program 16.7%
Simplified16.7%
Taylor expanded in t around inf 34.4%
Taylor expanded in j around inf 51.3%
associate-*r*67.0%
*-commutative67.0%
*-commutative67.0%
Simplified67.0%
Final simplification60.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* a y1) (* c y0)))
(t_2
(*
y3
(+
(* y (- (* c y4) (* a y5)))
(+ (* z t_1) (* j (- (* y0 y5) (* y1 y4)))))))
(t_3 (- (* t y2) (* y y3)))
(t_4 (* y1 (- (* k y2) (* j y3))))
(t_5
(*
y4
(+ (+ (* b (- (* t j) (* y k))) t_4) (* c (- (* y y3) (* t y2))))))
(t_6 (- (* c y0) (* a y1))))
(if (<= y3 -5.6e+32)
t_2
(if (<= y3 -1.02e-196)
t_5
(if (<= y3 9.5e-179)
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 t_6))
(* j (- (* i y1) (* b y0)))))
(if (<= y3 1.9e-141)
(*
y2
(+
(+ (* k (- (* y1 y4) (* y0 y5))) (* x t_6))
(* t (- (* a y5) (* c y4)))))
(if (<= y3 1.5e-127)
t_2
(if (<= y3 2.6e-78)
(*
y5
(+
(* a t_3)
(+ (* i (- (* y k) (* t j))) (* y0 (- (* j y3) (* k y2))))))
(if (<= y3 1.2e-26)
(*
z
(+
(* k (- (* b y0) (* i y1)))
(+ (* t (- (* c i) (* a b))) (* y3 t_1))))
(if (<= y3 1.35e+55)
t_5
(if (<= y3 2.5e+89)
(* c (- (* y0 (- (* x y2) (* z y3))) (* y4 t_3)))
(if (<= y3 3.2e+151)
(* y (* a (- (* x b) (* y3 y5))))
(if (<= y3 2.4e+164) (* y4 t_4) 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 = (a * y1) - (c * y0);
double t_2 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) + (j * ((y0 * y5) - (y1 * y4)))));
double t_3 = (t * y2) - (y * y3);
double t_4 = y1 * ((k * y2) - (j * y3));
double t_5 = y4 * (((b * ((t * j) - (y * k))) + t_4) + (c * ((y * y3) - (t * y2))));
double t_6 = (c * y0) - (a * y1);
double tmp;
if (y3 <= -5.6e+32) {
tmp = t_2;
} else if (y3 <= -1.02e-196) {
tmp = t_5;
} else if (y3 <= 9.5e-179) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_6)) + (j * ((i * y1) - (b * y0))));
} else if (y3 <= 1.9e-141) {
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_6)) + (t * ((a * y5) - (c * y4))));
} else if (y3 <= 1.5e-127) {
tmp = t_2;
} else if (y3 <= 2.6e-78) {
tmp = y5 * ((a * t_3) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y3 <= 1.2e-26) {
tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1)));
} else if (y3 <= 1.35e+55) {
tmp = t_5;
} else if (y3 <= 2.5e+89) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_3));
} else if (y3 <= 3.2e+151) {
tmp = y * (a * ((x * b) - (y3 * y5)));
} else if (y3 <= 2.4e+164) {
tmp = y4 * t_4;
} 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) :: tmp
t_1 = (a * y1) - (c * y0)
t_2 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) + (j * ((y0 * y5) - (y1 * y4)))))
t_3 = (t * y2) - (y * y3)
t_4 = y1 * ((k * y2) - (j * y3))
t_5 = y4 * (((b * ((t * j) - (y * k))) + t_4) + (c * ((y * y3) - (t * y2))))
t_6 = (c * y0) - (a * y1)
if (y3 <= (-5.6d+32)) then
tmp = t_2
else if (y3 <= (-1.02d-196)) then
tmp = t_5
else if (y3 <= 9.5d-179) then
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_6)) + (j * ((i * y1) - (b * y0))))
else if (y3 <= 1.9d-141) then
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_6)) + (t * ((a * y5) - (c * y4))))
else if (y3 <= 1.5d-127) then
tmp = t_2
else if (y3 <= 2.6d-78) then
tmp = y5 * ((a * t_3) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))))
else if (y3 <= 1.2d-26) then
tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1)))
else if (y3 <= 1.35d+55) then
tmp = t_5
else if (y3 <= 2.5d+89) then
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_3))
else if (y3 <= 3.2d+151) then
tmp = y * (a * ((x * b) - (y3 * y5)))
else if (y3 <= 2.4d+164) then
tmp = y4 * t_4
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 = (a * y1) - (c * y0);
double t_2 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) + (j * ((y0 * y5) - (y1 * y4)))));
double t_3 = (t * y2) - (y * y3);
double t_4 = y1 * ((k * y2) - (j * y3));
double t_5 = y4 * (((b * ((t * j) - (y * k))) + t_4) + (c * ((y * y3) - (t * y2))));
double t_6 = (c * y0) - (a * y1);
double tmp;
if (y3 <= -5.6e+32) {
tmp = t_2;
} else if (y3 <= -1.02e-196) {
tmp = t_5;
} else if (y3 <= 9.5e-179) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_6)) + (j * ((i * y1) - (b * y0))));
} else if (y3 <= 1.9e-141) {
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_6)) + (t * ((a * y5) - (c * y4))));
} else if (y3 <= 1.5e-127) {
tmp = t_2;
} else if (y3 <= 2.6e-78) {
tmp = y5 * ((a * t_3) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y3 <= 1.2e-26) {
tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1)));
} else if (y3 <= 1.35e+55) {
tmp = t_5;
} else if (y3 <= 2.5e+89) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_3));
} else if (y3 <= 3.2e+151) {
tmp = y * (a * ((x * b) - (y3 * y5)));
} else if (y3 <= 2.4e+164) {
tmp = y4 * t_4;
} 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 = (a * y1) - (c * y0) t_2 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) + (j * ((y0 * y5) - (y1 * y4))))) t_3 = (t * y2) - (y * y3) t_4 = y1 * ((k * y2) - (j * y3)) t_5 = y4 * (((b * ((t * j) - (y * k))) + t_4) + (c * ((y * y3) - (t * y2)))) t_6 = (c * y0) - (a * y1) tmp = 0 if y3 <= -5.6e+32: tmp = t_2 elif y3 <= -1.02e-196: tmp = t_5 elif y3 <= 9.5e-179: tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_6)) + (j * ((i * y1) - (b * y0)))) elif y3 <= 1.9e-141: tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_6)) + (t * ((a * y5) - (c * y4)))) elif y3 <= 1.5e-127: tmp = t_2 elif y3 <= 2.6e-78: tmp = y5 * ((a * t_3) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2))))) elif y3 <= 1.2e-26: tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1))) elif y3 <= 1.35e+55: tmp = t_5 elif y3 <= 2.5e+89: tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_3)) elif y3 <= 3.2e+151: tmp = y * (a * ((x * b) - (y3 * y5))) elif y3 <= 2.4e+164: tmp = y4 * t_4 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(a * y1) - Float64(c * y0)) t_2 = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) + Float64(Float64(z * t_1) + Float64(j * Float64(Float64(y0 * y5) - Float64(y1 * y4)))))) t_3 = Float64(Float64(t * y2) - Float64(y * y3)) t_4 = Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3))) t_5 = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + t_4) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))) t_6 = Float64(Float64(c * y0) - Float64(a * y1)) tmp = 0.0 if (y3 <= -5.6e+32) tmp = t_2; elseif (y3 <= -1.02e-196) tmp = t_5; elseif (y3 <= 9.5e-179) tmp = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * t_6)) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))); elseif (y3 <= 1.9e-141) tmp = Float64(y2 * Float64(Float64(Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) + Float64(x * t_6)) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y3 <= 1.5e-127) tmp = t_2; elseif (y3 <= 2.6e-78) tmp = Float64(y5 * Float64(Float64(a * t_3) + Float64(Float64(i * Float64(Float64(y * k) - Float64(t * j))) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))); elseif (y3 <= 1.2e-26) tmp = Float64(z * Float64(Float64(k * Float64(Float64(b * y0) - Float64(i * y1))) + Float64(Float64(t * Float64(Float64(c * i) - Float64(a * b))) + Float64(y3 * t_1)))); elseif (y3 <= 1.35e+55) tmp = t_5; elseif (y3 <= 2.5e+89) tmp = Float64(c * Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) - Float64(y4 * t_3))); elseif (y3 <= 3.2e+151) tmp = Float64(y * Float64(a * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif (y3 <= 2.4e+164) tmp = Float64(y4 * t_4); 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 = (a * y1) - (c * y0); t_2 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) + (j * ((y0 * y5) - (y1 * y4))))); t_3 = (t * y2) - (y * y3); t_4 = y1 * ((k * y2) - (j * y3)); t_5 = y4 * (((b * ((t * j) - (y * k))) + t_4) + (c * ((y * y3) - (t * y2)))); t_6 = (c * y0) - (a * y1); tmp = 0.0; if (y3 <= -5.6e+32) tmp = t_2; elseif (y3 <= -1.02e-196) tmp = t_5; elseif (y3 <= 9.5e-179) tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_6)) + (j * ((i * y1) - (b * y0)))); elseif (y3 <= 1.9e-141) tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_6)) + (t * ((a * y5) - (c * y4)))); elseif (y3 <= 1.5e-127) tmp = t_2; elseif (y3 <= 2.6e-78) tmp = y5 * ((a * t_3) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2))))); elseif (y3 <= 1.2e-26) tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1))); elseif (y3 <= 1.35e+55) tmp = t_5; elseif (y3 <= 2.5e+89) tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_3)); elseif (y3 <= 3.2e+151) tmp = y * (a * ((x * b) - (y3 * y5))); elseif (y3 <= 2.4e+164) tmp = y4 * t_4; 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[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z * t$95$1), $MachinePrecision] + N[(j * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$4), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -5.6e+32], t$95$2, If[LessEqual[y3, -1.02e-196], t$95$5, If[LessEqual[y3, 9.5e-179], N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$6), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.9e-141], N[(y2 * N[(N[(N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * t$95$6), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.5e-127], t$95$2, If[LessEqual[y3, 2.6e-78], N[(y5 * N[(N[(a * t$95$3), $MachinePrecision] + N[(N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.2e-26], N[(z * N[(N[(k * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(t * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y3 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.35e+55], t$95$5, If[LessEqual[y3, 2.5e+89], N[(c * N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y4 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 3.2e+151], N[(y * N[(a * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 2.4e+164], N[(y4 * t$95$4), $MachinePrecision], t$95$2]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot y1 - c \cdot y0\\
t_2 := y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) + \left(z \cdot t_1 + j \cdot \left(y0 \cdot y5 - y1 \cdot y4\right)\right)\right)\\
t_3 := t \cdot y2 - y \cdot y3\\
t_4 := y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\\
t_5 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + t_4\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_6 := c \cdot y0 - a \cdot y1\\
\mathbf{if}\;y3 \leq -5.6 \cdot 10^{+32}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y3 \leq -1.02 \cdot 10^{-196}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y3 \leq 9.5 \cdot 10^{-179}:\\
\;\;\;\;x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot t_6\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;y3 \leq 1.9 \cdot 10^{-141}:\\
\;\;\;\;y2 \cdot \left(\left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + x \cdot t_6\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y3 \leq 1.5 \cdot 10^{-127}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y3 \leq 2.6 \cdot 10^{-78}:\\
\;\;\;\;y5 \cdot \left(a \cdot t_3 + \left(i \cdot \left(y \cdot k - t \cdot j\right) + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{elif}\;y3 \leq 1.2 \cdot 10^{-26}:\\
\;\;\;\;z \cdot \left(k \cdot \left(b \cdot y0 - i \cdot y1\right) + \left(t \cdot \left(c \cdot i - a \cdot b\right) + y3 \cdot t_1\right)\right)\\
\mathbf{elif}\;y3 \leq 1.35 \cdot 10^{+55}:\\
\;\;\;\;t_5\\
\mathbf{elif}\;y3 \leq 2.5 \cdot 10^{+89}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) - y4 \cdot t_3\right)\\
\mathbf{elif}\;y3 \leq 3.2 \cdot 10^{+151}:\\
\;\;\;\;y \cdot \left(a \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y3 \leq 2.4 \cdot 10^{+164}:\\
\;\;\;\;y4 \cdot t_4\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y3 < -5.6e32 or 1.89999999999999993e-141 < y3 < 1.50000000000000004e-127 or 2.40000000000000011e164 < y3 Initial program 25.6%
Taylor expanded in y3 around -inf 63.6%
if -5.6e32 < y3 < -1.0200000000000001e-196 or 1.2e-26 < y3 < 1.34999999999999988e55Initial program 30.1%
Taylor expanded in y4 around inf 62.3%
if -1.0200000000000001e-196 < y3 < 9.50000000000000037e-179Initial program 37.9%
Taylor expanded in x around inf 58.9%
if 9.50000000000000037e-179 < y3 < 1.89999999999999993e-141Initial program 71.2%
Taylor expanded in y2 around inf 80.8%
if 1.50000000000000004e-127 < y3 < 2.6000000000000001e-78Initial program 60.0%
Simplified60.0%
Taylor expanded in y5 around -inf 100.0%
if 2.6000000000000001e-78 < y3 < 1.2e-26Initial program 14.3%
Taylor expanded in z around -inf 57.8%
if 1.34999999999999988e55 < y3 < 2.49999999999999992e89Initial program 16.7%
Taylor expanded in y0 around inf 33.3%
*-commutative33.3%
*-commutative33.3%
*-commutative33.3%
Simplified33.3%
Taylor expanded in c around inf 100.0%
*-commutative100.0%
*-commutative100.0%
Simplified100.0%
if 2.49999999999999992e89 < y3 < 3.19999999999999994e151Initial program 44.4%
Taylor expanded in y around inf 44.7%
Taylor expanded in a around inf 77.8%
if 3.19999999999999994e151 < y3 < 2.40000000000000011e164Initial program 0.0%
Taylor expanded in y4 around inf 50.0%
Taylor expanded in y1 around inf 84.8%
Final simplification65.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* t (- (* a y5) (* c y4))))
(t_2 (* y4 (* y (- (* c y3) (* b k)))))
(t_3 (- (* c y0) (* a y1)))
(t_4 (* k (- (* y1 y4) (* y0 y5))))
(t_5 (- (* t y2) (* y y3)))
(t_6
(*
y5
(+
(* a t_5)
(+ (* i (- (* y k) (* t j))) (* y0 (- (* j y3) (* k y2))))))))
(if (<= y -8.6e+20)
t_2
(if (<= y -1.35e-238)
(* y2 (+ (+ t_4 (* x t_3)) t_1))
(if (<= y 2.05e-122)
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2)))))
(if (<= y 2e-55)
(* c (- (* y0 (- (* x y2) (* z y3))) (* y4 t_5)))
(if (<= y 6.8e+112)
t_6
(if (<= y 3.9e+147)
(* y2 (+ (+ t_4 (* c (* x y0))) t_1))
(if (<= y 2.3e+179)
t_6
(if (<= y 7e+205)
(* k (* y4 (* y (- b))))
(if (<= y 6.5e+232)
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 t_3))
(* j (- (* i y1) (* b y0)))))
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 = t * ((a * y5) - (c * y4));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double t_3 = (c * y0) - (a * y1);
double t_4 = k * ((y1 * y4) - (y0 * y5));
double t_5 = (t * y2) - (y * y3);
double t_6 = y5 * ((a * t_5) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))));
double tmp;
if (y <= -8.6e+20) {
tmp = t_2;
} else if (y <= -1.35e-238) {
tmp = y2 * ((t_4 + (x * t_3)) + t_1);
} else if (y <= 2.05e-122) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 2e-55) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_5));
} else if (y <= 6.8e+112) {
tmp = t_6;
} else if (y <= 3.9e+147) {
tmp = y2 * ((t_4 + (c * (x * y0))) + t_1);
} else if (y <= 2.3e+179) {
tmp = t_6;
} else if (y <= 7e+205) {
tmp = k * (y4 * (y * -b));
} else if (y <= 6.5e+232) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0))));
} 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) :: tmp
t_1 = t * ((a * y5) - (c * y4))
t_2 = y4 * (y * ((c * y3) - (b * k)))
t_3 = (c * y0) - (a * y1)
t_4 = k * ((y1 * y4) - (y0 * y5))
t_5 = (t * y2) - (y * y3)
t_6 = y5 * ((a * t_5) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))))
if (y <= (-8.6d+20)) then
tmp = t_2
else if (y <= (-1.35d-238)) then
tmp = y2 * ((t_4 + (x * t_3)) + t_1)
else if (y <= 2.05d-122) then
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
else if (y <= 2d-55) then
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_5))
else if (y <= 6.8d+112) then
tmp = t_6
else if (y <= 3.9d+147) then
tmp = y2 * ((t_4 + (c * (x * y0))) + t_1)
else if (y <= 2.3d+179) then
tmp = t_6
else if (y <= 7d+205) then
tmp = k * (y4 * (y * -b))
else if (y <= 6.5d+232) then
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0))))
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 = t * ((a * y5) - (c * y4));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double t_3 = (c * y0) - (a * y1);
double t_4 = k * ((y1 * y4) - (y0 * y5));
double t_5 = (t * y2) - (y * y3);
double t_6 = y5 * ((a * t_5) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2)))));
double tmp;
if (y <= -8.6e+20) {
tmp = t_2;
} else if (y <= -1.35e-238) {
tmp = y2 * ((t_4 + (x * t_3)) + t_1);
} else if (y <= 2.05e-122) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 2e-55) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_5));
} else if (y <= 6.8e+112) {
tmp = t_6;
} else if (y <= 3.9e+147) {
tmp = y2 * ((t_4 + (c * (x * y0))) + t_1);
} else if (y <= 2.3e+179) {
tmp = t_6;
} else if (y <= 7e+205) {
tmp = k * (y4 * (y * -b));
} else if (y <= 6.5e+232) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0))));
} 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 = t * ((a * y5) - (c * y4)) t_2 = y4 * (y * ((c * y3) - (b * k))) t_3 = (c * y0) - (a * y1) t_4 = k * ((y1 * y4) - (y0 * y5)) t_5 = (t * y2) - (y * y3) t_6 = y5 * ((a * t_5) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2))))) tmp = 0 if y <= -8.6e+20: tmp = t_2 elif y <= -1.35e-238: tmp = y2 * ((t_4 + (x * t_3)) + t_1) elif y <= 2.05e-122: tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) elif y <= 2e-55: tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_5)) elif y <= 6.8e+112: tmp = t_6 elif y <= 3.9e+147: tmp = y2 * ((t_4 + (c * (x * y0))) + t_1) elif y <= 2.3e+179: tmp = t_6 elif y <= 7e+205: tmp = k * (y4 * (y * -b)) elif y <= 6.5e+232: tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0)))) 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(t * Float64(Float64(a * y5) - Float64(c * y4))) t_2 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) t_3 = Float64(Float64(c * y0) - Float64(a * y1)) t_4 = Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) t_5 = Float64(Float64(t * y2) - Float64(y * y3)) t_6 = Float64(y5 * Float64(Float64(a * t_5) + Float64(Float64(i * Float64(Float64(y * k) - Float64(t * j))) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))) tmp = 0.0 if (y <= -8.6e+20) tmp = t_2; elseif (y <= -1.35e-238) tmp = Float64(y2 * Float64(Float64(t_4 + Float64(x * t_3)) + t_1)); elseif (y <= 2.05e-122) tmp = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))); elseif (y <= 2e-55) tmp = Float64(c * Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) - Float64(y4 * t_5))); elseif (y <= 6.8e+112) tmp = t_6; elseif (y <= 3.9e+147) tmp = Float64(y2 * Float64(Float64(t_4 + Float64(c * Float64(x * y0))) + t_1)); elseif (y <= 2.3e+179) tmp = t_6; elseif (y <= 7e+205) tmp = Float64(k * Float64(y4 * Float64(y * Float64(-b)))); elseif (y <= 6.5e+232) tmp = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * t_3)) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))); 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 = t * ((a * y5) - (c * y4)); t_2 = y4 * (y * ((c * y3) - (b * k))); t_3 = (c * y0) - (a * y1); t_4 = k * ((y1 * y4) - (y0 * y5)); t_5 = (t * y2) - (y * y3); t_6 = y5 * ((a * t_5) + ((i * ((y * k) - (t * j))) + (y0 * ((j * y3) - (k * y2))))); tmp = 0.0; if (y <= -8.6e+20) tmp = t_2; elseif (y <= -1.35e-238) tmp = y2 * ((t_4 + (x * t_3)) + t_1); elseif (y <= 2.05e-122) tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); elseif (y <= 2e-55) tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * t_5)); elseif (y <= 6.8e+112) tmp = t_6; elseif (y <= 3.9e+147) tmp = y2 * ((t_4 + (c * (x * y0))) + t_1); elseif (y <= 2.3e+179) tmp = t_6; elseif (y <= 7e+205) tmp = k * (y4 * (y * -b)); elseif (y <= 6.5e+232) tmp = x * (((y * ((a * b) - (c * i))) + (y2 * t_3)) + (j * ((i * y1) - (b * y0)))); 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[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(y5 * N[(N[(a * t$95$5), $MachinePrecision] + N[(N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -8.6e+20], t$95$2, If[LessEqual[y, -1.35e-238], N[(y2 * N[(N[(t$95$4 + N[(x * t$95$3), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.05e-122], N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2e-55], N[(c * N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y4 * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.8e+112], t$95$6, If[LessEqual[y, 3.9e+147], N[(y2 * N[(N[(t$95$4 + N[(c * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.3e+179], t$95$6, If[LessEqual[y, 7e+205], N[(k * N[(y4 * N[(y * (-b)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.5e+232], N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$3), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(a \cdot y5 - c \cdot y4\right)\\
t_2 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
t_3 := c \cdot y0 - a \cdot y1\\
t_4 := k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\\
t_5 := t \cdot y2 - y \cdot y3\\
t_6 := y5 \cdot \left(a \cdot t_5 + \left(i \cdot \left(y \cdot k - t \cdot j\right) + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{if}\;y \leq -8.6 \cdot 10^{+20}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -1.35 \cdot 10^{-238}:\\
\;\;\;\;y2 \cdot \left(\left(t_4 + x \cdot t_3\right) + t_1\right)\\
\mathbf{elif}\;y \leq 2.05 \cdot 10^{-122}:\\
\;\;\;\;y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y \leq 2 \cdot 10^{-55}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) - y4 \cdot t_5\right)\\
\mathbf{elif}\;y \leq 6.8 \cdot 10^{+112}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y \leq 3.9 \cdot 10^{+147}:\\
\;\;\;\;y2 \cdot \left(\left(t_4 + c \cdot \left(x \cdot y0\right)\right) + t_1\right)\\
\mathbf{elif}\;y \leq 2.3 \cdot 10^{+179}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y \leq 7 \cdot 10^{+205}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y \cdot \left(-b\right)\right)\right)\\
\mathbf{elif}\;y \leq 6.5 \cdot 10^{+232}:\\
\;\;\;\;x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot t_3\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y < -8.6e20 or 6.50000000000000016e232 < y Initial program 24.6%
Taylor expanded in y around inf 54.3%
add-cube-cbrt54.2%
Applied egg-rr54.2%
Taylor expanded in y4 around inf 53.6%
*-commutative53.6%
mul-1-neg53.6%
unsub-neg53.6%
*-commutative53.6%
Simplified53.6%
if -8.6e20 < y < -1.34999999999999995e-238Initial program 42.8%
Taylor expanded in y2 around inf 55.1%
if -1.34999999999999995e-238 < y < 2.05e-122Initial program 37.3%
Taylor expanded in y4 around inf 59.7%
if 2.05e-122 < y < 1.99999999999999999e-55Initial program 15.0%
Taylor expanded in y0 around inf 45.0%
*-commutative45.0%
*-commutative45.0%
*-commutative45.0%
Simplified45.0%
Taylor expanded in c around inf 80.0%
*-commutative80.0%
*-commutative80.0%
Simplified80.0%
if 1.99999999999999999e-55 < y < 6.79999999999999987e112 or 3.90000000000000016e147 < y < 2.29999999999999994e179Initial program 37.9%
Simplified40.1%
Taylor expanded in y5 around -inf 62.8%
if 6.79999999999999987e112 < y < 3.90000000000000016e147Initial program 12.5%
Taylor expanded in y0 around inf 12.6%
*-commutative12.6%
*-commutative12.6%
*-commutative12.6%
Simplified12.6%
Taylor expanded in y2 around inf 77.2%
if 2.29999999999999994e179 < y < 6.9999999999999996e205Initial program 15.6%
Taylor expanded in y4 around inf 44.2%
Taylor expanded in y around -inf 58.0%
mul-1-neg58.0%
associate-*r*58.0%
*-commutative58.0%
Simplified58.0%
Taylor expanded in k around inf 71.7%
if 6.9999999999999996e205 < y < 6.50000000000000016e232Initial program 16.4%
Taylor expanded in x around inf 83.3%
Final simplification60.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* a y5) (* c y4)))
(t_2
(* c (- (* y0 (- (* x y2) (* z y3))) (* y4 (- (* t y2) (* y y3))))))
(t_3
(*
y3
(+
(* y (- (* c y4) (* a y5)))
(+ (* z (- (* a y1) (* c y0))) (* j (- (* y0 y5) (* y1 y4)))))))
(t_4
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2))))))
(t_5 (- (* c y0) (* a y1)))
(t_6
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 t_5))
(* j (- (* i y1) (* b y0)))))))
(if (<= y3 -3.2e+30)
t_3
(if (<= y3 -5.2e-196)
t_4
(if (<= y3 -1.35e-279)
t_6
(if (<= y3 5.2e-266)
(*
t
(+
(+ (* z (- (* c i) (* a b))) (* j (- (* b y4) (* i y5))))
(* y2 t_1)))
(if (<= y3 1.2e-181)
t_6
(if (<= y3 1.02e-140)
(* y2 (+ (+ (* k (- (* y1 y4) (* y0 y5))) (* x t_5)) (* t t_1)))
(if (<= y3 5.6e-130)
t_2
(if (<= y3 210000000000.0)
t_4
(if (<= y3 1.3e+87) t_2 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 = (a * y5) - (c * y4);
double t_2 = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
double t_3 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4)))));
double t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_5 = (c * y0) - (a * y1);
double t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_5)) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y3 <= -3.2e+30) {
tmp = t_3;
} else if (y3 <= -5.2e-196) {
tmp = t_4;
} else if (y3 <= -1.35e-279) {
tmp = t_6;
} else if (y3 <= 5.2e-266) {
tmp = t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * t_1));
} else if (y3 <= 1.2e-181) {
tmp = t_6;
} else if (y3 <= 1.02e-140) {
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_5)) + (t * t_1));
} else if (y3 <= 5.6e-130) {
tmp = t_2;
} else if (y3 <= 210000000000.0) {
tmp = t_4;
} else if (y3 <= 1.3e+87) {
tmp = t_2;
} else {
tmp = 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) :: t_5
real(8) :: t_6
real(8) :: tmp
t_1 = (a * y5) - (c * y4)
t_2 = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))))
t_3 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4)))))
t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
t_5 = (c * y0) - (a * y1)
t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_5)) + (j * ((i * y1) - (b * y0))))
if (y3 <= (-3.2d+30)) then
tmp = t_3
else if (y3 <= (-5.2d-196)) then
tmp = t_4
else if (y3 <= (-1.35d-279)) then
tmp = t_6
else if (y3 <= 5.2d-266) then
tmp = t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * t_1))
else if (y3 <= 1.2d-181) then
tmp = t_6
else if (y3 <= 1.02d-140) then
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_5)) + (t * t_1))
else if (y3 <= 5.6d-130) then
tmp = t_2
else if (y3 <= 210000000000.0d0) then
tmp = t_4
else if (y3 <= 1.3d+87) then
tmp = t_2
else
tmp = 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 = (a * y5) - (c * y4);
double t_2 = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
double t_3 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4)))));
double t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_5 = (c * y0) - (a * y1);
double t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_5)) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y3 <= -3.2e+30) {
tmp = t_3;
} else if (y3 <= -5.2e-196) {
tmp = t_4;
} else if (y3 <= -1.35e-279) {
tmp = t_6;
} else if (y3 <= 5.2e-266) {
tmp = t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * t_1));
} else if (y3 <= 1.2e-181) {
tmp = t_6;
} else if (y3 <= 1.02e-140) {
tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_5)) + (t * t_1));
} else if (y3 <= 5.6e-130) {
tmp = t_2;
} else if (y3 <= 210000000000.0) {
tmp = t_4;
} else if (y3 <= 1.3e+87) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (a * y5) - (c * y4) t_2 = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))) t_3 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4))))) t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) t_5 = (c * y0) - (a * y1) t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_5)) + (j * ((i * y1) - (b * y0)))) tmp = 0 if y3 <= -3.2e+30: tmp = t_3 elif y3 <= -5.2e-196: tmp = t_4 elif y3 <= -1.35e-279: tmp = t_6 elif y3 <= 5.2e-266: tmp = t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * t_1)) elif y3 <= 1.2e-181: tmp = t_6 elif y3 <= 1.02e-140: tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_5)) + (t * t_1)) elif y3 <= 5.6e-130: tmp = t_2 elif y3 <= 210000000000.0: tmp = t_4 elif y3 <= 1.3e+87: tmp = t_2 else: tmp = 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(a * y5) - Float64(c * y4)) t_2 = Float64(c * Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) - Float64(y4 * Float64(Float64(t * y2) - Float64(y * y3))))) t_3 = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) + Float64(Float64(z * Float64(Float64(a * y1) - Float64(c * y0))) + Float64(j * Float64(Float64(y0 * y5) - Float64(y1 * y4)))))) t_4 = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))) t_5 = Float64(Float64(c * y0) - Float64(a * y1)) t_6 = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * t_5)) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) tmp = 0.0 if (y3 <= -3.2e+30) tmp = t_3; elseif (y3 <= -5.2e-196) tmp = t_4; elseif (y3 <= -1.35e-279) tmp = t_6; elseif (y3 <= 5.2e-266) tmp = Float64(t * Float64(Float64(Float64(z * Float64(Float64(c * i) - Float64(a * b))) + Float64(j * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(y2 * t_1))); elseif (y3 <= 1.2e-181) tmp = t_6; elseif (y3 <= 1.02e-140) tmp = Float64(y2 * Float64(Float64(Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) + Float64(x * t_5)) + Float64(t * t_1))); elseif (y3 <= 5.6e-130) tmp = t_2; elseif (y3 <= 210000000000.0) tmp = t_4; elseif (y3 <= 1.3e+87) tmp = t_2; else tmp = 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 = (a * y5) - (c * y4); t_2 = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))); t_3 = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) + (j * ((y0 * y5) - (y1 * y4))))); t_4 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); t_5 = (c * y0) - (a * y1); t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * t_5)) + (j * ((i * y1) - (b * y0)))); tmp = 0.0; if (y3 <= -3.2e+30) tmp = t_3; elseif (y3 <= -5.2e-196) tmp = t_4; elseif (y3 <= -1.35e-279) tmp = t_6; elseif (y3 <= 5.2e-266) tmp = t * (((z * ((c * i) - (a * b))) + (j * ((b * y4) - (i * y5)))) + (y2 * t_1)); elseif (y3 <= 1.2e-181) tmp = t_6; elseif (y3 <= 1.02e-140) tmp = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (x * t_5)) + (t * t_1)); elseif (y3 <= 5.6e-130) tmp = t_2; elseif (y3 <= 210000000000.0) tmp = t_4; elseif (y3 <= 1.3e+87) tmp = t_2; else tmp = 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[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y4 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $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$5), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -3.2e+30], t$95$3, If[LessEqual[y3, -5.2e-196], t$95$4, If[LessEqual[y3, -1.35e-279], t$95$6, If[LessEqual[y3, 5.2e-266], N[(t * N[(N[(N[(z * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.2e-181], t$95$6, If[LessEqual[y3, 1.02e-140], N[(y2 * N[(N[(N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * t$95$5), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 5.6e-130], t$95$2, If[LessEqual[y3, 210000000000.0], t$95$4, If[LessEqual[y3, 1.3e+87], t$95$2, t$95$3]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot y5 - c \cdot y4\\
t_2 := c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) - y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
t_3 := y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) + \left(z \cdot \left(a \cdot y1 - c \cdot y0\right) + j \cdot \left(y0 \cdot y5 - y1 \cdot y4\right)\right)\right)\\
t_4 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_5 := c \cdot y0 - a \cdot y1\\
t_6 := x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot t_5\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{if}\;y3 \leq -3.2 \cdot 10^{+30}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y3 \leq -5.2 \cdot 10^{-196}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y3 \leq -1.35 \cdot 10^{-279}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y3 \leq 5.2 \cdot 10^{-266}:\\
\;\;\;\;t \cdot \left(\left(z \cdot \left(c \cdot i - a \cdot b\right) + j \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + y2 \cdot t_1\right)\\
\mathbf{elif}\;y3 \leq 1.2 \cdot 10^{-181}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y3 \leq 1.02 \cdot 10^{-140}:\\
\;\;\;\;y2 \cdot \left(\left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + x \cdot t_5\right) + t \cdot t_1\right)\\
\mathbf{elif}\;y3 \leq 5.6 \cdot 10^{-130}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y3 \leq 210000000000:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y3 \leq 1.3 \cdot 10^{+87}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if y3 < -3.19999999999999973e30 or 1.29999999999999999e87 < y3 Initial program 26.8%
Taylor expanded in y3 around -inf 63.3%
if -3.19999999999999973e30 < y3 < -5.1999999999999996e-196 or 5.60000000000000032e-130 < y3 < 2.1e11Initial program 31.6%
Taylor expanded in y4 around inf 61.9%
if -5.1999999999999996e-196 < y3 < -1.3500000000000001e-279 or 5.1999999999999999e-266 < y3 < 1.2000000000000001e-181Initial program 38.4%
Taylor expanded in x around inf 74.0%
if -1.3500000000000001e-279 < y3 < 5.1999999999999999e-266Initial program 37.2%
Simplified37.2%
Taylor expanded in t around inf 53.7%
if 1.2000000000000001e-181 < y3 < 1.01999999999999995e-140Initial program 71.2%
Taylor expanded in y2 around inf 80.8%
if 1.01999999999999995e-140 < y3 < 5.60000000000000032e-130 or 2.1e11 < y3 < 1.29999999999999999e87Initial program 7.7%
Taylor expanded in y0 around inf 23.1%
*-commutative23.1%
*-commutative23.1%
*-commutative23.1%
Simplified23.1%
Taylor expanded in c around inf 71.8%
*-commutative71.8%
*-commutative71.8%
Simplified71.8%
Final simplification64.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
y2
(+
(+ (* k (- (* y1 y4) (* y0 y5))) (* c (* x y0)))
(* t (- (* a y5) (* c y4))))))
(t_2 (* y4 (* y (- (* c y3) (* b k))))))
(if (<= y -7e+20)
t_2
(if (<= y -2.9e-231)
t_1
(if (<= y -3.2e-294)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= y 7.6e-267)
(* z (* y1 (- (* a y3) (* i k))))
(if (<= y 6.8e-207)
(* y3 (* j (- (* y0 y5) (* y1 y4))))
(if (<= y 3.2e-126)
(* y3 (* z (- (* a y1) (* c y0))))
(if (<= y 1.3e-57)
(*
c
(-
(* y0 (- (* x y2) (* z y3)))
(* y4 (- (* t y2) (* y y3)))))
(if (<= y 8.5e+179) t_1 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 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4))));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double tmp;
if (y <= -7e+20) {
tmp = t_2;
} else if (y <= -2.9e-231) {
tmp = t_1;
} else if (y <= -3.2e-294) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y <= 7.6e-267) {
tmp = z * (y1 * ((a * y3) - (i * k)));
} else if (y <= 6.8e-207) {
tmp = y3 * (j * ((y0 * y5) - (y1 * y4)));
} else if (y <= 3.2e-126) {
tmp = y3 * (z * ((a * y1) - (c * y0)));
} else if (y <= 1.3e-57) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
} else if (y <= 8.5e+179) {
tmp = t_1;
} 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) :: tmp
t_1 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4))))
t_2 = y4 * (y * ((c * y3) - (b * k)))
if (y <= (-7d+20)) then
tmp = t_2
else if (y <= (-2.9d-231)) then
tmp = t_1
else if (y <= (-3.2d-294)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (y <= 7.6d-267) then
tmp = z * (y1 * ((a * y3) - (i * k)))
else if (y <= 6.8d-207) then
tmp = y3 * (j * ((y0 * y5) - (y1 * y4)))
else if (y <= 3.2d-126) then
tmp = y3 * (z * ((a * y1) - (c * y0)))
else if (y <= 1.3d-57) then
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))))
else if (y <= 8.5d+179) then
tmp = t_1
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 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4))));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double tmp;
if (y <= -7e+20) {
tmp = t_2;
} else if (y <= -2.9e-231) {
tmp = t_1;
} else if (y <= -3.2e-294) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y <= 7.6e-267) {
tmp = z * (y1 * ((a * y3) - (i * k)));
} else if (y <= 6.8e-207) {
tmp = y3 * (j * ((y0 * y5) - (y1 * y4)));
} else if (y <= 3.2e-126) {
tmp = y3 * (z * ((a * y1) - (c * y0)));
} else if (y <= 1.3e-57) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
} else if (y <= 8.5e+179) {
tmp = t_1;
} 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 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4)))) t_2 = y4 * (y * ((c * y3) - (b * k))) tmp = 0 if y <= -7e+20: tmp = t_2 elif y <= -2.9e-231: tmp = t_1 elif y <= -3.2e-294: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif y <= 7.6e-267: tmp = z * (y1 * ((a * y3) - (i * k))) elif y <= 6.8e-207: tmp = y3 * (j * ((y0 * y5) - (y1 * y4))) elif y <= 3.2e-126: tmp = y3 * (z * ((a * y1) - (c * y0))) elif y <= 1.3e-57: tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))) elif y <= 8.5e+179: tmp = t_1 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(y2 * Float64(Float64(Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) + Float64(c * Float64(x * y0))) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))) t_2 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) tmp = 0.0 if (y <= -7e+20) tmp = t_2; elseif (y <= -2.9e-231) tmp = t_1; elseif (y <= -3.2e-294) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (y <= 7.6e-267) tmp = Float64(z * Float64(y1 * Float64(Float64(a * y3) - Float64(i * k)))); elseif (y <= 6.8e-207) tmp = Float64(y3 * Float64(j * Float64(Float64(y0 * y5) - Float64(y1 * y4)))); elseif (y <= 3.2e-126) tmp = Float64(y3 * Float64(z * Float64(Float64(a * y1) - Float64(c * y0)))); elseif (y <= 1.3e-57) tmp = Float64(c * Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) - Float64(y4 * Float64(Float64(t * y2) - Float64(y * y3))))); elseif (y <= 8.5e+179) tmp = t_1; 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 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4)))); t_2 = y4 * (y * ((c * y3) - (b * k))); tmp = 0.0; if (y <= -7e+20) tmp = t_2; elseif (y <= -2.9e-231) tmp = t_1; elseif (y <= -3.2e-294) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (y <= 7.6e-267) tmp = z * (y1 * ((a * y3) - (i * k))); elseif (y <= 6.8e-207) tmp = y3 * (j * ((y0 * y5) - (y1 * y4))); elseif (y <= 3.2e-126) tmp = y3 * (z * ((a * y1) - (c * y0))); elseif (y <= 1.3e-57) tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))); elseif (y <= 8.5e+179) tmp = t_1; 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[(y2 * N[(N[(N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -7e+20], t$95$2, If[LessEqual[y, -2.9e-231], t$95$1, If[LessEqual[y, -3.2e-294], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.6e-267], N[(z * N[(y1 * N[(N[(a * y3), $MachinePrecision] - N[(i * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.8e-207], N[(y3 * N[(j * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.2e-126], N[(y3 * N[(z * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.3e-57], N[(c * N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y4 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 8.5e+179], t$95$1, t$95$2]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y2 \cdot \left(\left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + c \cdot \left(x \cdot y0\right)\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
t_2 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
\mathbf{if}\;y \leq -7 \cdot 10^{+20}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -2.9 \cdot 10^{-231}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -3.2 \cdot 10^{-294}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;y \leq 7.6 \cdot 10^{-267}:\\
\;\;\;\;z \cdot \left(y1 \cdot \left(a \cdot y3 - i \cdot k\right)\right)\\
\mathbf{elif}\;y \leq 6.8 \cdot 10^{-207}:\\
\;\;\;\;y3 \cdot \left(j \cdot \left(y0 \cdot y5 - y1 \cdot y4\right)\right)\\
\mathbf{elif}\;y \leq 3.2 \cdot 10^{-126}:\\
\;\;\;\;y3 \cdot \left(z \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\\
\mathbf{elif}\;y \leq 1.3 \cdot 10^{-57}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) - y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;y \leq 8.5 \cdot 10^{+179}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y < -7e20 or 8.49999999999999962e179 < y Initial program 23.7%
Taylor expanded in y around inf 54.8%
add-cube-cbrt54.7%
Applied egg-rr54.7%
Taylor expanded in y4 around inf 52.1%
*-commutative52.1%
mul-1-neg52.1%
unsub-neg52.1%
*-commutative52.1%
Simplified52.1%
if -7e20 < y < -2.9000000000000001e-231 or 1.29999999999999993e-57 < y < 8.49999999999999962e179Initial program 37.9%
Taylor expanded in y0 around inf 36.1%
*-commutative36.1%
*-commutative36.1%
*-commutative36.1%
Simplified36.1%
Taylor expanded in y2 around inf 50.1%
if -2.9000000000000001e-231 < y < -3.20000000000000019e-294Initial program 44.4%
Taylor expanded in y4 around inf 66.7%
Taylor expanded in y1 around inf 56.1%
if -3.20000000000000019e-294 < y < 7.60000000000000006e-267Initial program 23.1%
Taylor expanded in z around -inf 61.6%
Taylor expanded in y1 around -inf 80.3%
mul-1-neg80.3%
Simplified80.3%
if 7.60000000000000006e-267 < y < 6.79999999999999997e-207Initial program 58.2%
Taylor expanded in y3 around -inf 58.8%
Taylor expanded in j around inf 59.0%
*-commutative59.0%
Simplified59.0%
if 6.79999999999999997e-207 < y < 3.2000000000000001e-126Initial program 15.5%
Taylor expanded in y3 around -inf 39.5%
Taylor expanded in z around inf 54.9%
if 3.2000000000000001e-126 < y < 1.29999999999999993e-57Initial program 10.5%
Taylor expanded in y0 around inf 42.1%
*-commutative42.1%
*-commutative42.1%
*-commutative42.1%
Simplified42.1%
Taylor expanded in c around inf 78.9%
*-commutative78.9%
*-commutative78.9%
Simplified78.9%
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 (* t (- (* a y5) (* c y4))))
(t_2 (* y4 (* y (- (* c y3) (* b k)))))
(t_3 (* k (- (* y1 y4) (* y0 y5))))
(t_4 (* y2 (+ (+ t_3 (* x (- (* c y0) (* a y1)))) t_1))))
(if (<= y -6.9e+21)
t_2
(if (<= y -2.15e-238)
t_4
(if (<= y 1.15e-122)
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2)))))
(if (<= y 9.5e-58)
(* c (- (* y0 (- (* x y2) (* z y3))) (* y4 (- (* t y2) (* y y3)))))
(if (<= y 7.8)
t_4
(if (<= y 1.45e+180)
(* y2 (+ (+ t_3 (* c (* x y0))) t_1))
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 = t * ((a * y5) - (c * y4));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double t_3 = k * ((y1 * y4) - (y0 * y5));
double t_4 = y2 * ((t_3 + (x * ((c * y0) - (a * y1)))) + t_1);
double tmp;
if (y <= -6.9e+21) {
tmp = t_2;
} else if (y <= -2.15e-238) {
tmp = t_4;
} else if (y <= 1.15e-122) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 9.5e-58) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
} else if (y <= 7.8) {
tmp = t_4;
} else if (y <= 1.45e+180) {
tmp = y2 * ((t_3 + (c * (x * y0))) + t_1);
} 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) :: tmp
t_1 = t * ((a * y5) - (c * y4))
t_2 = y4 * (y * ((c * y3) - (b * k)))
t_3 = k * ((y1 * y4) - (y0 * y5))
t_4 = y2 * ((t_3 + (x * ((c * y0) - (a * y1)))) + t_1)
if (y <= (-6.9d+21)) then
tmp = t_2
else if (y <= (-2.15d-238)) then
tmp = t_4
else if (y <= 1.15d-122) then
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
else if (y <= 9.5d-58) then
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))))
else if (y <= 7.8d0) then
tmp = t_4
else if (y <= 1.45d+180) then
tmp = y2 * ((t_3 + (c * (x * y0))) + t_1)
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 = t * ((a * y5) - (c * y4));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double t_3 = k * ((y1 * y4) - (y0 * y5));
double t_4 = y2 * ((t_3 + (x * ((c * y0) - (a * y1)))) + t_1);
double tmp;
if (y <= -6.9e+21) {
tmp = t_2;
} else if (y <= -2.15e-238) {
tmp = t_4;
} else if (y <= 1.15e-122) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 9.5e-58) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
} else if (y <= 7.8) {
tmp = t_4;
} else if (y <= 1.45e+180) {
tmp = y2 * ((t_3 + (c * (x * y0))) + t_1);
} 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 = t * ((a * y5) - (c * y4)) t_2 = y4 * (y * ((c * y3) - (b * k))) t_3 = k * ((y1 * y4) - (y0 * y5)) t_4 = y2 * ((t_3 + (x * ((c * y0) - (a * y1)))) + t_1) tmp = 0 if y <= -6.9e+21: tmp = t_2 elif y <= -2.15e-238: tmp = t_4 elif y <= 1.15e-122: tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) elif y <= 9.5e-58: tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))) elif y <= 7.8: tmp = t_4 elif y <= 1.45e+180: tmp = y2 * ((t_3 + (c * (x * y0))) + t_1) 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(t * Float64(Float64(a * y5) - Float64(c * y4))) t_2 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) t_3 = Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) t_4 = Float64(y2 * Float64(Float64(t_3 + Float64(x * Float64(Float64(c * y0) - Float64(a * y1)))) + t_1)) tmp = 0.0 if (y <= -6.9e+21) tmp = t_2; elseif (y <= -2.15e-238) tmp = t_4; elseif (y <= 1.15e-122) tmp = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))); elseif (y <= 9.5e-58) tmp = Float64(c * Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) - Float64(y4 * Float64(Float64(t * y2) - Float64(y * y3))))); elseif (y <= 7.8) tmp = t_4; elseif (y <= 1.45e+180) tmp = Float64(y2 * Float64(Float64(t_3 + Float64(c * Float64(x * y0))) + t_1)); 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 = t * ((a * y5) - (c * y4)); t_2 = y4 * (y * ((c * y3) - (b * k))); t_3 = k * ((y1 * y4) - (y0 * y5)); t_4 = y2 * ((t_3 + (x * ((c * y0) - (a * y1)))) + t_1); tmp = 0.0; if (y <= -6.9e+21) tmp = t_2; elseif (y <= -2.15e-238) tmp = t_4; elseif (y <= 1.15e-122) tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); elseif (y <= 9.5e-58) tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))); elseif (y <= 7.8) tmp = t_4; elseif (y <= 1.45e+180) tmp = y2 * ((t_3 + (c * (x * y0))) + t_1); 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[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y2 * N[(N[(t$95$3 + N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -6.9e+21], t$95$2, If[LessEqual[y, -2.15e-238], t$95$4, If[LessEqual[y, 1.15e-122], N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9.5e-58], N[(c * N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y4 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 7.8], t$95$4, If[LessEqual[y, 1.45e+180], N[(y2 * N[(N[(t$95$3 + N[(c * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(a \cdot y5 - c \cdot y4\right)\\
t_2 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
t_3 := k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\\
t_4 := y2 \cdot \left(\left(t_3 + x \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + t_1\right)\\
\mathbf{if}\;y \leq -6.9 \cdot 10^{+21}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -2.15 \cdot 10^{-238}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y \leq 1.15 \cdot 10^{-122}:\\
\;\;\;\;y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y \leq 9.5 \cdot 10^{-58}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) - y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;y \leq 7.8:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y \leq 1.45 \cdot 10^{+180}:\\
\;\;\;\;y2 \cdot \left(\left(t_3 + c \cdot \left(x \cdot y0\right)\right) + t_1\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y < -6.9e21 or 1.45000000000000004e180 < y Initial program 23.7%
Taylor expanded in y around inf 54.8%
add-cube-cbrt54.7%
Applied egg-rr54.7%
Taylor expanded in y4 around inf 52.1%
*-commutative52.1%
mul-1-neg52.1%
unsub-neg52.1%
*-commutative52.1%
Simplified52.1%
if -6.9e21 < y < -2.14999999999999984e-238 or 9.4999999999999994e-58 < y < 7.79999999999999982Initial program 47.2%
Taylor expanded in y2 around inf 58.4%
if -2.14999999999999984e-238 < y < 1.15000000000000003e-122Initial program 37.3%
Taylor expanded in y4 around inf 59.7%
if 1.15000000000000003e-122 < y < 9.4999999999999994e-58Initial program 10.5%
Taylor expanded in y0 around inf 42.1%
*-commutative42.1%
*-commutative42.1%
*-commutative42.1%
Simplified42.1%
Taylor expanded in c around inf 78.9%
*-commutative78.9%
*-commutative78.9%
Simplified78.9%
if 7.79999999999999982 < y < 1.45000000000000004e180Initial program 26.3%
Taylor expanded in y0 around inf 33.7%
*-commutative33.7%
*-commutative33.7%
*-commutative33.7%
Simplified33.7%
Taylor expanded in y2 around inf 46.1%
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
(*
y2
(+
(+ (* k (- (* y1 y4) (* y0 y5))) (* c (* x y0)))
(* t (- (* a y5) (* c y4))))))
(t_2 (* y4 (* y (- (* c y3) (* b k))))))
(if (<= y -1.35e+21)
t_2
(if (<= y -3.1e-232)
t_1
(if (<= y 3.1e-120)
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2)))))
(if (<= y 1e+180) t_1 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 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4))));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double tmp;
if (y <= -1.35e+21) {
tmp = t_2;
} else if (y <= -3.1e-232) {
tmp = t_1;
} else if (y <= 3.1e-120) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 1e+180) {
tmp = t_1;
} 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) :: tmp
t_1 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4))))
t_2 = y4 * (y * ((c * y3) - (b * k)))
if (y <= (-1.35d+21)) then
tmp = t_2
else if (y <= (-3.1d-232)) then
tmp = t_1
else if (y <= 3.1d-120) then
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
else if (y <= 1d+180) then
tmp = t_1
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 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4))));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double tmp;
if (y <= -1.35e+21) {
tmp = t_2;
} else if (y <= -3.1e-232) {
tmp = t_1;
} else if (y <= 3.1e-120) {
tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
} else if (y <= 1e+180) {
tmp = t_1;
} 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 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4)))) t_2 = y4 * (y * ((c * y3) - (b * k))) tmp = 0 if y <= -1.35e+21: tmp = t_2 elif y <= -3.1e-232: tmp = t_1 elif y <= 3.1e-120: tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) elif y <= 1e+180: tmp = t_1 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(y2 * Float64(Float64(Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5))) + Float64(c * Float64(x * y0))) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))) t_2 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) tmp = 0.0 if (y <= -1.35e+21) tmp = t_2; elseif (y <= -3.1e-232) tmp = t_1; elseif (y <= 3.1e-120) tmp = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))); elseif (y <= 1e+180) tmp = t_1; 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 = y2 * (((k * ((y1 * y4) - (y0 * y5))) + (c * (x * y0))) + (t * ((a * y5) - (c * y4)))); t_2 = y4 * (y * ((c * y3) - (b * k))); tmp = 0.0; if (y <= -1.35e+21) tmp = t_2; elseif (y <= -3.1e-232) tmp = t_1; elseif (y <= 3.1e-120) tmp = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); elseif (y <= 1e+180) tmp = t_1; 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[(y2 * N[(N[(N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.35e+21], t$95$2, If[LessEqual[y, -3.1e-232], t$95$1, If[LessEqual[y, 3.1e-120], N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1e+180], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y2 \cdot \left(\left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + c \cdot \left(x \cdot y0\right)\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
t_2 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
\mathbf{if}\;y \leq -1.35 \cdot 10^{+21}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -3.1 \cdot 10^{-232}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq 3.1 \cdot 10^{-120}:\\
\;\;\;\;y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y \leq 10^{+180}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y < -1.35e21 or 1e180 < y Initial program 23.7%
Taylor expanded in y around inf 54.8%
add-cube-cbrt54.7%
Applied egg-rr54.7%
Taylor expanded in y4 around inf 52.1%
*-commutative52.1%
mul-1-neg52.1%
unsub-neg52.1%
*-commutative52.1%
Simplified52.1%
if -1.35e21 < y < -3.0999999999999999e-232 or 3.10000000000000019e-120 < y < 1e180Initial program 33.6%
Taylor expanded in y0 around inf 37.5%
*-commutative37.5%
*-commutative37.5%
*-commutative37.5%
Simplified37.5%
Taylor expanded in y2 around inf 51.1%
if -3.0999999999999999e-232 < y < 3.10000000000000019e-120Initial program 37.1%
Taylor expanded in y4 around inf 60.1%
Final simplification53.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y4 (* y (- (* c y3) (* b k)))))
(t_2 (* y (* y3 (- (* c y4) (* a y5)))))
(t_3 (- (* b y4) (* i y5)))
(t_4 (* y4 (* y1 (- (* k y2) (* j y3))))))
(if (<= j -3.3e+196)
(* (* t j) t_3)
(if (<= j -1.45e+52)
t_1
(if (<= j -1.26e-10)
t_4
(if (<= j -6.5e-32)
(* c (* i (* z t)))
(if (<= j -3.8e-122)
(* c (* y4 (- (* y y3) (* t y2))))
(if (<= j 1.15e-288)
t_2
(if (<= j 6e-113)
t_1
(if (<= j 4.2e+20)
(* y4 (* y2 (- (* k y1) (* t c))))
(if (<= j 4.4e+84)
t_2
(if (<= j 8e+197) (* t (* j t_3)) t_4))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y4 * (y * ((c * y3) - (b * k)));
double t_2 = y * (y3 * ((c * y4) - (a * y5)));
double t_3 = (b * y4) - (i * y5);
double t_4 = y4 * (y1 * ((k * y2) - (j * y3)));
double tmp;
if (j <= -3.3e+196) {
tmp = (t * j) * t_3;
} else if (j <= -1.45e+52) {
tmp = t_1;
} else if (j <= -1.26e-10) {
tmp = t_4;
} else if (j <= -6.5e-32) {
tmp = c * (i * (z * t));
} else if (j <= -3.8e-122) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (j <= 1.15e-288) {
tmp = t_2;
} else if (j <= 6e-113) {
tmp = t_1;
} else if (j <= 4.2e+20) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 4.4e+84) {
tmp = t_2;
} else if (j <= 8e+197) {
tmp = t * (j * t_3);
} else {
tmp = 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) :: tmp
t_1 = y4 * (y * ((c * y3) - (b * k)))
t_2 = y * (y3 * ((c * y4) - (a * y5)))
t_3 = (b * y4) - (i * y5)
t_4 = y4 * (y1 * ((k * y2) - (j * y3)))
if (j <= (-3.3d+196)) then
tmp = (t * j) * t_3
else if (j <= (-1.45d+52)) then
tmp = t_1
else if (j <= (-1.26d-10)) then
tmp = t_4
else if (j <= (-6.5d-32)) then
tmp = c * (i * (z * t))
else if (j <= (-3.8d-122)) then
tmp = c * (y4 * ((y * y3) - (t * y2)))
else if (j <= 1.15d-288) then
tmp = t_2
else if (j <= 6d-113) then
tmp = t_1
else if (j <= 4.2d+20) then
tmp = y4 * (y2 * ((k * y1) - (t * c)))
else if (j <= 4.4d+84) then
tmp = t_2
else if (j <= 8d+197) then
tmp = t * (j * t_3)
else
tmp = 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 = y4 * (y * ((c * y3) - (b * k)));
double t_2 = y * (y3 * ((c * y4) - (a * y5)));
double t_3 = (b * y4) - (i * y5);
double t_4 = y4 * (y1 * ((k * y2) - (j * y3)));
double tmp;
if (j <= -3.3e+196) {
tmp = (t * j) * t_3;
} else if (j <= -1.45e+52) {
tmp = t_1;
} else if (j <= -1.26e-10) {
tmp = t_4;
} else if (j <= -6.5e-32) {
tmp = c * (i * (z * t));
} else if (j <= -3.8e-122) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (j <= 1.15e-288) {
tmp = t_2;
} else if (j <= 6e-113) {
tmp = t_1;
} else if (j <= 4.2e+20) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 4.4e+84) {
tmp = t_2;
} else if (j <= 8e+197) {
tmp = t * (j * t_3);
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y4 * (y * ((c * y3) - (b * k))) t_2 = y * (y3 * ((c * y4) - (a * y5))) t_3 = (b * y4) - (i * y5) t_4 = y4 * (y1 * ((k * y2) - (j * y3))) tmp = 0 if j <= -3.3e+196: tmp = (t * j) * t_3 elif j <= -1.45e+52: tmp = t_1 elif j <= -1.26e-10: tmp = t_4 elif j <= -6.5e-32: tmp = c * (i * (z * t)) elif j <= -3.8e-122: tmp = c * (y4 * ((y * y3) - (t * y2))) elif j <= 1.15e-288: tmp = t_2 elif j <= 6e-113: tmp = t_1 elif j <= 4.2e+20: tmp = y4 * (y2 * ((k * y1) - (t * c))) elif j <= 4.4e+84: tmp = t_2 elif j <= 8e+197: tmp = t * (j * t_3) else: tmp = t_4 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) t_2 = Float64(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))) t_3 = Float64(Float64(b * y4) - Float64(i * y5)) t_4 = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) tmp = 0.0 if (j <= -3.3e+196) tmp = Float64(Float64(t * j) * t_3); elseif (j <= -1.45e+52) tmp = t_1; elseif (j <= -1.26e-10) tmp = t_4; elseif (j <= -6.5e-32) tmp = Float64(c * Float64(i * Float64(z * t))); elseif (j <= -3.8e-122) tmp = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))); elseif (j <= 1.15e-288) tmp = t_2; elseif (j <= 6e-113) tmp = t_1; elseif (j <= 4.2e+20) tmp = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))); elseif (j <= 4.4e+84) tmp = t_2; elseif (j <= 8e+197) tmp = Float64(t * Float64(j * t_3)); else tmp = 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 = y4 * (y * ((c * y3) - (b * k))); t_2 = y * (y3 * ((c * y4) - (a * y5))); t_3 = (b * y4) - (i * y5); t_4 = y4 * (y1 * ((k * y2) - (j * y3))); tmp = 0.0; if (j <= -3.3e+196) tmp = (t * j) * t_3; elseif (j <= -1.45e+52) tmp = t_1; elseif (j <= -1.26e-10) tmp = t_4; elseif (j <= -6.5e-32) tmp = c * (i * (z * t)); elseif (j <= -3.8e-122) tmp = c * (y4 * ((y * y3) - (t * y2))); elseif (j <= 1.15e-288) tmp = t_2; elseif (j <= 6e-113) tmp = t_1; elseif (j <= 4.2e+20) tmp = y4 * (y2 * ((k * y1) - (t * c))); elseif (j <= 4.4e+84) tmp = t_2; elseif (j <= 8e+197) tmp = t * (j * t_3); else tmp = 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[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.3e+196], N[(N[(t * j), $MachinePrecision] * t$95$3), $MachinePrecision], If[LessEqual[j, -1.45e+52], t$95$1, If[LessEqual[j, -1.26e-10], t$95$4, If[LessEqual[j, -6.5e-32], N[(c * N[(i * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -3.8e-122], N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.15e-288], t$95$2, If[LessEqual[j, 6e-113], t$95$1, If[LessEqual[j, 4.2e+20], N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.4e+84], t$95$2, If[LessEqual[j, 8e+197], N[(t * N[(j * t$95$3), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
t_2 := y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
t_3 := b \cdot y4 - i \cdot y5\\
t_4 := y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{if}\;j \leq -3.3 \cdot 10^{+196}:\\
\;\;\;\;\left(t \cdot j\right) \cdot t_3\\
\mathbf{elif}\;j \leq -1.45 \cdot 10^{+52}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -1.26 \cdot 10^{-10}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;j \leq -6.5 \cdot 10^{-32}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t\right)\right)\\
\mathbf{elif}\;j \leq -3.8 \cdot 10^{-122}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;j \leq 1.15 \cdot 10^{-288}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 6 \cdot 10^{-113}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 4.2 \cdot 10^{+20}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 4.4 \cdot 10^{+84}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 8 \cdot 10^{+197}:\\
\;\;\;\;t \cdot \left(j \cdot t_3\right)\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
\end{array}
if j < -3.3000000000000002e196Initial program 20.8%
Simplified24.9%
Taylor expanded in t around inf 46.5%
Taylor expanded in j around inf 51.2%
associate-*r*58.9%
*-commutative58.9%
*-commutative58.9%
Simplified58.9%
if -3.3000000000000002e196 < j < -1.45e52 or 1.15e-288 < j < 6.0000000000000002e-113Initial program 25.2%
Taylor expanded in y around inf 42.1%
add-cube-cbrt42.0%
Applied egg-rr42.0%
Taylor expanded in y4 around inf 44.4%
*-commutative44.4%
mul-1-neg44.4%
unsub-neg44.4%
*-commutative44.4%
Simplified44.4%
if -1.45e52 < j < -1.26000000000000004e-10 or 7.9999999999999996e197 < j Initial program 24.9%
Taylor expanded in y4 around inf 52.7%
Taylor expanded in y1 around inf 55.6%
if -1.26000000000000004e-10 < j < -6.49999999999999988e-32Initial program 26.9%
Simplified26.9%
Taylor expanded in t around inf 25.4%
Taylor expanded in z around inf 50.4%
mul-1-neg50.4%
associate-*r*50.4%
Simplified50.4%
Taylor expanded in a around 0 75.4%
associate-*r*75.4%
neg-mul-175.4%
Simplified75.4%
if -6.49999999999999988e-32 < j < -3.8000000000000001e-122Initial program 17.5%
Taylor expanded in y4 around inf 50.6%
Taylor expanded in c around inf 51.0%
if -3.8000000000000001e-122 < j < 1.15e-288 or 4.2e20 < j < 4.3999999999999997e84Initial program 40.6%
Taylor expanded in y0 around inf 40.9%
*-commutative40.9%
*-commutative40.9%
*-commutative40.9%
Simplified40.9%
Taylor expanded in y around inf 54.1%
if 6.0000000000000002e-113 < j < 4.2e20Initial program 41.4%
Taylor expanded in y4 around inf 45.2%
Taylor expanded in y2 around inf 56.2%
if 4.3999999999999997e84 < j < 7.9999999999999996e197Initial program 37.5%
Simplified37.5%
Taylor expanded in t around inf 42.4%
Taylor expanded in j around inf 46.9%
*-commutative46.9%
Simplified46.9%
Final simplification52.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y4 (* y (- (* c y3) (* b k)))))
(t_2 (* y (* y3 (- (* c y4) (* a y5)))))
(t_3 (* y3 (* j (- (* y0 y5) (* y1 y4))))))
(if (<= j -2.3e+196)
(* (* t j) (- (* b y4) (* i y5)))
(if (<= j -1.95e+55)
t_1
(if (<= j -3.8e+18)
t_3
(if (<= j -1.2e-31)
(* c (* i (* z t)))
(if (<= j -1.05e-125)
(* c (* y4 (- (* y y3) (* t y2))))
(if (<= j 9.5e-287)
t_2
(if (<= j 2.45e-113)
t_1
(if (<= j 4.2e+20)
(* y4 (* y2 (- (* k y1) (* t c))))
(if (<= j 6.4e+88)
t_2
(if (<= j 9.5e+183)
(* (- i) (* (* t j) y5))
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 = y4 * (y * ((c * y3) - (b * k)));
double t_2 = y * (y3 * ((c * y4) - (a * y5)));
double t_3 = y3 * (j * ((y0 * y5) - (y1 * y4)));
double tmp;
if (j <= -2.3e+196) {
tmp = (t * j) * ((b * y4) - (i * y5));
} else if (j <= -1.95e+55) {
tmp = t_1;
} else if (j <= -3.8e+18) {
tmp = t_3;
} else if (j <= -1.2e-31) {
tmp = c * (i * (z * t));
} else if (j <= -1.05e-125) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (j <= 9.5e-287) {
tmp = t_2;
} else if (j <= 2.45e-113) {
tmp = t_1;
} else if (j <= 4.2e+20) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 6.4e+88) {
tmp = t_2;
} else if (j <= 9.5e+183) {
tmp = -i * ((t * j) * y5);
} else {
tmp = 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) :: tmp
t_1 = y4 * (y * ((c * y3) - (b * k)))
t_2 = y * (y3 * ((c * y4) - (a * y5)))
t_3 = y3 * (j * ((y0 * y5) - (y1 * y4)))
if (j <= (-2.3d+196)) then
tmp = (t * j) * ((b * y4) - (i * y5))
else if (j <= (-1.95d+55)) then
tmp = t_1
else if (j <= (-3.8d+18)) then
tmp = t_3
else if (j <= (-1.2d-31)) then
tmp = c * (i * (z * t))
else if (j <= (-1.05d-125)) then
tmp = c * (y4 * ((y * y3) - (t * y2)))
else if (j <= 9.5d-287) then
tmp = t_2
else if (j <= 2.45d-113) then
tmp = t_1
else if (j <= 4.2d+20) then
tmp = y4 * (y2 * ((k * y1) - (t * c)))
else if (j <= 6.4d+88) then
tmp = t_2
else if (j <= 9.5d+183) then
tmp = -i * ((t * j) * y5)
else
tmp = 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 = y4 * (y * ((c * y3) - (b * k)));
double t_2 = y * (y3 * ((c * y4) - (a * y5)));
double t_3 = y3 * (j * ((y0 * y5) - (y1 * y4)));
double tmp;
if (j <= -2.3e+196) {
tmp = (t * j) * ((b * y4) - (i * y5));
} else if (j <= -1.95e+55) {
tmp = t_1;
} else if (j <= -3.8e+18) {
tmp = t_3;
} else if (j <= -1.2e-31) {
tmp = c * (i * (z * t));
} else if (j <= -1.05e-125) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (j <= 9.5e-287) {
tmp = t_2;
} else if (j <= 2.45e-113) {
tmp = t_1;
} else if (j <= 4.2e+20) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 6.4e+88) {
tmp = t_2;
} else if (j <= 9.5e+183) {
tmp = -i * ((t * j) * y5);
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y4 * (y * ((c * y3) - (b * k))) t_2 = y * (y3 * ((c * y4) - (a * y5))) t_3 = y3 * (j * ((y0 * y5) - (y1 * y4))) tmp = 0 if j <= -2.3e+196: tmp = (t * j) * ((b * y4) - (i * y5)) elif j <= -1.95e+55: tmp = t_1 elif j <= -3.8e+18: tmp = t_3 elif j <= -1.2e-31: tmp = c * (i * (z * t)) elif j <= -1.05e-125: tmp = c * (y4 * ((y * y3) - (t * y2))) elif j <= 9.5e-287: tmp = t_2 elif j <= 2.45e-113: tmp = t_1 elif j <= 4.2e+20: tmp = y4 * (y2 * ((k * y1) - (t * c))) elif j <= 6.4e+88: tmp = t_2 elif j <= 9.5e+183: tmp = -i * ((t * j) * y5) else: tmp = 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(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) t_2 = Float64(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))) t_3 = Float64(y3 * Float64(j * Float64(Float64(y0 * y5) - Float64(y1 * y4)))) tmp = 0.0 if (j <= -2.3e+196) tmp = Float64(Float64(t * j) * Float64(Float64(b * y4) - Float64(i * y5))); elseif (j <= -1.95e+55) tmp = t_1; elseif (j <= -3.8e+18) tmp = t_3; elseif (j <= -1.2e-31) tmp = Float64(c * Float64(i * Float64(z * t))); elseif (j <= -1.05e-125) tmp = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))); elseif (j <= 9.5e-287) tmp = t_2; elseif (j <= 2.45e-113) tmp = t_1; elseif (j <= 4.2e+20) tmp = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))); elseif (j <= 6.4e+88) tmp = t_2; elseif (j <= 9.5e+183) tmp = Float64(Float64(-i) * Float64(Float64(t * j) * y5)); else tmp = 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 = y4 * (y * ((c * y3) - (b * k))); t_2 = y * (y3 * ((c * y4) - (a * y5))); t_3 = y3 * (j * ((y0 * y5) - (y1 * y4))); tmp = 0.0; if (j <= -2.3e+196) tmp = (t * j) * ((b * y4) - (i * y5)); elseif (j <= -1.95e+55) tmp = t_1; elseif (j <= -3.8e+18) tmp = t_3; elseif (j <= -1.2e-31) tmp = c * (i * (z * t)); elseif (j <= -1.05e-125) tmp = c * (y4 * ((y * y3) - (t * y2))); elseif (j <= 9.5e-287) tmp = t_2; elseif (j <= 2.45e-113) tmp = t_1; elseif (j <= 4.2e+20) tmp = y4 * (y2 * ((k * y1) - (t * c))); elseif (j <= 6.4e+88) tmp = t_2; elseif (j <= 9.5e+183) tmp = -i * ((t * j) * y5); else tmp = 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[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y3 * N[(j * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -2.3e+196], N[(N[(t * j), $MachinePrecision] * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.95e+55], t$95$1, If[LessEqual[j, -3.8e+18], t$95$3, If[LessEqual[j, -1.2e-31], N[(c * N[(i * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.05e-125], N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 9.5e-287], t$95$2, If[LessEqual[j, 2.45e-113], t$95$1, If[LessEqual[j, 4.2e+20], N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6.4e+88], t$95$2, If[LessEqual[j, 9.5e+183], N[((-i) * N[(N[(t * j), $MachinePrecision] * y5), $MachinePrecision]), $MachinePrecision], t$95$3]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
t_2 := y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
t_3 := y3 \cdot \left(j \cdot \left(y0 \cdot y5 - y1 \cdot y4\right)\right)\\
\mathbf{if}\;j \leq -2.3 \cdot 10^{+196}:\\
\;\;\;\;\left(t \cdot j\right) \cdot \left(b \cdot y4 - i \cdot y5\right)\\
\mathbf{elif}\;j \leq -1.95 \cdot 10^{+55}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -3.8 \cdot 10^{+18}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq -1.2 \cdot 10^{-31}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t\right)\right)\\
\mathbf{elif}\;j \leq -1.05 \cdot 10^{-125}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;j \leq 9.5 \cdot 10^{-287}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 2.45 \cdot 10^{-113}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 4.2 \cdot 10^{+20}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 6.4 \cdot 10^{+88}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 9.5 \cdot 10^{+183}:\\
\;\;\;\;\left(-i\right) \cdot \left(\left(t \cdot j\right) \cdot y5\right)\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if j < -2.2999999999999998e196Initial program 20.8%
Simplified24.9%
Taylor expanded in t around inf 46.5%
Taylor expanded in j around inf 51.2%
associate-*r*58.9%
*-commutative58.9%
*-commutative58.9%
Simplified58.9%
if -2.2999999999999998e196 < j < -1.95000000000000014e55 or 9.5000000000000004e-287 < j < 2.4500000000000001e-113Initial program 23.9%
Taylor expanded in y around inf 42.8%
add-cube-cbrt42.7%
Applied egg-rr42.7%
Taylor expanded in y4 around inf 45.1%
*-commutative45.1%
mul-1-neg45.1%
unsub-neg45.1%
*-commutative45.1%
Simplified45.1%
if -1.95000000000000014e55 < j < -3.8e18 or 9.5000000000000003e183 < j Initial program 26.2%
Taylor expanded in y3 around -inf 64.8%
Taylor expanded in j around inf 60.0%
*-commutative60.0%
Simplified60.0%
if -3.8e18 < j < -1.2e-31Initial program 34.0%
Simplified34.0%
Taylor expanded in t around inf 33.9%
Taylor expanded in z around inf 46.0%
mul-1-neg46.0%
associate-*r*46.0%
Simplified46.0%
Taylor expanded in a around 0 46.2%
associate-*r*46.2%
neg-mul-146.2%
Simplified46.2%
if -1.2e-31 < j < -1.05e-125Initial program 17.5%
Taylor expanded in y4 around inf 50.6%
Taylor expanded in c around inf 51.0%
if -1.05e-125 < j < 9.5000000000000004e-287 or 4.2e20 < j < 6.3999999999999997e88Initial program 41.6%
Taylor expanded in y0 around inf 40.3%
*-commutative40.3%
*-commutative40.3%
*-commutative40.3%
Simplified40.3%
Taylor expanded in y around inf 54.9%
if 2.4500000000000001e-113 < j < 4.2e20Initial program 41.4%
Taylor expanded in y4 around inf 45.2%
Taylor expanded in y2 around inf 56.2%
if 6.3999999999999997e88 < j < 9.5000000000000003e183Initial program 35.3%
Simplified35.3%
Taylor expanded in t around inf 42.2%
Taylor expanded in j around inf 30.8%
associate-*r*30.9%
*-commutative30.9%
*-commutative30.9%
Simplified30.9%
Taylor expanded in y4 around 0 36.6%
associate-*r*36.6%
neg-mul-136.6%
associate-*r*41.9%
Simplified41.9%
Final simplification52.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y4 (* y (- (* c y3) (* b k)))))
(t_2 (* y (* y3 (- (* c y4) (* a y5)))))
(t_3 (* y4 (* y2 (- (* k y1) (* t c))))))
(if (<= j -3.1e+196)
(* (* t j) (- (* b y4) (* i y5)))
(if (<= j -2.4e+52)
t_1
(if (<= j -7.5e-122)
t_3
(if (<= j 5.5e-285)
t_2
(if (<= j 9.4e-113)
t_1
(if (<= j 2.55e+22)
t_3
(if (<= j 1.15e+87)
t_2
(if (<= j 2.4e+201)
(* y4 (* t (- (* b j) (* c y2))))
(* y4 (* y1 (- (* k y2) (* j y3))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y4 * (y * ((c * y3) - (b * k)));
double t_2 = y * (y3 * ((c * y4) - (a * y5)));
double t_3 = y4 * (y2 * ((k * y1) - (t * c)));
double tmp;
if (j <= -3.1e+196) {
tmp = (t * j) * ((b * y4) - (i * y5));
} else if (j <= -2.4e+52) {
tmp = t_1;
} else if (j <= -7.5e-122) {
tmp = t_3;
} else if (j <= 5.5e-285) {
tmp = t_2;
} else if (j <= 9.4e-113) {
tmp = t_1;
} else if (j <= 2.55e+22) {
tmp = t_3;
} else if (j <= 1.15e+87) {
tmp = t_2;
} else if (j <= 2.4e+201) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
}
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 = y4 * (y * ((c * y3) - (b * k)))
t_2 = y * (y3 * ((c * y4) - (a * y5)))
t_3 = y4 * (y2 * ((k * y1) - (t * c)))
if (j <= (-3.1d+196)) then
tmp = (t * j) * ((b * y4) - (i * y5))
else if (j <= (-2.4d+52)) then
tmp = t_1
else if (j <= (-7.5d-122)) then
tmp = t_3
else if (j <= 5.5d-285) then
tmp = t_2
else if (j <= 9.4d-113) then
tmp = t_1
else if (j <= 2.55d+22) then
tmp = t_3
else if (j <= 1.15d+87) then
tmp = t_2
else if (j <= 2.4d+201) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
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 * (y * ((c * y3) - (b * k)));
double t_2 = y * (y3 * ((c * y4) - (a * y5)));
double t_3 = y4 * (y2 * ((k * y1) - (t * c)));
double tmp;
if (j <= -3.1e+196) {
tmp = (t * j) * ((b * y4) - (i * y5));
} else if (j <= -2.4e+52) {
tmp = t_1;
} else if (j <= -7.5e-122) {
tmp = t_3;
} else if (j <= 5.5e-285) {
tmp = t_2;
} else if (j <= 9.4e-113) {
tmp = t_1;
} else if (j <= 2.55e+22) {
tmp = t_3;
} else if (j <= 1.15e+87) {
tmp = t_2;
} else if (j <= 2.4e+201) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y4 * (y * ((c * y3) - (b * k))) t_2 = y * (y3 * ((c * y4) - (a * y5))) t_3 = y4 * (y2 * ((k * y1) - (t * c))) tmp = 0 if j <= -3.1e+196: tmp = (t * j) * ((b * y4) - (i * y5)) elif j <= -2.4e+52: tmp = t_1 elif j <= -7.5e-122: tmp = t_3 elif j <= 5.5e-285: tmp = t_2 elif j <= 9.4e-113: tmp = t_1 elif j <= 2.55e+22: tmp = t_3 elif j <= 1.15e+87: tmp = t_2 elif j <= 2.4e+201: tmp = y4 * (t * ((b * j) - (c * y2))) else: tmp = y4 * (y1 * ((k * y2) - (j * y3))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) t_2 = Float64(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))) t_3 = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))) tmp = 0.0 if (j <= -3.1e+196) tmp = Float64(Float64(t * j) * Float64(Float64(b * y4) - Float64(i * y5))); elseif (j <= -2.4e+52) tmp = t_1; elseif (j <= -7.5e-122) tmp = t_3; elseif (j <= 5.5e-285) tmp = t_2; elseif (j <= 9.4e-113) tmp = t_1; elseif (j <= 2.55e+22) tmp = t_3; elseif (j <= 1.15e+87) tmp = t_2; elseif (j <= 2.4e+201) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); else tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); 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 * (y * ((c * y3) - (b * k))); t_2 = y * (y3 * ((c * y4) - (a * y5))); t_3 = y4 * (y2 * ((k * y1) - (t * c))); tmp = 0.0; if (j <= -3.1e+196) tmp = (t * j) * ((b * y4) - (i * y5)); elseif (j <= -2.4e+52) tmp = t_1; elseif (j <= -7.5e-122) tmp = t_3; elseif (j <= 5.5e-285) tmp = t_2; elseif (j <= 9.4e-113) tmp = t_1; elseif (j <= 2.55e+22) tmp = t_3; elseif (j <= 1.15e+87) tmp = t_2; elseif (j <= 2.4e+201) tmp = y4 * (t * ((b * j) - (c * y2))); else tmp = y4 * (y1 * ((k * y2) - (j * y3))); 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[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.1e+196], N[(N[(t * j), $MachinePrecision] * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -2.4e+52], t$95$1, If[LessEqual[j, -7.5e-122], t$95$3, If[LessEqual[j, 5.5e-285], t$95$2, If[LessEqual[j, 9.4e-113], t$95$1, If[LessEqual[j, 2.55e+22], t$95$3, If[LessEqual[j, 1.15e+87], t$95$2, If[LessEqual[j, 2.4e+201], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
t_2 := y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
t_3 := y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{if}\;j \leq -3.1 \cdot 10^{+196}:\\
\;\;\;\;\left(t \cdot j\right) \cdot \left(b \cdot y4 - i \cdot y5\right)\\
\mathbf{elif}\;j \leq -2.4 \cdot 10^{+52}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -7.5 \cdot 10^{-122}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq 5.5 \cdot 10^{-285}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 9.4 \cdot 10^{-113}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 2.55 \cdot 10^{+22}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq 1.15 \cdot 10^{+87}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 2.4 \cdot 10^{+201}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\end{array}
\end{array}
if j < -3.1000000000000001e196Initial program 20.8%
Simplified24.9%
Taylor expanded in t around inf 46.5%
Taylor expanded in j around inf 51.2%
associate-*r*58.9%
*-commutative58.9%
*-commutative58.9%
Simplified58.9%
if -3.1000000000000001e196 < j < -2.4e52 or 5.5000000000000001e-285 < j < 9.4000000000000004e-113Initial program 25.2%
Taylor expanded in y around inf 42.1%
add-cube-cbrt42.0%
Applied egg-rr42.0%
Taylor expanded in y4 around inf 44.4%
*-commutative44.4%
mul-1-neg44.4%
unsub-neg44.4%
*-commutative44.4%
Simplified44.4%
if -2.4e52 < j < -7.4999999999999998e-122 or 9.4000000000000004e-113 < j < 2.5500000000000001e22Initial program 30.6%
Taylor expanded in y4 around inf 45.7%
Taylor expanded in y2 around inf 49.1%
if -7.4999999999999998e-122 < j < 5.5000000000000001e-285 or 2.5500000000000001e22 < j < 1.1500000000000001e87Initial program 41.6%
Taylor expanded in y0 around inf 40.3%
*-commutative40.3%
*-commutative40.3%
*-commutative40.3%
Simplified40.3%
Taylor expanded in y around inf 54.9%
if 1.1500000000000001e87 < j < 2.39999999999999993e201Initial program 36.0%
Taylor expanded in y4 around inf 37.2%
Taylor expanded in t around inf 45.0%
if 2.39999999999999993e201 < j Initial program 22.2%
Taylor expanded in y4 around inf 51.9%
Taylor expanded in y1 around inf 56.0%
Final simplification50.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y -3.5e+21)
(* y4 (* y (- (* c y3) (* b k))))
(if (<= y 1.18e-166)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= y 3.3e-57)
(* c (- (* y0 (- (* x y2) (* z y3))) (* y4 (- (* t y2) (* y y3)))))
(if (<= y 58000.0)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y 1.02e+101)
(* (* y k) (- (* i y5) (* b y4)))
(if (<= y 6.5e+135)
(* y (* a (- (* x b) (* y3 y5))))
(* c (* y (- (* y3 y4) (* x i)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y <= -3.5e+21) {
tmp = y4 * (y * ((c * y3) - (b * k)));
} else if (y <= 1.18e-166) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y <= 3.3e-57) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
} else if (y <= 58000.0) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y <= 1.02e+101) {
tmp = (y * k) * ((i * y5) - (b * y4));
} else if (y <= 6.5e+135) {
tmp = y * (a * ((x * b) - (y3 * y5)));
} else {
tmp = c * (y * ((y3 * y4) - (x * i)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y <= (-3.5d+21)) then
tmp = y4 * (y * ((c * y3) - (b * k)))
else if (y <= 1.18d-166) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (y <= 3.3d-57) then
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))))
else if (y <= 58000.0d0) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y <= 1.02d+101) then
tmp = (y * k) * ((i * y5) - (b * y4))
else if (y <= 6.5d+135) then
tmp = y * (a * ((x * b) - (y3 * y5)))
else
tmp = c * (y * ((y3 * y4) - (x * i)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y <= -3.5e+21) {
tmp = y4 * (y * ((c * y3) - (b * k)));
} else if (y <= 1.18e-166) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y <= 3.3e-57) {
tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3))));
} else if (y <= 58000.0) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y <= 1.02e+101) {
tmp = (y * k) * ((i * y5) - (b * y4));
} else if (y <= 6.5e+135) {
tmp = y * (a * ((x * b) - (y3 * y5)));
} else {
tmp = c * (y * ((y3 * y4) - (x * i)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y <= -3.5e+21: tmp = y4 * (y * ((c * y3) - (b * k))) elif y <= 1.18e-166: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif y <= 3.3e-57: tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))) elif y <= 58000.0: tmp = b * (y0 * ((z * k) - (x * j))) elif y <= 1.02e+101: tmp = (y * k) * ((i * y5) - (b * y4)) elif y <= 6.5e+135: tmp = y * (a * ((x * b) - (y3 * y5))) else: tmp = c * (y * ((y3 * y4) - (x * i))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y <= -3.5e+21) tmp = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))); elseif (y <= 1.18e-166) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (y <= 3.3e-57) tmp = Float64(c * Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) - Float64(y4 * Float64(Float64(t * y2) - Float64(y * y3))))); elseif (y <= 58000.0) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y <= 1.02e+101) tmp = Float64(Float64(y * k) * Float64(Float64(i * y5) - Float64(b * y4))); elseif (y <= 6.5e+135) tmp = Float64(y * Float64(a * Float64(Float64(x * b) - Float64(y3 * y5)))); else tmp = Float64(c * Float64(y * Float64(Float64(y3 * y4) - Float64(x * i)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y <= -3.5e+21) tmp = y4 * (y * ((c * y3) - (b * k))); elseif (y <= 1.18e-166) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (y <= 3.3e-57) tmp = c * ((y0 * ((x * y2) - (z * y3))) - (y4 * ((t * y2) - (y * y3)))); elseif (y <= 58000.0) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y <= 1.02e+101) tmp = (y * k) * ((i * y5) - (b * y4)); elseif (y <= 6.5e+135) tmp = y * (a * ((x * b) - (y3 * y5))); else tmp = c * (y * ((y3 * y4) - (x * i))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y, -3.5e+21], N[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.18e-166], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.3e-57], N[(c * N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y4 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 58000.0], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.02e+101], N[(N[(y * k), $MachinePrecision] * N[(N[(i * y5), $MachinePrecision] - N[(b * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.5e+135], N[(y * N[(a * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y * N[(N[(y3 * y4), $MachinePrecision] - N[(x * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.5 \cdot 10^{+21}:\\
\;\;\;\;y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
\mathbf{elif}\;y \leq 1.18 \cdot 10^{-166}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;y \leq 3.3 \cdot 10^{-57}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) - y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;y \leq 58000:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y \leq 1.02 \cdot 10^{+101}:\\
\;\;\;\;\left(y \cdot k\right) \cdot \left(i \cdot y5 - b \cdot y4\right)\\
\mathbf{elif}\;y \leq 6.5 \cdot 10^{+135}:\\
\;\;\;\;y \cdot \left(a \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y \cdot \left(y3 \cdot y4 - x \cdot i\right)\right)\\
\end{array}
\end{array}
if y < -3.5e21Initial program 24.9%
Taylor expanded in y around inf 53.0%
add-cube-cbrt52.9%
Applied egg-rr52.9%
Taylor expanded in y4 around inf 50.4%
*-commutative50.4%
mul-1-neg50.4%
unsub-neg50.4%
*-commutative50.4%
Simplified50.4%
if -3.5e21 < y < 1.18000000000000004e-166Initial program 41.1%
Taylor expanded in y4 around inf 46.7%
Taylor expanded in y1 around inf 38.5%
if 1.18000000000000004e-166 < y < 3.2999999999999998e-57Initial program 12.4%
Taylor expanded in y0 around inf 37.4%
*-commutative37.4%
*-commutative37.4%
*-commutative37.4%
Simplified37.4%
Taylor expanded in c around inf 67.0%
*-commutative67.0%
*-commutative67.0%
Simplified67.0%
if 3.2999999999999998e-57 < y < 58000Initial program 57.1%
Taylor expanded in y0 around inf 42.9%
*-commutative42.9%
*-commutative42.9%
*-commutative42.9%
Simplified42.9%
Taylor expanded in b around -inf 44.0%
mul-1-neg44.0%
associate-*r*50.6%
*-commutative50.6%
Simplified50.6%
if 58000 < y < 1.02000000000000002e101Initial program 21.1%
Taylor expanded in y around inf 42.5%
Taylor expanded in k around inf 48.3%
mul-1-neg48.3%
associate-*r*48.3%
distribute-lft-neg-in48.3%
*-commutative48.3%
*-commutative48.3%
Simplified48.3%
if 1.02000000000000002e101 < y < 6.5000000000000003e135Initial program 50.0%
Taylor expanded in y around inf 66.7%
Taylor expanded in a around inf 68.0%
if 6.5000000000000003e135 < y Initial program 22.5%
Taylor expanded in y around inf 55.7%
add-cube-cbrt55.7%
Applied egg-rr55.7%
Taylor expanded in c around inf 49.6%
*-commutative49.6%
mul-1-neg49.6%
unsub-neg49.6%
*-commutative49.6%
Simplified49.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 (* y4 (* y2 (- (* k y1) (* t c)))))
(t_2 (* y4 (* y (- (* c y3) (* b k)))))
(t_3 (* y (* y3 (- (* c y4) (* a y5))))))
(if (<= j -7e+52)
t_2
(if (<= j -4.1e-128)
t_1
(if (<= j 6.4e-285)
t_3
(if (<= j 1e-112)
t_2
(if (<= j 1.5e+22)
t_1
(if (<= j 1.06e+91)
t_3
(if (<= j 1.36e+201)
(* y4 (* t (- (* b j) (* c y2))))
(* y4 (* y1 (- (* k y2) (* j y3)))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y4 * (y2 * ((k * y1) - (t * c)));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double t_3 = y * (y3 * ((c * y4) - (a * y5)));
double tmp;
if (j <= -7e+52) {
tmp = t_2;
} else if (j <= -4.1e-128) {
tmp = t_1;
} else if (j <= 6.4e-285) {
tmp = t_3;
} else if (j <= 1e-112) {
tmp = t_2;
} else if (j <= 1.5e+22) {
tmp = t_1;
} else if (j <= 1.06e+91) {
tmp = t_3;
} else if (j <= 1.36e+201) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
}
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 = y4 * (y2 * ((k * y1) - (t * c)))
t_2 = y4 * (y * ((c * y3) - (b * k)))
t_3 = y * (y3 * ((c * y4) - (a * y5)))
if (j <= (-7d+52)) then
tmp = t_2
else if (j <= (-4.1d-128)) then
tmp = t_1
else if (j <= 6.4d-285) then
tmp = t_3
else if (j <= 1d-112) then
tmp = t_2
else if (j <= 1.5d+22) then
tmp = t_1
else if (j <= 1.06d+91) then
tmp = t_3
else if (j <= 1.36d+201) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
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 * (y2 * ((k * y1) - (t * c)));
double t_2 = y4 * (y * ((c * y3) - (b * k)));
double t_3 = y * (y3 * ((c * y4) - (a * y5)));
double tmp;
if (j <= -7e+52) {
tmp = t_2;
} else if (j <= -4.1e-128) {
tmp = t_1;
} else if (j <= 6.4e-285) {
tmp = t_3;
} else if (j <= 1e-112) {
tmp = t_2;
} else if (j <= 1.5e+22) {
tmp = t_1;
} else if (j <= 1.06e+91) {
tmp = t_3;
} else if (j <= 1.36e+201) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y4 * (y2 * ((k * y1) - (t * c))) t_2 = y4 * (y * ((c * y3) - (b * k))) t_3 = y * (y3 * ((c * y4) - (a * y5))) tmp = 0 if j <= -7e+52: tmp = t_2 elif j <= -4.1e-128: tmp = t_1 elif j <= 6.4e-285: tmp = t_3 elif j <= 1e-112: tmp = t_2 elif j <= 1.5e+22: tmp = t_1 elif j <= 1.06e+91: tmp = t_3 elif j <= 1.36e+201: tmp = y4 * (t * ((b * j) - (c * y2))) else: tmp = y4 * (y1 * ((k * y2) - (j * y3))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))) t_2 = Float64(y4 * Float64(y * Float64(Float64(c * y3) - Float64(b * k)))) t_3 = Float64(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))) tmp = 0.0 if (j <= -7e+52) tmp = t_2; elseif (j <= -4.1e-128) tmp = t_1; elseif (j <= 6.4e-285) tmp = t_3; elseif (j <= 1e-112) tmp = t_2; elseif (j <= 1.5e+22) tmp = t_1; elseif (j <= 1.06e+91) tmp = t_3; elseif (j <= 1.36e+201) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); else tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); 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 * (y2 * ((k * y1) - (t * c))); t_2 = y4 * (y * ((c * y3) - (b * k))); t_3 = y * (y3 * ((c * y4) - (a * y5))); tmp = 0.0; if (j <= -7e+52) tmp = t_2; elseif (j <= -4.1e-128) tmp = t_1; elseif (j <= 6.4e-285) tmp = t_3; elseif (j <= 1e-112) tmp = t_2; elseif (j <= 1.5e+22) tmp = t_1; elseif (j <= 1.06e+91) tmp = t_3; elseif (j <= 1.36e+201) tmp = y4 * (t * ((b * j) - (c * y2))); else tmp = y4 * (y1 * ((k * y2) - (j * y3))); 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[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y4 * N[(y * N[(N[(c * y3), $MachinePrecision] - N[(b * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -7e+52], t$95$2, If[LessEqual[j, -4.1e-128], t$95$1, If[LessEqual[j, 6.4e-285], t$95$3, If[LessEqual[j, 1e-112], t$95$2, If[LessEqual[j, 1.5e+22], t$95$1, If[LessEqual[j, 1.06e+91], t$95$3, If[LessEqual[j, 1.36e+201], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
t_2 := y4 \cdot \left(y \cdot \left(c \cdot y3 - b \cdot k\right)\right)\\
t_3 := y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
\mathbf{if}\;j \leq -7 \cdot 10^{+52}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -4.1 \cdot 10^{-128}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 6.4 \cdot 10^{-285}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq 10^{-112}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 1.5 \cdot 10^{+22}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 1.06 \cdot 10^{+91}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq 1.36 \cdot 10^{+201}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\end{array}
\end{array}
if j < -7e52 or 6.40000000000000032e-285 < j < 9.9999999999999995e-113Initial program 23.9%
Taylor expanded in y around inf 41.0%
add-cube-cbrt41.0%
Applied egg-rr41.0%
Taylor expanded in y4 around inf 42.7%
*-commutative42.7%
mul-1-neg42.7%
unsub-neg42.7%
*-commutative42.7%
Simplified42.7%
if -7e52 < j < -4.1e-128 or 9.9999999999999995e-113 < j < 1.5e22Initial program 30.6%
Taylor expanded in y4 around inf 45.7%
Taylor expanded in y2 around inf 49.1%
if -4.1e-128 < j < 6.40000000000000032e-285 or 1.5e22 < j < 1.05999999999999996e91Initial program 41.6%
Taylor expanded in y0 around inf 40.3%
*-commutative40.3%
*-commutative40.3%
*-commutative40.3%
Simplified40.3%
Taylor expanded in y around inf 54.9%
if 1.05999999999999996e91 < j < 1.35999999999999988e201Initial program 36.0%
Taylor expanded in y4 around inf 37.2%
Taylor expanded in t around inf 45.0%
if 1.35999999999999988e201 < j Initial program 22.2%
Taylor expanded in y4 around inf 51.9%
Taylor expanded in y1 around inf 56.0%
Final simplification48.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* y5 (* y (- y3))))) (t_2 (* (- i) (* (* t j) y5))))
(if (<= k -1.85e+226)
t_1
(if (<= k -2.4e+125)
t_2
(if (<= k -4e+71)
(* c (* (* t y4) (- y2)))
(if (<= k -1.4e-115)
t_2
(if (<= k -1.55e-280)
(* y2 (* a (* t y5)))
(if (<= k 5e-227)
(* y4 (* b (* t j)))
(if (<= k 2.4e-46) t_1 (* (* y y4) (* k (- 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 t_1 = a * (y5 * (y * -y3));
double t_2 = -i * ((t * j) * y5);
double tmp;
if (k <= -1.85e+226) {
tmp = t_1;
} else if (k <= -2.4e+125) {
tmp = t_2;
} else if (k <= -4e+71) {
tmp = c * ((t * y4) * -y2);
} else if (k <= -1.4e-115) {
tmp = t_2;
} else if (k <= -1.55e-280) {
tmp = y2 * (a * (t * y5));
} else if (k <= 5e-227) {
tmp = y4 * (b * (t * j));
} else if (k <= 2.4e-46) {
tmp = t_1;
} else {
tmp = (y * y4) * (k * -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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = a * (y5 * (y * -y3))
t_2 = -i * ((t * j) * y5)
if (k <= (-1.85d+226)) then
tmp = t_1
else if (k <= (-2.4d+125)) then
tmp = t_2
else if (k <= (-4d+71)) then
tmp = c * ((t * y4) * -y2)
else if (k <= (-1.4d-115)) then
tmp = t_2
else if (k <= (-1.55d-280)) then
tmp = y2 * (a * (t * y5))
else if (k <= 5d-227) then
tmp = y4 * (b * (t * j))
else if (k <= 2.4d-46) then
tmp = t_1
else
tmp = (y * y4) * (k * -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 t_1 = a * (y5 * (y * -y3));
double t_2 = -i * ((t * j) * y5);
double tmp;
if (k <= -1.85e+226) {
tmp = t_1;
} else if (k <= -2.4e+125) {
tmp = t_2;
} else if (k <= -4e+71) {
tmp = c * ((t * y4) * -y2);
} else if (k <= -1.4e-115) {
tmp = t_2;
} else if (k <= -1.55e-280) {
tmp = y2 * (a * (t * y5));
} else if (k <= 5e-227) {
tmp = y4 * (b * (t * j));
} else if (k <= 2.4e-46) {
tmp = t_1;
} else {
tmp = (y * y4) * (k * -b);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (y5 * (y * -y3)) t_2 = -i * ((t * j) * y5) tmp = 0 if k <= -1.85e+226: tmp = t_1 elif k <= -2.4e+125: tmp = t_2 elif k <= -4e+71: tmp = c * ((t * y4) * -y2) elif k <= -1.4e-115: tmp = t_2 elif k <= -1.55e-280: tmp = y2 * (a * (t * y5)) elif k <= 5e-227: tmp = y4 * (b * (t * j)) elif k <= 2.4e-46: tmp = t_1 else: tmp = (y * y4) * (k * -b) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(y5 * Float64(y * Float64(-y3)))) t_2 = Float64(Float64(-i) * Float64(Float64(t * j) * y5)) tmp = 0.0 if (k <= -1.85e+226) tmp = t_1; elseif (k <= -2.4e+125) tmp = t_2; elseif (k <= -4e+71) tmp = Float64(c * Float64(Float64(t * y4) * Float64(-y2))); elseif (k <= -1.4e-115) tmp = t_2; elseif (k <= -1.55e-280) tmp = Float64(y2 * Float64(a * Float64(t * y5))); elseif (k <= 5e-227) tmp = Float64(y4 * Float64(b * Float64(t * j))); elseif (k <= 2.4e-46) tmp = t_1; else tmp = Float64(Float64(y * y4) * Float64(k * Float64(-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) t_1 = a * (y5 * (y * -y3)); t_2 = -i * ((t * j) * y5); tmp = 0.0; if (k <= -1.85e+226) tmp = t_1; elseif (k <= -2.4e+125) tmp = t_2; elseif (k <= -4e+71) tmp = c * ((t * y4) * -y2); elseif (k <= -1.4e-115) tmp = t_2; elseif (k <= -1.55e-280) tmp = y2 * (a * (t * y5)); elseif (k <= 5e-227) tmp = y4 * (b * (t * j)); elseif (k <= 2.4e-46) tmp = t_1; else tmp = (y * y4) * (k * -b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(a * N[(y5 * N[(y * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[((-i) * N[(N[(t * j), $MachinePrecision] * y5), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -1.85e+226], t$95$1, If[LessEqual[k, -2.4e+125], t$95$2, If[LessEqual[k, -4e+71], N[(c * N[(N[(t * y4), $MachinePrecision] * (-y2)), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -1.4e-115], t$95$2, If[LessEqual[k, -1.55e-280], N[(y2 * N[(a * N[(t * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 5e-227], N[(y4 * N[(b * N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.4e-46], t$95$1, N[(N[(y * y4), $MachinePrecision] * N[(k * (-b)), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(y5 \cdot \left(y \cdot \left(-y3\right)\right)\right)\\
t_2 := \left(-i\right) \cdot \left(\left(t \cdot j\right) \cdot y5\right)\\
\mathbf{if}\;k \leq -1.85 \cdot 10^{+226}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;k \leq -2.4 \cdot 10^{+125}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;k \leq -4 \cdot 10^{+71}:\\
\;\;\;\;c \cdot \left(\left(t \cdot y4\right) \cdot \left(-y2\right)\right)\\
\mathbf{elif}\;k \leq -1.4 \cdot 10^{-115}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;k \leq -1.55 \cdot 10^{-280}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5\right)\right)\\
\mathbf{elif}\;k \leq 5 \cdot 10^{-227}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j\right)\right)\\
\mathbf{elif}\;k \leq 2.4 \cdot 10^{-46}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\left(y \cdot y4\right) \cdot \left(k \cdot \left(-b\right)\right)\\
\end{array}
\end{array}
if k < -1.84999999999999991e226 or 4.99999999999999961e-227 < k < 2.40000000000000013e-46Initial program 27.1%
Taylor expanded in y0 around inf 32.0%
*-commutative32.0%
*-commutative32.0%
*-commutative32.0%
Simplified32.0%
Taylor expanded in a around inf 36.9%
Taylor expanded in t around 0 33.1%
neg-mul-133.1%
distribute-rgt-neg-in33.1%
Simplified33.1%
if -1.84999999999999991e226 < k < -2.4e125 or -4.0000000000000002e71 < k < -1.39999999999999994e-115Initial program 31.5%
Simplified31.5%
Taylor expanded in t around inf 42.6%
Taylor expanded in j around inf 39.5%
associate-*r*37.7%
*-commutative37.7%
*-commutative37.7%
Simplified37.7%
Taylor expanded in y4 around 0 38.0%
associate-*r*38.0%
neg-mul-138.0%
associate-*r*36.4%
Simplified36.4%
if -2.4e125 < k < -4.0000000000000002e71Initial program 20.0%
Taylor expanded in y4 around inf 50.7%
Taylor expanded in y2 around inf 61.0%
Taylor expanded in k around 0 61.1%
associate-*r*61.1%
neg-mul-161.1%
associate-*r*61.1%
Simplified61.1%
if -1.39999999999999994e-115 < k < -1.55000000000000011e-280Initial program 50.5%
Taylor expanded in y0 around inf 25.9%
*-commutative25.9%
*-commutative25.9%
*-commutative25.9%
Simplified25.9%
Taylor expanded in a around inf 26.7%
Taylor expanded in t around inf 19.7%
associate-*r*22.9%
associate-*r*29.6%
*-commutative29.6%
Simplified29.6%
if -1.55000000000000011e-280 < k < 4.99999999999999961e-227Initial program 33.8%
Simplified33.8%
Taylor expanded in t around inf 34.2%
Taylor expanded in j around inf 45.6%
associate-*r*45.6%
*-commutative45.6%
*-commutative45.6%
Simplified45.6%
Taylor expanded in y4 around inf 40.3%
*-commutative40.3%
*-commutative40.3%
associate-*l*40.3%
*-commutative40.3%
Simplified40.3%
if 2.40000000000000013e-46 < k Initial program 26.4%
Taylor expanded in y4 around inf 51.6%
Taylor expanded in y around -inf 44.8%
mul-1-neg44.8%
associate-*r*44.6%
*-commutative44.6%
Simplified44.6%
Taylor expanded in k around inf 37.2%
Final simplification36.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* a (* y5 (- (* t y2) (* y y3))))))
(if (<= k -6.2e+70)
(* y4 (* y2 (* t (- c))))
(if (<= k -1.4e-155)
(* (* t j) (* y5 (- i)))
(if (<= k -8.5e-274)
t_1
(if (<= k 1.25e-225)
(* y4 (* b (* t j)))
(if (<= k 4e-46) t_1 (* (* y y4) (* k (- 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 t_1 = a * (y5 * ((t * y2) - (y * y3)));
double tmp;
if (k <= -6.2e+70) {
tmp = y4 * (y2 * (t * -c));
} else if (k <= -1.4e-155) {
tmp = (t * j) * (y5 * -i);
} else if (k <= -8.5e-274) {
tmp = t_1;
} else if (k <= 1.25e-225) {
tmp = y4 * (b * (t * j));
} else if (k <= 4e-46) {
tmp = t_1;
} else {
tmp = (y * y4) * (k * -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) :: t_1
real(8) :: tmp
t_1 = a * (y5 * ((t * y2) - (y * y3)))
if (k <= (-6.2d+70)) then
tmp = y4 * (y2 * (t * -c))
else if (k <= (-1.4d-155)) then
tmp = (t * j) * (y5 * -i)
else if (k <= (-8.5d-274)) then
tmp = t_1
else if (k <= 1.25d-225) then
tmp = y4 * (b * (t * j))
else if (k <= 4d-46) then
tmp = t_1
else
tmp = (y * y4) * (k * -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 t_1 = a * (y5 * ((t * y2) - (y * y3)));
double tmp;
if (k <= -6.2e+70) {
tmp = y4 * (y2 * (t * -c));
} else if (k <= -1.4e-155) {
tmp = (t * j) * (y5 * -i);
} else if (k <= -8.5e-274) {
tmp = t_1;
} else if (k <= 1.25e-225) {
tmp = y4 * (b * (t * j));
} else if (k <= 4e-46) {
tmp = t_1;
} else {
tmp = (y * y4) * (k * -b);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = a * (y5 * ((t * y2) - (y * y3))) tmp = 0 if k <= -6.2e+70: tmp = y4 * (y2 * (t * -c)) elif k <= -1.4e-155: tmp = (t * j) * (y5 * -i) elif k <= -8.5e-274: tmp = t_1 elif k <= 1.25e-225: tmp = y4 * (b * (t * j)) elif k <= 4e-46: tmp = t_1 else: tmp = (y * y4) * (k * -b) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(a * Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3)))) tmp = 0.0 if (k <= -6.2e+70) tmp = Float64(y4 * Float64(y2 * Float64(t * Float64(-c)))); elseif (k <= -1.4e-155) tmp = Float64(Float64(t * j) * Float64(y5 * Float64(-i))); elseif (k <= -8.5e-274) tmp = t_1; elseif (k <= 1.25e-225) tmp = Float64(y4 * Float64(b * Float64(t * j))); elseif (k <= 4e-46) tmp = t_1; else tmp = Float64(Float64(y * y4) * Float64(k * Float64(-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) t_1 = a * (y5 * ((t * y2) - (y * y3))); tmp = 0.0; if (k <= -6.2e+70) tmp = y4 * (y2 * (t * -c)); elseif (k <= -1.4e-155) tmp = (t * j) * (y5 * -i); elseif (k <= -8.5e-274) tmp = t_1; elseif (k <= 1.25e-225) tmp = y4 * (b * (t * j)); elseif (k <= 4e-46) tmp = t_1; else tmp = (y * y4) * (k * -b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(a * N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -6.2e+70], N[(y4 * N[(y2 * N[(t * (-c)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -1.4e-155], N[(N[(t * j), $MachinePrecision] * N[(y5 * (-i)), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -8.5e-274], t$95$1, If[LessEqual[k, 1.25e-225], N[(y4 * N[(b * N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 4e-46], t$95$1, N[(N[(y * y4), $MachinePrecision] * N[(k * (-b)), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{if}\;k \leq -6.2 \cdot 10^{+70}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(t \cdot \left(-c\right)\right)\right)\\
\mathbf{elif}\;k \leq -1.4 \cdot 10^{-155}:\\
\;\;\;\;\left(t \cdot j\right) \cdot \left(y5 \cdot \left(-i\right)\right)\\
\mathbf{elif}\;k \leq -8.5 \cdot 10^{-274}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;k \leq 1.25 \cdot 10^{-225}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j\right)\right)\\
\mathbf{elif}\;k \leq 4 \cdot 10^{-46}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\left(y \cdot y4\right) \cdot \left(k \cdot \left(-b\right)\right)\\
\end{array}
\end{array}
if k < -6.2000000000000006e70Initial program 20.4%
Taylor expanded in y4 around inf 26.9%
Taylor expanded in y2 around inf 39.4%
Taylor expanded in k around 0 29.8%
neg-mul-129.8%
distribute-rgt-neg-in29.8%
Simplified29.8%
if -6.2000000000000006e70 < k < -1.4e-155Initial program 38.2%
Simplified38.2%
Taylor expanded in t around inf 47.9%
Taylor expanded in j around inf 43.7%
associate-*r*43.7%
*-commutative43.7%
*-commutative43.7%
Simplified43.7%
Taylor expanded in y4 around 0 41.5%
neg-mul-141.5%
distribute-rgt-neg-in41.5%
Simplified41.5%
if -1.4e-155 < k < -8.49999999999999978e-274 or 1.25e-225 < k < 4.00000000000000009e-46Initial program 38.1%
Taylor expanded in y0 around inf 36.7%
*-commutative36.7%
*-commutative36.7%
*-commutative36.7%
Simplified36.7%
Taylor expanded in a around inf 34.0%
if -8.49999999999999978e-274 < k < 1.25e-225Initial program 32.0%
Simplified32.0%
Taylor expanded in t around inf 32.5%
Taylor expanded in j around inf 43.2%
associate-*r*43.2%
*-commutative43.2%
*-commutative43.2%
Simplified43.2%
Taylor expanded in y4 around inf 38.2%
*-commutative38.2%
*-commutative38.2%
associate-*l*38.2%
*-commutative38.2%
Simplified38.2%
if 4.00000000000000009e-46 < k Initial program 26.4%
Taylor expanded in y4 around inf 51.6%
Taylor expanded in y around -inf 44.8%
mul-1-neg44.8%
associate-*r*44.6%
*-commutative44.6%
Simplified44.6%
Taylor expanded in k around inf 37.2%
Final simplification35.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y (- (* y3 y4) (* x i))))))
(if (<= y1 -4.6e+173)
(* k (* y4 (* y1 y2)))
(if (<= y1 -3e+51)
t_1
(if (<= y1 -1.02e+43)
(* (- i) (* (* t j) y5))
(if (<= y1 4.7e-128)
(* c (* y4 (- (* y y3) (* t y2))))
(if (<= y1 7.5e+180) t_1 (* y4 (* y2 (* k 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 = c * (y * ((y3 * y4) - (x * i)));
double tmp;
if (y1 <= -4.6e+173) {
tmp = k * (y4 * (y1 * y2));
} else if (y1 <= -3e+51) {
tmp = t_1;
} else if (y1 <= -1.02e+43) {
tmp = -i * ((t * j) * y5);
} else if (y1 <= 4.7e-128) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (y1 <= 7.5e+180) {
tmp = t_1;
} else {
tmp = y4 * (y2 * (k * 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 = c * (y * ((y3 * y4) - (x * i)))
if (y1 <= (-4.6d+173)) then
tmp = k * (y4 * (y1 * y2))
else if (y1 <= (-3d+51)) then
tmp = t_1
else if (y1 <= (-1.02d+43)) then
tmp = -i * ((t * j) * y5)
else if (y1 <= 4.7d-128) then
tmp = c * (y4 * ((y * y3) - (t * y2)))
else if (y1 <= 7.5d+180) then
tmp = t_1
else
tmp = y4 * (y2 * (k * 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 = c * (y * ((y3 * y4) - (x * i)));
double tmp;
if (y1 <= -4.6e+173) {
tmp = k * (y4 * (y1 * y2));
} else if (y1 <= -3e+51) {
tmp = t_1;
} else if (y1 <= -1.02e+43) {
tmp = -i * ((t * j) * y5);
} else if (y1 <= 4.7e-128) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (y1 <= 7.5e+180) {
tmp = t_1;
} else {
tmp = y4 * (y2 * (k * y1));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = c * (y * ((y3 * y4) - (x * i))) tmp = 0 if y1 <= -4.6e+173: tmp = k * (y4 * (y1 * y2)) elif y1 <= -3e+51: tmp = t_1 elif y1 <= -1.02e+43: tmp = -i * ((t * j) * y5) elif y1 <= 4.7e-128: tmp = c * (y4 * ((y * y3) - (t * y2))) elif y1 <= 7.5e+180: tmp = t_1 else: tmp = y4 * (y2 * (k * y1)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(c * Float64(y * Float64(Float64(y3 * y4) - Float64(x * i)))) tmp = 0.0 if (y1 <= -4.6e+173) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (y1 <= -3e+51) tmp = t_1; elseif (y1 <= -1.02e+43) tmp = Float64(Float64(-i) * Float64(Float64(t * j) * y5)); elseif (y1 <= 4.7e-128) tmp = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))); elseif (y1 <= 7.5e+180) tmp = t_1; else tmp = Float64(y4 * Float64(y2 * Float64(k * 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 = c * (y * ((y3 * y4) - (x * i))); tmp = 0.0; if (y1 <= -4.6e+173) tmp = k * (y4 * (y1 * y2)); elseif (y1 <= -3e+51) tmp = t_1; elseif (y1 <= -1.02e+43) tmp = -i * ((t * j) * y5); elseif (y1 <= 4.7e-128) tmp = c * (y4 * ((y * y3) - (t * y2))); elseif (y1 <= 7.5e+180) tmp = t_1; else tmp = y4 * (y2 * (k * 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[(c * N[(y * N[(N[(y3 * y4), $MachinePrecision] - N[(x * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -4.6e+173], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -3e+51], t$95$1, If[LessEqual[y1, -1.02e+43], N[((-i) * N[(N[(t * j), $MachinePrecision] * y5), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 4.7e-128], N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 7.5e+180], t$95$1, N[(y4 * N[(y2 * N[(k * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y \cdot \left(y3 \cdot y4 - x \cdot i\right)\right)\\
\mathbf{if}\;y1 \leq -4.6 \cdot 10^{+173}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;y1 \leq -3 \cdot 10^{+51}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y1 \leq -1.02 \cdot 10^{+43}:\\
\;\;\;\;\left(-i\right) \cdot \left(\left(t \cdot j\right) \cdot y5\right)\\
\mathbf{elif}\;y1 \leq 4.7 \cdot 10^{-128}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y1 \leq 7.5 \cdot 10^{+180}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1\right)\right)\\
\end{array}
\end{array}
if y1 < -4.5999999999999999e173Initial program 28.3%
Taylor expanded in y4 around inf 47.5%
Taylor expanded in y2 around inf 34.9%
Taylor expanded in k around inf 41.3%
if -4.5999999999999999e173 < y1 < -3e51 or 4.7000000000000004e-128 < y1 < 7.5000000000000003e180Initial program 38.2%
Taylor expanded in y around inf 38.6%
add-cube-cbrt38.5%
Applied egg-rr38.5%
Taylor expanded in c around inf 31.0%
*-commutative31.0%
mul-1-neg31.0%
unsub-neg31.0%
*-commutative31.0%
Simplified31.0%
if -3e51 < y1 < -1.02e43Initial program 25.0%
Simplified25.0%
Taylor expanded in t around inf 50.1%
Taylor expanded in j around inf 50.4%
associate-*r*50.0%
*-commutative50.0%
*-commutative50.0%
Simplified50.0%
Taylor expanded in y4 around 0 50.7%
associate-*r*50.7%
neg-mul-150.7%
associate-*r*75.0%
Simplified75.0%
if -1.02e43 < y1 < 4.7000000000000004e-128Initial program 28.4%
Taylor expanded in y4 around inf 42.3%
Taylor expanded in c around inf 38.6%
if 7.5000000000000003e180 < y1 Initial program 16.0%
Taylor expanded in y4 around inf 56.3%
Taylor expanded in y2 around inf 64.3%
Taylor expanded in k around inf 64.7%
Final simplification39.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y4 -5.4e-134)
(* c (* y (- (* y3 y4) (* x i))))
(if (<= y4 3.5e-84)
(* y (* a (- (* x b) (* y3 y5))))
(if (or (<= y4 3.2e+145) (not (<= y4 4e+199)))
(* c (* y4 (- (* y y3) (* t y2))))
(* k (* y4 (* 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 (y4 <= -5.4e-134) {
tmp = c * (y * ((y3 * y4) - (x * i)));
} else if (y4 <= 3.5e-84) {
tmp = y * (a * ((x * b) - (y3 * y5)));
} else if ((y4 <= 3.2e+145) || !(y4 <= 4e+199)) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else {
tmp = k * (y4 * (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 (y4 <= (-5.4d-134)) then
tmp = c * (y * ((y3 * y4) - (x * i)))
else if (y4 <= 3.5d-84) then
tmp = y * (a * ((x * b) - (y3 * y5)))
else if ((y4 <= 3.2d+145) .or. (.not. (y4 <= 4d+199))) then
tmp = c * (y4 * ((y * y3) - (t * y2)))
else
tmp = k * (y4 * (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 (y4 <= -5.4e-134) {
tmp = c * (y * ((y3 * y4) - (x * i)));
} else if (y4 <= 3.5e-84) {
tmp = y * (a * ((x * b) - (y3 * y5)));
} else if ((y4 <= 3.2e+145) || !(y4 <= 4e+199)) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else {
tmp = k * (y4 * (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 y4 <= -5.4e-134: tmp = c * (y * ((y3 * y4) - (x * i))) elif y4 <= 3.5e-84: tmp = y * (a * ((x * b) - (y3 * y5))) elif (y4 <= 3.2e+145) or not (y4 <= 4e+199): tmp = c * (y4 * ((y * y3) - (t * y2))) else: tmp = k * (y4 * (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 (y4 <= -5.4e-134) tmp = Float64(c * Float64(y * Float64(Float64(y3 * y4) - Float64(x * i)))); elseif (y4 <= 3.5e-84) tmp = Float64(y * Float64(a * Float64(Float64(x * b) - Float64(y3 * y5)))); elseif ((y4 <= 3.2e+145) || !(y4 <= 4e+199)) tmp = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))); else tmp = Float64(k * Float64(y4 * Float64(y * Float64(-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 (y4 <= -5.4e-134) tmp = c * (y * ((y3 * y4) - (x * i))); elseif (y4 <= 3.5e-84) tmp = y * (a * ((x * b) - (y3 * y5))); elseif ((y4 <= 3.2e+145) || ~((y4 <= 4e+199))) tmp = c * (y4 * ((y * y3) - (t * y2))); else tmp = k * (y4 * (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[y4, -5.4e-134], N[(c * N[(y * N[(N[(y3 * y4), $MachinePrecision] - N[(x * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 3.5e-84], N[(y * N[(a * N[(N[(x * b), $MachinePrecision] - N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[y4, 3.2e+145], N[Not[LessEqual[y4, 4e+199]], $MachinePrecision]], N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(k * N[(y4 * N[(y * (-b)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y4 \leq -5.4 \cdot 10^{-134}:\\
\;\;\;\;c \cdot \left(y \cdot \left(y3 \cdot y4 - x \cdot i\right)\right)\\
\mathbf{elif}\;y4 \leq 3.5 \cdot 10^{-84}:\\
\;\;\;\;y \cdot \left(a \cdot \left(x \cdot b - y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y4 \leq 3.2 \cdot 10^{+145} \lor \neg \left(y4 \leq 4 \cdot 10^{+199}\right):\\
\;\;\;\;c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y \cdot \left(-b\right)\right)\right)\\
\end{array}
\end{array}
if y4 < -5.3999999999999996e-134Initial program 28.0%
Taylor expanded in y around inf 46.0%
add-cube-cbrt46.0%
Applied egg-rr46.0%
Taylor expanded in c around inf 38.5%
*-commutative38.5%
mul-1-neg38.5%
unsub-neg38.5%
*-commutative38.5%
Simplified38.5%
if -5.3999999999999996e-134 < y4 < 3.5000000000000001e-84Initial program 35.9%
Taylor expanded in y around inf 39.2%
Taylor expanded in a around inf 33.3%
if 3.5000000000000001e-84 < y4 < 3.20000000000000008e145 or 4.00000000000000039e199 < y4 Initial program 25.7%
Taylor expanded in y4 around inf 48.5%
Taylor expanded in c around inf 46.0%
if 3.20000000000000008e145 < y4 < 4.00000000000000039e199Initial program 36.6%
Taylor expanded in y4 around inf 45.7%
Taylor expanded in y around -inf 33.1%
mul-1-neg33.1%
associate-*r*37.4%
*-commutative37.4%
Simplified37.4%
Taylor expanded in k around inf 37.6%
Final simplification38.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y (* y3 (- (* c y4) (* a y5))))))
(if (<= y2 -3.6e+138)
(* k (* y4 (* y1 y2)))
(if (<= y2 2e-305)
t_1
(if (<= y2 1.35e-266)
(* k (* y (* b (- y4))))
(if (<= y2 6.6e+48) t_1 (* c (* (* t y4) (- 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 = y * (y3 * ((c * y4) - (a * y5)));
double tmp;
if (y2 <= -3.6e+138) {
tmp = k * (y4 * (y1 * y2));
} else if (y2 <= 2e-305) {
tmp = t_1;
} else if (y2 <= 1.35e-266) {
tmp = k * (y * (b * -y4));
} else if (y2 <= 6.6e+48) {
tmp = t_1;
} else {
tmp = c * ((t * y4) * -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) :: tmp
t_1 = y * (y3 * ((c * y4) - (a * y5)))
if (y2 <= (-3.6d+138)) then
tmp = k * (y4 * (y1 * y2))
else if (y2 <= 2d-305) then
tmp = t_1
else if (y2 <= 1.35d-266) then
tmp = k * (y * (b * -y4))
else if (y2 <= 6.6d+48) then
tmp = t_1
else
tmp = c * ((t * y4) * -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 = y * (y3 * ((c * y4) - (a * y5)));
double tmp;
if (y2 <= -3.6e+138) {
tmp = k * (y4 * (y1 * y2));
} else if (y2 <= 2e-305) {
tmp = t_1;
} else if (y2 <= 1.35e-266) {
tmp = k * (y * (b * -y4));
} else if (y2 <= 6.6e+48) {
tmp = t_1;
} else {
tmp = c * ((t * y4) * -y2);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y * (y3 * ((c * y4) - (a * y5))) tmp = 0 if y2 <= -3.6e+138: tmp = k * (y4 * (y1 * y2)) elif y2 <= 2e-305: tmp = t_1 elif y2 <= 1.35e-266: tmp = k * (y * (b * -y4)) elif y2 <= 6.6e+48: tmp = t_1 else: tmp = c * ((t * y4) * -y2) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))) tmp = 0.0 if (y2 <= -3.6e+138) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (y2 <= 2e-305) tmp = t_1; elseif (y2 <= 1.35e-266) tmp = Float64(k * Float64(y * Float64(b * Float64(-y4)))); elseif (y2 <= 6.6e+48) tmp = t_1; else tmp = Float64(c * Float64(Float64(t * y4) * 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 = y * (y3 * ((c * y4) - (a * y5))); tmp = 0.0; if (y2 <= -3.6e+138) tmp = k * (y4 * (y1 * y2)); elseif (y2 <= 2e-305) tmp = t_1; elseif (y2 <= 1.35e-266) tmp = k * (y * (b * -y4)); elseif (y2 <= 6.6e+48) tmp = t_1; else tmp = c * ((t * y4) * -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[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -3.6e+138], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 2e-305], t$95$1, If[LessEqual[y2, 1.35e-266], N[(k * N[(y * N[(b * (-y4)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 6.6e+48], t$95$1, N[(c * N[(N[(t * y4), $MachinePrecision] * (-y2)), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
\mathbf{if}\;y2 \leq -3.6 \cdot 10^{+138}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;y2 \leq 2 \cdot 10^{-305}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq 1.35 \cdot 10^{-266}:\\
\;\;\;\;k \cdot \left(y \cdot \left(b \cdot \left(-y4\right)\right)\right)\\
\mathbf{elif}\;y2 \leq 6.6 \cdot 10^{+48}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(\left(t \cdot y4\right) \cdot \left(-y2\right)\right)\\
\end{array}
\end{array}
if y2 < -3.6000000000000001e138Initial program 24.5%
Taylor expanded in y4 around inf 57.1%
Taylor expanded in y2 around inf 57.6%
Taylor expanded in k around inf 46.8%
if -3.6000000000000001e138 < y2 < 1.99999999999999999e-305 or 1.34999999999999998e-266 < y2 < 6.60000000000000045e48Initial program 34.4%
Taylor expanded in y0 around inf 36.5%
*-commutative36.5%
*-commutative36.5%
*-commutative36.5%
Simplified36.5%
Taylor expanded in y around inf 38.9%
if 1.99999999999999999e-305 < y2 < 1.34999999999999998e-266Initial program 45.1%
Taylor expanded in y4 around inf 45.8%
Taylor expanded in y around -inf 46.6%
mul-1-neg46.6%
associate-*r*46.6%
*-commutative46.6%
Simplified46.6%
Taylor expanded in k around inf 55.1%
*-commutative55.1%
associate-*l*55.3%
Simplified55.3%
if 6.60000000000000045e48 < y2 Initial program 21.6%
Taylor expanded in y4 around inf 29.2%
Taylor expanded in y2 around inf 45.4%
Taylor expanded in k around 0 38.7%
associate-*r*38.7%
neg-mul-138.7%
associate-*r*35.3%
Simplified35.3%
Final simplification40.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y (* y3 (- (* c y4) (* a y5))))))
(if (<= y2 -1.25e+137)
(* k (* y4 (* y1 y2)))
(if (<= y2 1.8e-305)
t_1
(if (<= y2 5e-267)
(* k (* y (* b (- y4))))
(if (<= y2 1.4e+67) t_1 (* y4 (* t (- (* b j) (* c 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 = y * (y3 * ((c * y4) - (a * y5)));
double tmp;
if (y2 <= -1.25e+137) {
tmp = k * (y4 * (y1 * y2));
} else if (y2 <= 1.8e-305) {
tmp = t_1;
} else if (y2 <= 5e-267) {
tmp = k * (y * (b * -y4));
} else if (y2 <= 1.4e+67) {
tmp = t_1;
} else {
tmp = y4 * (t * ((b * j) - (c * 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) :: tmp
t_1 = y * (y3 * ((c * y4) - (a * y5)))
if (y2 <= (-1.25d+137)) then
tmp = k * (y4 * (y1 * y2))
else if (y2 <= 1.8d-305) then
tmp = t_1
else if (y2 <= 5d-267) then
tmp = k * (y * (b * -y4))
else if (y2 <= 1.4d+67) then
tmp = t_1
else
tmp = y4 * (t * ((b * j) - (c * 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 = y * (y3 * ((c * y4) - (a * y5)));
double tmp;
if (y2 <= -1.25e+137) {
tmp = k * (y4 * (y1 * y2));
} else if (y2 <= 1.8e-305) {
tmp = t_1;
} else if (y2 <= 5e-267) {
tmp = k * (y * (b * -y4));
} else if (y2 <= 1.4e+67) {
tmp = t_1;
} else {
tmp = y4 * (t * ((b * j) - (c * y2)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y * (y3 * ((c * y4) - (a * y5))) tmp = 0 if y2 <= -1.25e+137: tmp = k * (y4 * (y1 * y2)) elif y2 <= 1.8e-305: tmp = t_1 elif y2 <= 5e-267: tmp = k * (y * (b * -y4)) elif y2 <= 1.4e+67: tmp = t_1 else: tmp = y4 * (t * ((b * j) - (c * y2))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))) tmp = 0.0 if (y2 <= -1.25e+137) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (y2 <= 1.8e-305) tmp = t_1; elseif (y2 <= 5e-267) tmp = Float64(k * Float64(y * Float64(b * Float64(-y4)))); elseif (y2 <= 1.4e+67) tmp = t_1; else tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * 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 = y * (y3 * ((c * y4) - (a * y5))); tmp = 0.0; if (y2 <= -1.25e+137) tmp = k * (y4 * (y1 * y2)); elseif (y2 <= 1.8e-305) tmp = t_1; elseif (y2 <= 5e-267) tmp = k * (y * (b * -y4)); elseif (y2 <= 1.4e+67) tmp = t_1; else tmp = y4 * (t * ((b * j) - (c * 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[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -1.25e+137], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.8e-305], t$95$1, If[LessEqual[y2, 5e-267], N[(k * N[(y * N[(b * (-y4)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.4e+67], t$95$1, N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
\mathbf{if}\;y2 \leq -1.25 \cdot 10^{+137}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;y2 \leq 1.8 \cdot 10^{-305}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq 5 \cdot 10^{-267}:\\
\;\;\;\;k \cdot \left(y \cdot \left(b \cdot \left(-y4\right)\right)\right)\\
\mathbf{elif}\;y2 \leq 1.4 \cdot 10^{+67}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\end{array}
\end{array}
if y2 < -1.25e137Initial program 24.5%
Taylor expanded in y4 around inf 57.1%
Taylor expanded in y2 around inf 57.6%
Taylor expanded in k around inf 46.8%
if -1.25e137 < y2 < 1.80000000000000002e-305 or 4.9999999999999999e-267 < y2 < 1.3999999999999999e67Initial program 35.0%
Taylor expanded in y0 around inf 36.5%
*-commutative36.5%
*-commutative36.5%
*-commutative36.5%
Simplified36.5%
Taylor expanded in y around inf 38.9%
if 1.80000000000000002e-305 < y2 < 4.9999999999999999e-267Initial program 45.1%
Taylor expanded in y4 around inf 45.8%
Taylor expanded in y around -inf 46.6%
mul-1-neg46.6%
associate-*r*46.6%
*-commutative46.6%
Simplified46.6%
Taylor expanded in k around inf 55.1%
*-commutative55.1%
associate-*l*55.3%
Simplified55.3%
if 1.3999999999999999e67 < y2 Initial program 19.0%
Taylor expanded in y4 around inf 30.6%
Taylor expanded in t around inf 42.7%
Final simplification41.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y (* y3 (- (* c y4) (* a y5)))))
(t_2 (* y4 (* y2 (- (* k y1) (* t c))))))
(if (<= y2 -2.2e+104)
t_2
(if (<= y2 5.2e-306)
t_1
(if (<= y2 5.8e-266)
(* k (* y (* b (- y4))))
(if (<= y2 9.2e+49) t_1 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 * (y3 * ((c * y4) - (a * y5)));
double t_2 = y4 * (y2 * ((k * y1) - (t * c)));
double tmp;
if (y2 <= -2.2e+104) {
tmp = t_2;
} else if (y2 <= 5.2e-306) {
tmp = t_1;
} else if (y2 <= 5.8e-266) {
tmp = k * (y * (b * -y4));
} else if (y2 <= 9.2e+49) {
tmp = t_1;
} 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) :: tmp
t_1 = y * (y3 * ((c * y4) - (a * y5)))
t_2 = y4 * (y2 * ((k * y1) - (t * c)))
if (y2 <= (-2.2d+104)) then
tmp = t_2
else if (y2 <= 5.2d-306) then
tmp = t_1
else if (y2 <= 5.8d-266) then
tmp = k * (y * (b * -y4))
else if (y2 <= 9.2d+49) then
tmp = t_1
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 = y * (y3 * ((c * y4) - (a * y5)));
double t_2 = y4 * (y2 * ((k * y1) - (t * c)));
double tmp;
if (y2 <= -2.2e+104) {
tmp = t_2;
} else if (y2 <= 5.2e-306) {
tmp = t_1;
} else if (y2 <= 5.8e-266) {
tmp = k * (y * (b * -y4));
} else if (y2 <= 9.2e+49) {
tmp = t_1;
} 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 = y * (y3 * ((c * y4) - (a * y5))) t_2 = y4 * (y2 * ((k * y1) - (t * c))) tmp = 0 if y2 <= -2.2e+104: tmp = t_2 elif y2 <= 5.2e-306: tmp = t_1 elif y2 <= 5.8e-266: tmp = k * (y * (b * -y4)) elif y2 <= 9.2e+49: tmp = t_1 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(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))) t_2 = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))) tmp = 0.0 if (y2 <= -2.2e+104) tmp = t_2; elseif (y2 <= 5.2e-306) tmp = t_1; elseif (y2 <= 5.8e-266) tmp = Float64(k * Float64(y * Float64(b * Float64(-y4)))); elseif (y2 <= 9.2e+49) tmp = t_1; 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 = y * (y3 * ((c * y4) - (a * y5))); t_2 = y4 * (y2 * ((k * y1) - (t * c))); tmp = 0.0; if (y2 <= -2.2e+104) tmp = t_2; elseif (y2 <= 5.2e-306) tmp = t_1; elseif (y2 <= 5.8e-266) tmp = k * (y * (b * -y4)); elseif (y2 <= 9.2e+49) tmp = t_1; 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[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -2.2e+104], t$95$2, If[LessEqual[y2, 5.2e-306], t$95$1, If[LessEqual[y2, 5.8e-266], N[(k * N[(y * N[(b * (-y4)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 9.2e+49], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
t_2 := y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{if}\;y2 \leq -2.2 \cdot 10^{+104}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq 5.2 \cdot 10^{-306}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq 5.8 \cdot 10^{-266}:\\
\;\;\;\;k \cdot \left(y \cdot \left(b \cdot \left(-y4\right)\right)\right)\\
\mathbf{elif}\;y2 \leq 9.2 \cdot 10^{+49}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y2 < -2.2e104 or 9.20000000000000008e49 < y2 Initial program 22.0%
Taylor expanded in y4 around inf 40.1%
Taylor expanded in y2 around inf 50.8%
if -2.2e104 < y2 < 5.2000000000000001e-306 or 5.79999999999999991e-266 < y2 < 9.20000000000000008e49Initial program 35.1%
Taylor expanded in y0 around inf 36.6%
*-commutative36.6%
*-commutative36.6%
*-commutative36.6%
Simplified36.6%
Taylor expanded in y around inf 39.0%
if 5.2000000000000001e-306 < y2 < 5.79999999999999991e-266Initial program 45.1%
Taylor expanded in y4 around inf 45.8%
Taylor expanded in y around -inf 46.6%
mul-1-neg46.6%
associate-*r*46.6%
*-commutative46.6%
Simplified46.6%
Taylor expanded in k around inf 55.1%
*-commutative55.1%
associate-*l*55.3%
Simplified55.3%
Final simplification44.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* k (* y4 (* y1 y2)))) (t_2 (* k (* y (* b (- y4))))))
(if (<= y2 -1.22e+36)
t_1
(if (<= y2 -4.2e-214)
(* y4 (* b (* t j)))
(if (<= y2 1.45e-270)
t_2
(if (<= y2 3.55e-91)
(* y4 (* t (* b j)))
(if (<= y2 1.25e+151) t_2 t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (y4 * (y1 * y2));
double t_2 = k * (y * (b * -y4));
double tmp;
if (y2 <= -1.22e+36) {
tmp = t_1;
} else if (y2 <= -4.2e-214) {
tmp = y4 * (b * (t * j));
} else if (y2 <= 1.45e-270) {
tmp = t_2;
} else if (y2 <= 3.55e-91) {
tmp = y4 * (t * (b * j));
} else if (y2 <= 1.25e+151) {
tmp = t_2;
} 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) :: t_2
real(8) :: tmp
t_1 = k * (y4 * (y1 * y2))
t_2 = k * (y * (b * -y4))
if (y2 <= (-1.22d+36)) then
tmp = t_1
else if (y2 <= (-4.2d-214)) then
tmp = y4 * (b * (t * j))
else if (y2 <= 1.45d-270) then
tmp = t_2
else if (y2 <= 3.55d-91) then
tmp = y4 * (t * (b * j))
else if (y2 <= 1.25d+151) then
tmp = t_2
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 = k * (y4 * (y1 * y2));
double t_2 = k * (y * (b * -y4));
double tmp;
if (y2 <= -1.22e+36) {
tmp = t_1;
} else if (y2 <= -4.2e-214) {
tmp = y4 * (b * (t * j));
} else if (y2 <= 1.45e-270) {
tmp = t_2;
} else if (y2 <= 3.55e-91) {
tmp = y4 * (t * (b * j));
} else if (y2 <= 1.25e+151) {
tmp = t_2;
} 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 = k * (y4 * (y1 * y2)) t_2 = k * (y * (b * -y4)) tmp = 0 if y2 <= -1.22e+36: tmp = t_1 elif y2 <= -4.2e-214: tmp = y4 * (b * (t * j)) elif y2 <= 1.45e-270: tmp = t_2 elif y2 <= 3.55e-91: tmp = y4 * (t * (b * j)) elif y2 <= 1.25e+151: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(k * Float64(y4 * Float64(y1 * y2))) t_2 = Float64(k * Float64(y * Float64(b * Float64(-y4)))) tmp = 0.0 if (y2 <= -1.22e+36) tmp = t_1; elseif (y2 <= -4.2e-214) tmp = Float64(y4 * Float64(b * Float64(t * j))); elseif (y2 <= 1.45e-270) tmp = t_2; elseif (y2 <= 3.55e-91) tmp = Float64(y4 * Float64(t * Float64(b * j))); elseif (y2 <= 1.25e+151) tmp = t_2; 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 = k * (y4 * (y1 * y2)); t_2 = k * (y * (b * -y4)); tmp = 0.0; if (y2 <= -1.22e+36) tmp = t_1; elseif (y2 <= -4.2e-214) tmp = y4 * (b * (t * j)); elseif (y2 <= 1.45e-270) tmp = t_2; elseif (y2 <= 3.55e-91) tmp = y4 * (t * (b * j)); elseif (y2 <= 1.25e+151) tmp = t_2; 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[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(k * N[(y * N[(b * (-y4)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -1.22e+36], t$95$1, If[LessEqual[y2, -4.2e-214], N[(y4 * N[(b * N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.45e-270], t$95$2, If[LessEqual[y2, 3.55e-91], N[(y4 * N[(t * N[(b * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.25e+151], t$95$2, t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
t_2 := k \cdot \left(y \cdot \left(b \cdot \left(-y4\right)\right)\right)\\
\mathbf{if}\;y2 \leq -1.22 \cdot 10^{+36}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq -4.2 \cdot 10^{-214}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j\right)\right)\\
\mathbf{elif}\;y2 \leq 1.45 \cdot 10^{-270}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq 3.55 \cdot 10^{-91}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j\right)\right)\\
\mathbf{elif}\;y2 \leq 1.25 \cdot 10^{+151}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y2 < -1.21999999999999995e36 or 1.2500000000000001e151 < y2 Initial program 25.3%
Taylor expanded in y4 around inf 45.0%
Taylor expanded in y2 around inf 51.4%
Taylor expanded in k around inf 39.6%
if -1.21999999999999995e36 < y2 < -4.19999999999999984e-214Initial program 30.8%
Simplified30.8%
Taylor expanded in t around inf 26.0%
Taylor expanded in j around inf 27.9%
associate-*r*29.8%
*-commutative29.8%
*-commutative29.8%
Simplified29.8%
Taylor expanded in y4 around inf 17.8%
*-commutative17.8%
*-commutative17.8%
associate-*l*21.7%
*-commutative21.7%
Simplified21.7%
if -4.19999999999999984e-214 < y2 < 1.44999999999999991e-270 or 3.54999999999999995e-91 < y2 < 1.2500000000000001e151Initial program 34.0%
Taylor expanded in y4 around inf 28.3%
Taylor expanded in y around -inf 37.4%
mul-1-neg37.4%
associate-*r*35.3%
*-commutative35.3%
Simplified35.3%
Taylor expanded in k around inf 31.1%
*-commutative31.1%
associate-*l*32.4%
Simplified32.4%
if 1.44999999999999991e-270 < y2 < 3.54999999999999995e-91Initial program 34.3%
Simplified34.3%
Taylor expanded in t around inf 37.3%
Taylor expanded in j around inf 37.4%
associate-*r*31.2%
*-commutative31.2%
*-commutative31.2%
Simplified31.2%
Taylor expanded in y4 around inf 22.9%
Final simplification30.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= k -1.76e+68)
(* y4 (* y2 (* t (- c))))
(if (<= k -2.1e-155)
(* (* t j) (* y5 (- i)))
(if (<= k -1.65e-280)
(* k (* y4 (* y1 y2)))
(if (<= k 2.1e-225)
(* y4 (* b (* t j)))
(if (<= k 2.2e-46)
(* a (* y5 (* y (- y3))))
(* (* y y4) (* k (- 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 (k <= -1.76e+68) {
tmp = y4 * (y2 * (t * -c));
} else if (k <= -2.1e-155) {
tmp = (t * j) * (y5 * -i);
} else if (k <= -1.65e-280) {
tmp = k * (y4 * (y1 * y2));
} else if (k <= 2.1e-225) {
tmp = y4 * (b * (t * j));
} else if (k <= 2.2e-46) {
tmp = a * (y5 * (y * -y3));
} else {
tmp = (y * y4) * (k * -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 (k <= (-1.76d+68)) then
tmp = y4 * (y2 * (t * -c))
else if (k <= (-2.1d-155)) then
tmp = (t * j) * (y5 * -i)
else if (k <= (-1.65d-280)) then
tmp = k * (y4 * (y1 * y2))
else if (k <= 2.1d-225) then
tmp = y4 * (b * (t * j))
else if (k <= 2.2d-46) then
tmp = a * (y5 * (y * -y3))
else
tmp = (y * y4) * (k * -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 (k <= -1.76e+68) {
tmp = y4 * (y2 * (t * -c));
} else if (k <= -2.1e-155) {
tmp = (t * j) * (y5 * -i);
} else if (k <= -1.65e-280) {
tmp = k * (y4 * (y1 * y2));
} else if (k <= 2.1e-225) {
tmp = y4 * (b * (t * j));
} else if (k <= 2.2e-46) {
tmp = a * (y5 * (y * -y3));
} else {
tmp = (y * y4) * (k * -b);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if k <= -1.76e+68: tmp = y4 * (y2 * (t * -c)) elif k <= -2.1e-155: tmp = (t * j) * (y5 * -i) elif k <= -1.65e-280: tmp = k * (y4 * (y1 * y2)) elif k <= 2.1e-225: tmp = y4 * (b * (t * j)) elif k <= 2.2e-46: tmp = a * (y5 * (y * -y3)) else: tmp = (y * y4) * (k * -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 (k <= -1.76e+68) tmp = Float64(y4 * Float64(y2 * Float64(t * Float64(-c)))); elseif (k <= -2.1e-155) tmp = Float64(Float64(t * j) * Float64(y5 * Float64(-i))); elseif (k <= -1.65e-280) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (k <= 2.1e-225) tmp = Float64(y4 * Float64(b * Float64(t * j))); elseif (k <= 2.2e-46) tmp = Float64(a * Float64(y5 * Float64(y * Float64(-y3)))); else tmp = Float64(Float64(y * y4) * Float64(k * Float64(-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 (k <= -1.76e+68) tmp = y4 * (y2 * (t * -c)); elseif (k <= -2.1e-155) tmp = (t * j) * (y5 * -i); elseif (k <= -1.65e-280) tmp = k * (y4 * (y1 * y2)); elseif (k <= 2.1e-225) tmp = y4 * (b * (t * j)); elseif (k <= 2.2e-46) tmp = a * (y5 * (y * -y3)); else tmp = (y * y4) * (k * -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[k, -1.76e+68], N[(y4 * N[(y2 * N[(t * (-c)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -2.1e-155], N[(N[(t * j), $MachinePrecision] * N[(y5 * (-i)), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -1.65e-280], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.1e-225], N[(y4 * N[(b * N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.2e-46], N[(a * N[(y5 * N[(y * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(y * y4), $MachinePrecision] * N[(k * (-b)), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq -1.76 \cdot 10^{+68}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(t \cdot \left(-c\right)\right)\right)\\
\mathbf{elif}\;k \leq -2.1 \cdot 10^{-155}:\\
\;\;\;\;\left(t \cdot j\right) \cdot \left(y5 \cdot \left(-i\right)\right)\\
\mathbf{elif}\;k \leq -1.65 \cdot 10^{-280}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;k \leq 2.1 \cdot 10^{-225}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j\right)\right)\\
\mathbf{elif}\;k \leq 2.2 \cdot 10^{-46}:\\
\;\;\;\;a \cdot \left(y5 \cdot \left(y \cdot \left(-y3\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(y \cdot y4\right) \cdot \left(k \cdot \left(-b\right)\right)\\
\end{array}
\end{array}
if k < -1.76e68Initial program 20.4%
Taylor expanded in y4 around inf 26.9%
Taylor expanded in y2 around inf 39.4%
Taylor expanded in k around 0 29.8%
neg-mul-129.8%
distribute-rgt-neg-in29.8%
Simplified29.8%
if -1.76e68 < k < -2.1000000000000002e-155Initial program 38.2%
Simplified38.2%
Taylor expanded in t around inf 47.9%
Taylor expanded in j around inf 43.7%
associate-*r*43.7%
*-commutative43.7%
*-commutative43.7%
Simplified43.7%
Taylor expanded in y4 around 0 41.5%
neg-mul-141.5%
distribute-rgt-neg-in41.5%
Simplified41.5%
if -2.1000000000000002e-155 < k < -1.64999999999999995e-280Initial program 47.9%
Taylor expanded in y4 around inf 20.8%
Taylor expanded in y2 around inf 15.8%
Taylor expanded in k around inf 25.3%
if -1.64999999999999995e-280 < k < 2.1e-225Initial program 33.8%
Simplified33.8%
Taylor expanded in t around inf 34.2%
Taylor expanded in j around inf 45.6%
associate-*r*45.6%
*-commutative45.6%
*-commutative45.6%
Simplified45.6%
Taylor expanded in y4 around inf 40.3%
*-commutative40.3%
*-commutative40.3%
associate-*l*40.3%
*-commutative40.3%
Simplified40.3%
if 2.1e-225 < k < 2.2000000000000001e-46Initial program 32.8%
Taylor expanded in y0 around inf 39.4%
*-commutative39.4%
*-commutative39.4%
*-commutative39.4%
Simplified39.4%
Taylor expanded in a around inf 37.1%
Taylor expanded in t around 0 31.7%
neg-mul-131.7%
distribute-rgt-neg-in31.7%
Simplified31.7%
if 2.2000000000000001e-46 < k Initial program 26.4%
Taylor expanded in y4 around inf 51.6%
Taylor expanded in y around -inf 44.8%
mul-1-neg44.8%
associate-*r*44.6%
*-commutative44.6%
Simplified44.6%
Taylor expanded in k around inf 37.2%
Final simplification34.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y1 -1.9e+173)
(* k (* y4 (* y1 y2)))
(if (<= y1 2.9e-84)
(* c (* y4 (- (* y y3) (* t y2))))
(if (<= y1 5.2e+143)
(* a (* y5 (- (* t y2) (* y y3))))
(if (<= y1 7.9e+180) (* c (* i (* z t))) (* y4 (* y2 (* k y1))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y1 <= -1.9e+173) {
tmp = k * (y4 * (y1 * y2));
} else if (y1 <= 2.9e-84) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (y1 <= 5.2e+143) {
tmp = a * (y5 * ((t * y2) - (y * y3)));
} else if (y1 <= 7.9e+180) {
tmp = c * (i * (z * t));
} else {
tmp = y4 * (y2 * (k * y1));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y1 <= (-1.9d+173)) then
tmp = k * (y4 * (y1 * y2))
else if (y1 <= 2.9d-84) then
tmp = c * (y4 * ((y * y3) - (t * y2)))
else if (y1 <= 5.2d+143) then
tmp = a * (y5 * ((t * y2) - (y * y3)))
else if (y1 <= 7.9d+180) then
tmp = c * (i * (z * t))
else
tmp = y4 * (y2 * (k * y1))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y1 <= -1.9e+173) {
tmp = k * (y4 * (y1 * y2));
} else if (y1 <= 2.9e-84) {
tmp = c * (y4 * ((y * y3) - (t * y2)));
} else if (y1 <= 5.2e+143) {
tmp = a * (y5 * ((t * y2) - (y * y3)));
} else if (y1 <= 7.9e+180) {
tmp = c * (i * (z * t));
} else {
tmp = y4 * (y2 * (k * y1));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y1 <= -1.9e+173: tmp = k * (y4 * (y1 * y2)) elif y1 <= 2.9e-84: tmp = c * (y4 * ((y * y3) - (t * y2))) elif y1 <= 5.2e+143: tmp = a * (y5 * ((t * y2) - (y * y3))) elif y1 <= 7.9e+180: tmp = c * (i * (z * t)) else: tmp = y4 * (y2 * (k * y1)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y1 <= -1.9e+173) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (y1 <= 2.9e-84) tmp = Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))); elseif (y1 <= 5.2e+143) tmp = Float64(a * Float64(y5 * Float64(Float64(t * y2) - Float64(y * y3)))); elseif (y1 <= 7.9e+180) tmp = Float64(c * Float64(i * Float64(z * t))); else tmp = Float64(y4 * Float64(y2 * Float64(k * y1))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y1 <= -1.9e+173) tmp = k * (y4 * (y1 * y2)); elseif (y1 <= 2.9e-84) tmp = c * (y4 * ((y * y3) - (t * y2))); elseif (y1 <= 5.2e+143) tmp = a * (y5 * ((t * y2) - (y * y3))); elseif (y1 <= 7.9e+180) tmp = c * (i * (z * t)); else tmp = y4 * (y2 * (k * y1)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y1, -1.9e+173], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 2.9e-84], N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 5.2e+143], N[(a * N[(y5 * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 7.9e+180], N[(c * N[(i * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y4 * N[(y2 * N[(k * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -1.9 \cdot 10^{+173}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;y1 \leq 2.9 \cdot 10^{-84}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y1 \leq 5.2 \cdot 10^{+143}:\\
\;\;\;\;a \cdot \left(y5 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;y1 \leq 7.9 \cdot 10^{+180}:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1\right)\right)\\
\end{array}
\end{array}
if y1 < -1.90000000000000005e173Initial program 28.3%
Taylor expanded in y4 around inf 47.5%
Taylor expanded in y2 around inf 34.9%
Taylor expanded in k around inf 41.3%
if -1.90000000000000005e173 < y1 < 2.90000000000000019e-84Initial program 31.3%
Taylor expanded in y4 around inf 42.2%
Taylor expanded in c around inf 32.6%
if 2.90000000000000019e-84 < y1 < 5.1999999999999998e143Initial program 38.7%
Taylor expanded in y0 around inf 30.8%
*-commutative30.8%
*-commutative30.8%
*-commutative30.8%
Simplified30.8%
Taylor expanded in a around inf 33.8%
if 5.1999999999999998e143 < y1 < 7.90000000000000012e180Initial program 25.0%
Simplified25.0%
Taylor expanded in t around inf 51.5%
Taylor expanded in z around inf 27.1%
mul-1-neg27.1%
associate-*r*38.1%
Simplified38.1%
Taylor expanded in a around 0 38.7%
associate-*r*38.7%
neg-mul-138.7%
Simplified38.7%
if 7.90000000000000012e180 < y1 Initial program 16.0%
Taylor expanded in y4 around inf 56.3%
Taylor expanded in y2 around inf 64.3%
Taylor expanded in k around inf 64.7%
Final simplification37.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* k (* y4 (* y (- b))))))
(if (<= y -7.8e+21)
t_1
(if (<= y -1.3e-181)
(* y4 (* y2 (* k y1)))
(if (<= y 2.1e-236)
(* y4 (* b (* t j)))
(if (<= y 11.0) (* k (* y4 (* y1 y2))) 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 = k * (y4 * (y * -b));
double tmp;
if (y <= -7.8e+21) {
tmp = t_1;
} else if (y <= -1.3e-181) {
tmp = y4 * (y2 * (k * y1));
} else if (y <= 2.1e-236) {
tmp = y4 * (b * (t * j));
} else if (y <= 11.0) {
tmp = k * (y4 * (y1 * y2));
} 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 = k * (y4 * (y * -b))
if (y <= (-7.8d+21)) then
tmp = t_1
else if (y <= (-1.3d-181)) then
tmp = y4 * (y2 * (k * y1))
else if (y <= 2.1d-236) then
tmp = y4 * (b * (t * j))
else if (y <= 11.0d0) then
tmp = k * (y4 * (y1 * y2))
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 = k * (y4 * (y * -b));
double tmp;
if (y <= -7.8e+21) {
tmp = t_1;
} else if (y <= -1.3e-181) {
tmp = y4 * (y2 * (k * y1));
} else if (y <= 2.1e-236) {
tmp = y4 * (b * (t * j));
} else if (y <= 11.0) {
tmp = k * (y4 * (y1 * y2));
} 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 = k * (y4 * (y * -b)) tmp = 0 if y <= -7.8e+21: tmp = t_1 elif y <= -1.3e-181: tmp = y4 * (y2 * (k * y1)) elif y <= 2.1e-236: tmp = y4 * (b * (t * j)) elif y <= 11.0: tmp = k * (y4 * (y1 * y2)) 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(k * Float64(y4 * Float64(y * Float64(-b)))) tmp = 0.0 if (y <= -7.8e+21) tmp = t_1; elseif (y <= -1.3e-181) tmp = Float64(y4 * Float64(y2 * Float64(k * y1))); elseif (y <= 2.1e-236) tmp = Float64(y4 * Float64(b * Float64(t * j))); elseif (y <= 11.0) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); 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 = k * (y4 * (y * -b)); tmp = 0.0; if (y <= -7.8e+21) tmp = t_1; elseif (y <= -1.3e-181) tmp = y4 * (y2 * (k * y1)); elseif (y <= 2.1e-236) tmp = y4 * (b * (t * j)); elseif (y <= 11.0) tmp = k * (y4 * (y1 * y2)); 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[(k * N[(y4 * N[(y * (-b)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -7.8e+21], t$95$1, If[LessEqual[y, -1.3e-181], N[(y4 * N[(y2 * N[(k * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.1e-236], N[(y4 * N[(b * N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 11.0], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(y4 \cdot \left(y \cdot \left(-b\right)\right)\right)\\
\mathbf{if}\;y \leq -7.8 \cdot 10^{+21}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -1.3 \cdot 10^{-181}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1\right)\right)\\
\mathbf{elif}\;y \leq 2.1 \cdot 10^{-236}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j\right)\right)\\
\mathbf{elif}\;y \leq 11:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -7.8e21 or 11 < y Initial program 24.5%
Taylor expanded in y4 around inf 37.3%
Taylor expanded in y around -inf 43.7%
mul-1-neg43.7%
associate-*r*41.1%
*-commutative41.1%
Simplified41.1%
Taylor expanded in k around inf 31.3%
if -7.8e21 < y < -1.29999999999999999e-181Initial program 42.7%
Taylor expanded in y4 around inf 38.0%
Taylor expanded in y2 around inf 35.2%
Taylor expanded in k around inf 30.0%
if -1.29999999999999999e-181 < y < 2.09999999999999979e-236Initial program 43.3%
Simplified43.3%
Taylor expanded in t around inf 38.5%
Taylor expanded in j around inf 38.7%
associate-*r*36.0%
*-commutative36.0%
*-commutative36.0%
Simplified36.0%
Taylor expanded in y4 around inf 28.0%
*-commutative28.0%
*-commutative28.0%
associate-*l*30.8%
*-commutative30.8%
Simplified30.8%
if 2.09999999999999979e-236 < y < 11Initial program 30.0%
Taylor expanded in y4 around inf 40.8%
Taylor expanded in y2 around inf 33.4%
Taylor expanded in k around inf 27.4%
Final simplification30.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y1 -1.1e+172)
(* k (* y4 (* y1 y2)))
(if (or (<= y1 -3.6e-14) (and (not (<= y1 -1e-213)) (<= y1 2.75e+63)))
(* y4 (* b (* t j)))
(* y4 (* y2 (* k y1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y1 <= -1.1e+172) {
tmp = k * (y4 * (y1 * y2));
} else if ((y1 <= -3.6e-14) || (!(y1 <= -1e-213) && (y1 <= 2.75e+63))) {
tmp = y4 * (b * (t * j));
} else {
tmp = y4 * (y2 * (k * y1));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y1 <= (-1.1d+172)) then
tmp = k * (y4 * (y1 * y2))
else if ((y1 <= (-3.6d-14)) .or. (.not. (y1 <= (-1d-213))) .and. (y1 <= 2.75d+63)) then
tmp = y4 * (b * (t * j))
else
tmp = y4 * (y2 * (k * y1))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y1 <= -1.1e+172) {
tmp = k * (y4 * (y1 * y2));
} else if ((y1 <= -3.6e-14) || (!(y1 <= -1e-213) && (y1 <= 2.75e+63))) {
tmp = y4 * (b * (t * j));
} else {
tmp = y4 * (y2 * (k * y1));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y1 <= -1.1e+172: tmp = k * (y4 * (y1 * y2)) elif (y1 <= -3.6e-14) or (not (y1 <= -1e-213) and (y1 <= 2.75e+63)): tmp = y4 * (b * (t * j)) else: tmp = y4 * (y2 * (k * y1)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y1 <= -1.1e+172) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif ((y1 <= -3.6e-14) || (!(y1 <= -1e-213) && (y1 <= 2.75e+63))) tmp = Float64(y4 * Float64(b * Float64(t * j))); else tmp = Float64(y4 * Float64(y2 * Float64(k * y1))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y1 <= -1.1e+172) tmp = k * (y4 * (y1 * y2)); elseif ((y1 <= -3.6e-14) || (~((y1 <= -1e-213)) && (y1 <= 2.75e+63))) tmp = y4 * (b * (t * j)); else tmp = y4 * (y2 * (k * y1)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y1, -1.1e+172], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[y1, -3.6e-14], And[N[Not[LessEqual[y1, -1e-213]], $MachinePrecision], LessEqual[y1, 2.75e+63]]], N[(y4 * N[(b * N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y4 * N[(y2 * N[(k * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -1.1 \cdot 10^{+172}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;y1 \leq -3.6 \cdot 10^{-14} \lor \neg \left(y1 \leq -1 \cdot 10^{-213}\right) \land y1 \leq 2.75 \cdot 10^{+63}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1\right)\right)\\
\end{array}
\end{array}
if y1 < -1.1000000000000001e172Initial program 27.5%
Taylor expanded in y4 around inf 49.1%
Taylor expanded in y2 around inf 34.0%
Taylor expanded in k around inf 40.1%
if -1.1000000000000001e172 < y1 < -3.5999999999999998e-14 or -9.9999999999999995e-214 < y1 < 2.75000000000000002e63Initial program 32.1%
Simplified32.1%
Taylor expanded in t around inf 38.6%
Taylor expanded in j around inf 30.9%
associate-*r*29.4%
*-commutative29.4%
*-commutative29.4%
Simplified29.4%
Taylor expanded in y4 around inf 21.4%
*-commutative21.4%
*-commutative21.4%
associate-*l*22.8%
*-commutative22.8%
Simplified22.8%
if -3.5999999999999998e-14 < y1 < -9.9999999999999995e-214 or 2.75000000000000002e63 < y1 Initial program 29.6%
Taylor expanded in y4 around inf 41.5%
Taylor expanded in y2 around inf 38.4%
Taylor expanded in k around inf 30.6%
Final simplification27.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y4 (* t (* b j)))))
(if (<= y5 -2.1e+80)
(* y2 (* a (* t y5)))
(if (<= y5 4.9e-119)
t_1
(if (<= y5 4e+16)
(* k (* y4 (* y1 y2)))
(if (<= y5 1.15e+197) t_1 (* y4 (* y2 (* k 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 = y4 * (t * (b * j));
double tmp;
if (y5 <= -2.1e+80) {
tmp = y2 * (a * (t * y5));
} else if (y5 <= 4.9e-119) {
tmp = t_1;
} else if (y5 <= 4e+16) {
tmp = k * (y4 * (y1 * y2));
} else if (y5 <= 1.15e+197) {
tmp = t_1;
} else {
tmp = y4 * (y2 * (k * 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 = y4 * (t * (b * j))
if (y5 <= (-2.1d+80)) then
tmp = y2 * (a * (t * y5))
else if (y5 <= 4.9d-119) then
tmp = t_1
else if (y5 <= 4d+16) then
tmp = k * (y4 * (y1 * y2))
else if (y5 <= 1.15d+197) then
tmp = t_1
else
tmp = y4 * (y2 * (k * 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 = y4 * (t * (b * j));
double tmp;
if (y5 <= -2.1e+80) {
tmp = y2 * (a * (t * y5));
} else if (y5 <= 4.9e-119) {
tmp = t_1;
} else if (y5 <= 4e+16) {
tmp = k * (y4 * (y1 * y2));
} else if (y5 <= 1.15e+197) {
tmp = t_1;
} else {
tmp = y4 * (y2 * (k * y1));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y4 * (t * (b * j)) tmp = 0 if y5 <= -2.1e+80: tmp = y2 * (a * (t * y5)) elif y5 <= 4.9e-119: tmp = t_1 elif y5 <= 4e+16: tmp = k * (y4 * (y1 * y2)) elif y5 <= 1.15e+197: tmp = t_1 else: tmp = y4 * (y2 * (k * y1)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y4 * Float64(t * Float64(b * j))) tmp = 0.0 if (y5 <= -2.1e+80) tmp = Float64(y2 * Float64(a * Float64(t * y5))); elseif (y5 <= 4.9e-119) tmp = t_1; elseif (y5 <= 4e+16) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (y5 <= 1.15e+197) tmp = t_1; else tmp = Float64(y4 * Float64(y2 * Float64(k * 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 = y4 * (t * (b * j)); tmp = 0.0; if (y5 <= -2.1e+80) tmp = y2 * (a * (t * y5)); elseif (y5 <= 4.9e-119) tmp = t_1; elseif (y5 <= 4e+16) tmp = k * (y4 * (y1 * y2)); elseif (y5 <= 1.15e+197) tmp = t_1; else tmp = y4 * (y2 * (k * 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[(y4 * N[(t * N[(b * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -2.1e+80], N[(y2 * N[(a * N[(t * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 4.9e-119], t$95$1, If[LessEqual[y5, 4e+16], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 1.15e+197], t$95$1, N[(y4 * N[(y2 * N[(k * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(t \cdot \left(b \cdot j\right)\right)\\
\mathbf{if}\;y5 \leq -2.1 \cdot 10^{+80}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5\right)\right)\\
\mathbf{elif}\;y5 \leq 4.9 \cdot 10^{-119}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y5 \leq 4 \cdot 10^{+16}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;y5 \leq 1.15 \cdot 10^{+197}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1\right)\right)\\
\end{array}
\end{array}
if y5 < -2.10000000000000001e80Initial program 32.6%
Taylor expanded in y0 around inf 28.5%
*-commutative28.5%
*-commutative28.5%
*-commutative28.5%
Simplified28.5%
Taylor expanded in a around inf 40.3%
Taylor expanded in t around inf 34.1%
associate-*r*38.1%
associate-*r*40.1%
*-commutative40.1%
Simplified40.1%
if -2.10000000000000001e80 < y5 < 4.9e-119 or 4e16 < y5 < 1.15e197Initial program 30.1%
Simplified30.7%
Taylor expanded in t around inf 32.3%
Taylor expanded in j around inf 24.2%
associate-*r*24.1%
*-commutative24.1%
*-commutative24.1%
Simplified24.1%
Taylor expanded in y4 around inf 20.9%
if 4.9e-119 < y5 < 4e16Initial program 38.9%
Taylor expanded in y4 around inf 45.8%
Taylor expanded in y2 around inf 36.3%
Taylor expanded in k around inf 39.5%
if 1.15e197 < y5 Initial program 20.2%
Taylor expanded in y4 around inf 44.7%
Taylor expanded in y2 around inf 37.0%
Taylor expanded in k around inf 41.0%
Final simplification28.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= k -5.2e+74)
(* y4 (* y2 (* t (- c))))
(if (<= k -2.65e-244)
(* (* t a) (* z (- b)))
(if (<= k 8.2e-47) (* a (* y5 (* y (- y3)))) (* (* y y4) (* k (- 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 (k <= -5.2e+74) {
tmp = y4 * (y2 * (t * -c));
} else if (k <= -2.65e-244) {
tmp = (t * a) * (z * -b);
} else if (k <= 8.2e-47) {
tmp = a * (y5 * (y * -y3));
} else {
tmp = (y * y4) * (k * -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 (k <= (-5.2d+74)) then
tmp = y4 * (y2 * (t * -c))
else if (k <= (-2.65d-244)) then
tmp = (t * a) * (z * -b)
else if (k <= 8.2d-47) then
tmp = a * (y5 * (y * -y3))
else
tmp = (y * y4) * (k * -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 (k <= -5.2e+74) {
tmp = y4 * (y2 * (t * -c));
} else if (k <= -2.65e-244) {
tmp = (t * a) * (z * -b);
} else if (k <= 8.2e-47) {
tmp = a * (y5 * (y * -y3));
} else {
tmp = (y * y4) * (k * -b);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if k <= -5.2e+74: tmp = y4 * (y2 * (t * -c)) elif k <= -2.65e-244: tmp = (t * a) * (z * -b) elif k <= 8.2e-47: tmp = a * (y5 * (y * -y3)) else: tmp = (y * y4) * (k * -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 (k <= -5.2e+74) tmp = Float64(y4 * Float64(y2 * Float64(t * Float64(-c)))); elseif (k <= -2.65e-244) tmp = Float64(Float64(t * a) * Float64(z * Float64(-b))); elseif (k <= 8.2e-47) tmp = Float64(a * Float64(y5 * Float64(y * Float64(-y3)))); else tmp = Float64(Float64(y * y4) * Float64(k * Float64(-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 (k <= -5.2e+74) tmp = y4 * (y2 * (t * -c)); elseif (k <= -2.65e-244) tmp = (t * a) * (z * -b); elseif (k <= 8.2e-47) tmp = a * (y5 * (y * -y3)); else tmp = (y * y4) * (k * -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[k, -5.2e+74], N[(y4 * N[(y2 * N[(t * (-c)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -2.65e-244], N[(N[(t * a), $MachinePrecision] * N[(z * (-b)), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 8.2e-47], N[(a * N[(y5 * N[(y * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(y * y4), $MachinePrecision] * N[(k * (-b)), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq -5.2 \cdot 10^{+74}:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(t \cdot \left(-c\right)\right)\right)\\
\mathbf{elif}\;k \leq -2.65 \cdot 10^{-244}:\\
\;\;\;\;\left(t \cdot a\right) \cdot \left(z \cdot \left(-b\right)\right)\\
\mathbf{elif}\;k \leq 8.2 \cdot 10^{-47}:\\
\;\;\;\;a \cdot \left(y5 \cdot \left(y \cdot \left(-y3\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(y \cdot y4\right) \cdot \left(k \cdot \left(-b\right)\right)\\
\end{array}
\end{array}
if k < -5.2000000000000001e74Initial program 19.1%
Taylor expanded in y4 around inf 23.8%
Taylor expanded in y2 around inf 36.9%
Taylor expanded in k around 0 30.9%
neg-mul-130.9%
distribute-rgt-neg-in30.9%
Simplified30.9%
if -5.2000000000000001e74 < k < -2.6500000000000001e-244Initial program 42.2%
Simplified42.2%
Taylor expanded in t around inf 47.4%
Taylor expanded in z around inf 35.1%
mul-1-neg35.1%
associate-*r*34.9%
Simplified34.9%
Taylor expanded in a around inf 21.8%
associate-*r*28.1%
*-commutative28.1%
Simplified28.1%
if -2.6500000000000001e-244 < k < 8.20000000000000003e-47Initial program 33.7%
Taylor expanded in y0 around inf 35.0%
*-commutative35.0%
*-commutative35.0%
*-commutative35.0%
Simplified35.0%
Taylor expanded in a around inf 31.1%
Taylor expanded in t around 0 26.3%
neg-mul-126.3%
distribute-rgt-neg-in26.3%
Simplified26.3%
if 8.20000000000000003e-47 < k Initial program 26.4%
Taylor expanded in y4 around inf 51.6%
Taylor expanded in y around -inf 44.8%
mul-1-neg44.8%
associate-*r*44.6%
*-commutative44.6%
Simplified44.6%
Taylor expanded in k around inf 37.2%
Final simplification31.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y5 -6.8e+78) (* y2 (* a (* t y5))) (if (<= y5 1.25e+118) (* k (* y4 (* y (- b)))) (* a (* y (* y3 (- y5)))))))
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 (y5 <= -6.8e+78) {
tmp = y2 * (a * (t * y5));
} else if (y5 <= 1.25e+118) {
tmp = k * (y4 * (y * -b));
} else {
tmp = a * (y * (y3 * -y5));
}
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 (y5 <= (-6.8d+78)) then
tmp = y2 * (a * (t * y5))
else if (y5 <= 1.25d+118) then
tmp = k * (y4 * (y * -b))
else
tmp = a * (y * (y3 * -y5))
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 (y5 <= -6.8e+78) {
tmp = y2 * (a * (t * y5));
} else if (y5 <= 1.25e+118) {
tmp = k * (y4 * (y * -b));
} else {
tmp = a * (y * (y3 * -y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y5 <= -6.8e+78: tmp = y2 * (a * (t * y5)) elif y5 <= 1.25e+118: tmp = k * (y4 * (y * -b)) else: tmp = a * (y * (y3 * -y5)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y5 <= -6.8e+78) tmp = Float64(y2 * Float64(a * Float64(t * y5))); elseif (y5 <= 1.25e+118) tmp = Float64(k * Float64(y4 * Float64(y * Float64(-b)))); else tmp = Float64(a * Float64(y * Float64(y3 * Float64(-y5)))); 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 (y5 <= -6.8e+78) tmp = y2 * (a * (t * y5)); elseif (y5 <= 1.25e+118) tmp = k * (y4 * (y * -b)); else tmp = a * (y * (y3 * -y5)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y5, -6.8e+78], N[(y2 * N[(a * N[(t * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 1.25e+118], N[(k * N[(y4 * N[(y * (-b)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[(y * N[(y3 * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y5 \leq -6.8 \cdot 10^{+78}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5\right)\right)\\
\mathbf{elif}\;y5 \leq 1.25 \cdot 10^{+118}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y \cdot \left(-b\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(y \cdot \left(y3 \cdot \left(-y5\right)\right)\right)\\
\end{array}
\end{array}
if y5 < -6.80000000000000014e78Initial program 32.6%
Taylor expanded in y0 around inf 28.5%
*-commutative28.5%
*-commutative28.5%
*-commutative28.5%
Simplified28.5%
Taylor expanded in a around inf 40.3%
Taylor expanded in t around inf 34.1%
associate-*r*38.1%
associate-*r*40.1%
*-commutative40.1%
Simplified40.1%
if -6.80000000000000014e78 < y5 < 1.24999999999999993e118Initial program 30.8%
Taylor expanded in y4 around inf 39.3%
Taylor expanded in y around -inf 34.8%
mul-1-neg34.8%
associate-*r*31.5%
*-commutative31.5%
Simplified31.5%
Taylor expanded in k around inf 22.5%
if 1.24999999999999993e118 < y5 Initial program 27.8%
Taylor expanded in y0 around inf 42.9%
*-commutative42.9%
*-commutative42.9%
*-commutative42.9%
Simplified42.9%
Taylor expanded in a around inf 45.9%
Taylor expanded in t around 0 41.0%
associate-*r*41.0%
neg-mul-141.0%
Simplified41.0%
Final simplification28.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= y1 -8.5e+109) (not (<= y1 1.16e+63))) (* k (* y4 (* y1 y2))) (* a (* t (* y2 y5)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y1 <= -8.5e+109) || !(y1 <= 1.16e+63)) {
tmp = k * (y4 * (y1 * y2));
} else {
tmp = a * (t * (y2 * y5));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if ((y1 <= (-8.5d+109)) .or. (.not. (y1 <= 1.16d+63))) then
tmp = k * (y4 * (y1 * y2))
else
tmp = a * (t * (y2 * y5))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y1 <= -8.5e+109) || !(y1 <= 1.16e+63)) {
tmp = k * (y4 * (y1 * y2));
} else {
tmp = a * (t * (y2 * y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (y1 <= -8.5e+109) or not (y1 <= 1.16e+63): tmp = k * (y4 * (y1 * y2)) else: tmp = a * (t * (y2 * y5)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if ((y1 <= -8.5e+109) || !(y1 <= 1.16e+63)) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); else tmp = Float64(a * Float64(t * Float64(y2 * y5))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if ((y1 <= -8.5e+109) || ~((y1 <= 1.16e+63))) tmp = k * (y4 * (y1 * y2)); else tmp = a * (t * (y2 * y5)); 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, -8.5e+109], N[Not[LessEqual[y1, 1.16e+63]], $MachinePrecision]], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[(t * N[(y2 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -8.5 \cdot 10^{+109} \lor \neg \left(y1 \leq 1.16 \cdot 10^{+63}\right):\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(t \cdot \left(y2 \cdot y5\right)\right)\\
\end{array}
\end{array}
if y1 < -8.5000000000000004e109 or 1.15999999999999994e63 < y1 Initial program 25.3%
Taylor expanded in y4 around inf 42.3%
Taylor expanded in y2 around inf 35.8%
Taylor expanded in k around inf 36.1%
if -8.5000000000000004e109 < y1 < 1.15999999999999994e63Initial program 33.5%
Taylor expanded in y0 around inf 32.6%
*-commutative32.6%
*-commutative32.6%
*-commutative32.6%
Simplified32.6%
Taylor expanded in a around inf 24.6%
Taylor expanded in t around inf 15.1%
Final simplification22.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= y1 -1.32e+172) (not (<= y1 5.1e+63))) (* k (* y4 (* y1 y2))) (* y4 (* b (* t j)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y1 <= -1.32e+172) || !(y1 <= 5.1e+63)) {
tmp = k * (y4 * (y1 * y2));
} else {
tmp = y4 * (b * (t * 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 ((y1 <= (-1.32d+172)) .or. (.not. (y1 <= 5.1d+63))) then
tmp = k * (y4 * (y1 * y2))
else
tmp = y4 * (b * (t * 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 ((y1 <= -1.32e+172) || !(y1 <= 5.1e+63)) {
tmp = k * (y4 * (y1 * y2));
} else {
tmp = y4 * (b * (t * j));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (y1 <= -1.32e+172) or not (y1 <= 5.1e+63): tmp = k * (y4 * (y1 * y2)) else: tmp = y4 * (b * (t * j)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if ((y1 <= -1.32e+172) || !(y1 <= 5.1e+63)) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); else tmp = Float64(y4 * Float64(b * Float64(t * 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 ((y1 <= -1.32e+172) || ~((y1 <= 5.1e+63))) tmp = k * (y4 * (y1 * y2)); else tmp = y4 * (b * (t * j)); 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, -1.32e+172], N[Not[LessEqual[y1, 5.1e+63]], $MachinePrecision]], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y4 * N[(b * N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -1.32 \cdot 10^{+172} \lor \neg \left(y1 \leq 5.1 \cdot 10^{+63}\right):\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y4 \cdot \left(b \cdot \left(t \cdot j\right)\right)\\
\end{array}
\end{array}
if y1 < -1.31999999999999996e172 or 5.0999999999999998e63 < y1 Initial program 25.1%
Taylor expanded in y4 around inf 41.0%
Taylor expanded in y2 around inf 38.6%
Taylor expanded in k around inf 37.8%
if -1.31999999999999996e172 < y1 < 5.0999999999999998e63Initial program 33.3%
Simplified33.3%
Taylor expanded in t around inf 38.1%
Taylor expanded in j around inf 26.9%
associate-*r*25.7%
*-commutative25.7%
*-commutative25.7%
Simplified25.7%
Taylor expanded in y4 around inf 17.8%
*-commutative17.8%
*-commutative17.8%
associate-*l*18.9%
*-commutative18.9%
Simplified18.9%
Final simplification25.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* a (* t (* y2 y5))))
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 * (t * (y2 * y5));
}
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 * (t * (y2 * y5))
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 * (t * (y2 * y5));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return a * (t * (y2 * y5))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(a * Float64(t * Float64(y2 * y5))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = a * (t * (y2 * y5)); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(a * N[(t * N[(y2 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(t \cdot \left(y2 \cdot y5\right)\right)
\end{array}
Initial program 30.6%
Taylor expanded in y0 around inf 32.4%
*-commutative32.4%
*-commutative32.4%
*-commutative32.4%
Simplified32.4%
Taylor expanded in a around inf 23.8%
Taylor expanded in t around inf 13.2%
Final simplification13.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 2023268
(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)))))