| Alternative 1 | |
|---|---|
| Error | 31.5 |
| Cost | 8956 |
(FPCore (x y z t a b c)
:precision binary64
(/
x
(+
x
(*
y
(exp
(*
2.0
(-
(/ (* z (sqrt (+ t a))) t)
(* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))(FPCore (x y z t a b c)
:precision binary64
(let* ((t_1 (/ x (* y (exp (* -1.6666666666666667 (- b c))))))
(t_2 (/ x (+ x (* y (exp (* c (/ -1.3333333333333333 t)))))))
(t_3 (/ x (+ x (+ y (* (* b (* y a)) -2.0))))))
(if (<= c -1.3789026442831328e-8)
1.0
(if (<= c -4.0666517143844075e-77)
t_3
(if (<= c -4.747189572510168e-303)
1.0
(if (<= c 2.3163471495837582e-297)
(* (/ x (- (* x x) (* y y))) (- x y))
(if (<= c 2.750494052163473e-283)
1.0
(if (<= c 1.4954040967811104e-226)
(/
x
(+
x
(+
y
(*
2.0
(*
(/
(+ 0.6944444444444444 (/ -0.4444444444444444 (* t t)))
(- -0.8333333333333334 (/ 0.6666666666666666 t)))
(* y b))))))
(if (<= c 7.809697862958332e-188)
t_3
(if (<= c 9.360673320253991e-177)
1.0
(if (<= c 1.3704276327964007e-155)
(* -0.5 (/ (/ x y) (* b a)))
(if (<= c 8.914894226126018e-128)
(/ x (+ (* (* y b) -1.6666666666666667) (+ x y)))
(if (<= c 816724496.5545095)
t_2
(if (<= c 1.4201743830549502e+59)
t_1
(if (<= c 2.812119454569072e+142)
t_2
t_1)))))))))))))))double code(double x, double y, double z, double t, double a, double b, double c) {
return x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = x / (y * exp((-1.6666666666666667 * (b - c))));
double t_2 = x / (x + (y * exp((c * (-1.3333333333333333 / t)))));
double t_3 = x / (x + (y + ((b * (y * a)) * -2.0)));
double tmp;
if (c <= -1.3789026442831328e-8) {
tmp = 1.0;
} else if (c <= -4.0666517143844075e-77) {
tmp = t_3;
} else if (c <= -4.747189572510168e-303) {
tmp = 1.0;
} else if (c <= 2.3163471495837582e-297) {
tmp = (x / ((x * x) - (y * y))) * (x - y);
} else if (c <= 2.750494052163473e-283) {
tmp = 1.0;
} else if (c <= 1.4954040967811104e-226) {
tmp = x / (x + (y + (2.0 * (((0.6944444444444444 + (-0.4444444444444444 / (t * t))) / (-0.8333333333333334 - (0.6666666666666666 / t))) * (y * b)))));
} else if (c <= 7.809697862958332e-188) {
tmp = t_3;
} else if (c <= 9.360673320253991e-177) {
tmp = 1.0;
} else if (c <= 1.3704276327964007e-155) {
tmp = -0.5 * ((x / y) / (b * a));
} else if (c <= 8.914894226126018e-128) {
tmp = x / (((y * b) * -1.6666666666666667) + (x + y));
} else if (c <= 816724496.5545095) {
tmp = t_2;
} else if (c <= 1.4201743830549502e+59) {
tmp = t_1;
} else if (c <= 2.812119454569072e+142) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
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
code = x / (x + (y * exp((2.0d0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0d0 / 6.0d0)) - (2.0d0 / (t * 3.0d0)))))))))
end function
real(8) function code(x, y, z, t, a, b, c)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = x / (y * exp(((-1.6666666666666667d0) * (b - c))))
t_2 = x / (x + (y * exp((c * ((-1.3333333333333333d0) / t)))))
t_3 = x / (x + (y + ((b * (y * a)) * (-2.0d0))))
if (c <= (-1.3789026442831328d-8)) then
tmp = 1.0d0
else if (c <= (-4.0666517143844075d-77)) then
tmp = t_3
else if (c <= (-4.747189572510168d-303)) then
tmp = 1.0d0
else if (c <= 2.3163471495837582d-297) then
tmp = (x / ((x * x) - (y * y))) * (x - y)
else if (c <= 2.750494052163473d-283) then
tmp = 1.0d0
else if (c <= 1.4954040967811104d-226) then
tmp = x / (x + (y + (2.0d0 * (((0.6944444444444444d0 + ((-0.4444444444444444d0) / (t * t))) / ((-0.8333333333333334d0) - (0.6666666666666666d0 / t))) * (y * b)))))
else if (c <= 7.809697862958332d-188) then
tmp = t_3
else if (c <= 9.360673320253991d-177) then
tmp = 1.0d0
else if (c <= 1.3704276327964007d-155) then
tmp = (-0.5d0) * ((x / y) / (b * a))
else if (c <= 8.914894226126018d-128) then
tmp = x / (((y * b) * (-1.6666666666666667d0)) + (x + y))
else if (c <= 816724496.5545095d0) then
tmp = t_2
else if (c <= 1.4201743830549502d+59) then
tmp = t_1
else if (c <= 2.812119454569072d+142) 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) {
return x / (x + (y * Math.exp((2.0 * (((z * Math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
public static double code(double x, double y, double z, double t, double a, double b, double c) {
double t_1 = x / (y * Math.exp((-1.6666666666666667 * (b - c))));
double t_2 = x / (x + (y * Math.exp((c * (-1.3333333333333333 / t)))));
double t_3 = x / (x + (y + ((b * (y * a)) * -2.0)));
double tmp;
if (c <= -1.3789026442831328e-8) {
tmp = 1.0;
} else if (c <= -4.0666517143844075e-77) {
tmp = t_3;
} else if (c <= -4.747189572510168e-303) {
tmp = 1.0;
} else if (c <= 2.3163471495837582e-297) {
tmp = (x / ((x * x) - (y * y))) * (x - y);
} else if (c <= 2.750494052163473e-283) {
tmp = 1.0;
} else if (c <= 1.4954040967811104e-226) {
tmp = x / (x + (y + (2.0 * (((0.6944444444444444 + (-0.4444444444444444 / (t * t))) / (-0.8333333333333334 - (0.6666666666666666 / t))) * (y * b)))));
} else if (c <= 7.809697862958332e-188) {
tmp = t_3;
} else if (c <= 9.360673320253991e-177) {
tmp = 1.0;
} else if (c <= 1.3704276327964007e-155) {
tmp = -0.5 * ((x / y) / (b * a));
} else if (c <= 8.914894226126018e-128) {
tmp = x / (((y * b) * -1.6666666666666667) + (x + y));
} else if (c <= 816724496.5545095) {
tmp = t_2;
} else if (c <= 1.4201743830549502e+59) {
tmp = t_1;
} else if (c <= 2.812119454569072e+142) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c): return x / (x + (y * math.exp((2.0 * (((z * math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))))
def code(x, y, z, t, a, b, c): t_1 = x / (y * math.exp((-1.6666666666666667 * (b - c)))) t_2 = x / (x + (y * math.exp((c * (-1.3333333333333333 / t))))) t_3 = x / (x + (y + ((b * (y * a)) * -2.0))) tmp = 0 if c <= -1.3789026442831328e-8: tmp = 1.0 elif c <= -4.0666517143844075e-77: tmp = t_3 elif c <= -4.747189572510168e-303: tmp = 1.0 elif c <= 2.3163471495837582e-297: tmp = (x / ((x * x) - (y * y))) * (x - y) elif c <= 2.750494052163473e-283: tmp = 1.0 elif c <= 1.4954040967811104e-226: tmp = x / (x + (y + (2.0 * (((0.6944444444444444 + (-0.4444444444444444 / (t * t))) / (-0.8333333333333334 - (0.6666666666666666 / t))) * (y * b))))) elif c <= 7.809697862958332e-188: tmp = t_3 elif c <= 9.360673320253991e-177: tmp = 1.0 elif c <= 1.3704276327964007e-155: tmp = -0.5 * ((x / y) / (b * a)) elif c <= 8.914894226126018e-128: tmp = x / (((y * b) * -1.6666666666666667) + (x + y)) elif c <= 816724496.5545095: tmp = t_2 elif c <= 1.4201743830549502e+59: tmp = t_1 elif c <= 2.812119454569072e+142: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c) return Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(z * sqrt(Float64(t + a))) / t) - Float64(Float64(b - c) * Float64(Float64(a + Float64(5.0 / 6.0)) - Float64(2.0 / Float64(t * 3.0)))))))))) end
function code(x, y, z, t, a, b, c) t_1 = Float64(x / Float64(y * exp(Float64(-1.6666666666666667 * Float64(b - c))))) t_2 = Float64(x / Float64(x + Float64(y * exp(Float64(c * Float64(-1.3333333333333333 / t)))))) t_3 = Float64(x / Float64(x + Float64(y + Float64(Float64(b * Float64(y * a)) * -2.0)))) tmp = 0.0 if (c <= -1.3789026442831328e-8) tmp = 1.0; elseif (c <= -4.0666517143844075e-77) tmp = t_3; elseif (c <= -4.747189572510168e-303) tmp = 1.0; elseif (c <= 2.3163471495837582e-297) tmp = Float64(Float64(x / Float64(Float64(x * x) - Float64(y * y))) * Float64(x - y)); elseif (c <= 2.750494052163473e-283) tmp = 1.0; elseif (c <= 1.4954040967811104e-226) tmp = Float64(x / Float64(x + Float64(y + Float64(2.0 * Float64(Float64(Float64(0.6944444444444444 + Float64(-0.4444444444444444 / Float64(t * t))) / Float64(-0.8333333333333334 - Float64(0.6666666666666666 / t))) * Float64(y * b)))))); elseif (c <= 7.809697862958332e-188) tmp = t_3; elseif (c <= 9.360673320253991e-177) tmp = 1.0; elseif (c <= 1.3704276327964007e-155) tmp = Float64(-0.5 * Float64(Float64(x / y) / Float64(b * a))); elseif (c <= 8.914894226126018e-128) tmp = Float64(x / Float64(Float64(Float64(y * b) * -1.6666666666666667) + Float64(x + y))); elseif (c <= 816724496.5545095) tmp = t_2; elseif (c <= 1.4201743830549502e+59) tmp = t_1; elseif (c <= 2.812119454569072e+142) tmp = t_2; else tmp = t_1; end return tmp end
function tmp = code(x, y, z, t, a, b, c) tmp = x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0))))))))); end
function tmp_2 = code(x, y, z, t, a, b, c) t_1 = x / (y * exp((-1.6666666666666667 * (b - c)))); t_2 = x / (x + (y * exp((c * (-1.3333333333333333 / t))))); t_3 = x / (x + (y + ((b * (y * a)) * -2.0))); tmp = 0.0; if (c <= -1.3789026442831328e-8) tmp = 1.0; elseif (c <= -4.0666517143844075e-77) tmp = t_3; elseif (c <= -4.747189572510168e-303) tmp = 1.0; elseif (c <= 2.3163471495837582e-297) tmp = (x / ((x * x) - (y * y))) * (x - y); elseif (c <= 2.750494052163473e-283) tmp = 1.0; elseif (c <= 1.4954040967811104e-226) tmp = x / (x + (y + (2.0 * (((0.6944444444444444 + (-0.4444444444444444 / (t * t))) / (-0.8333333333333334 - (0.6666666666666666 / t))) * (y * b))))); elseif (c <= 7.809697862958332e-188) tmp = t_3; elseif (c <= 9.360673320253991e-177) tmp = 1.0; elseif (c <= 1.3704276327964007e-155) tmp = -0.5 * ((x / y) / (b * a)); elseif (c <= 8.914894226126018e-128) tmp = x / (((y * b) * -1.6666666666666667) + (x + y)); elseif (c <= 816724496.5545095) tmp = t_2; elseif (c <= 1.4201743830549502e+59) tmp = t_1; elseif (c <= 2.812119454569072e+142) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_] := N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(z * N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] - N[(N[(b - c), $MachinePrecision] * N[(N[(a + N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(x / N[(y * N[Exp[N[(-1.6666666666666667 * N[(b - c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[(x + N[(y * N[Exp[N[(c * N[(-1.3333333333333333 / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x / N[(x + N[(y + N[(N[(b * N[(y * a), $MachinePrecision]), $MachinePrecision] * -2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -1.3789026442831328e-8], 1.0, If[LessEqual[c, -4.0666517143844075e-77], t$95$3, If[LessEqual[c, -4.747189572510168e-303], 1.0, If[LessEqual[c, 2.3163471495837582e-297], N[(N[(x / N[(N[(x * x), $MachinePrecision] - N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(x - y), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 2.750494052163473e-283], 1.0, If[LessEqual[c, 1.4954040967811104e-226], N[(x / N[(x + N[(y + N[(2.0 * N[(N[(N[(0.6944444444444444 + N[(-0.4444444444444444 / N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(-0.8333333333333334 - N[(0.6666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 7.809697862958332e-188], t$95$3, If[LessEqual[c, 9.360673320253991e-177], 1.0, If[LessEqual[c, 1.3704276327964007e-155], N[(-0.5 * N[(N[(x / y), $MachinePrecision] / N[(b * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 8.914894226126018e-128], N[(x / N[(N[(N[(y * b), $MachinePrecision] * -1.6666666666666667), $MachinePrecision] + N[(x + y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 816724496.5545095], t$95$2, If[LessEqual[c, 1.4201743830549502e+59], t$95$1, If[LessEqual[c, 2.812119454569072e+142], t$95$2, t$95$1]]]]]]]]]]]]]]]]
\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}
\begin{array}{l}
t_1 := \frac{x}{y \cdot e^{-1.6666666666666667 \cdot \left(b - c\right)}}\\
t_2 := \frac{x}{x + y \cdot e^{c \cdot \frac{-1.3333333333333333}{t}}}\\
t_3 := \frac{x}{x + \left(y + \left(b \cdot \left(y \cdot a\right)\right) \cdot -2\right)}\\
\mathbf{if}\;c \leq -1.3789026442831328 \cdot 10^{-8}:\\
\;\;\;\;1\\
\mathbf{elif}\;c \leq -4.0666517143844075 \cdot 10^{-77}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;c \leq -4.747189572510168 \cdot 10^{-303}:\\
\;\;\;\;1\\
\mathbf{elif}\;c \leq 2.3163471495837582 \cdot 10^{-297}:\\
\;\;\;\;\frac{x}{x \cdot x - y \cdot y} \cdot \left(x - y\right)\\
\mathbf{elif}\;c \leq 2.750494052163473 \cdot 10^{-283}:\\
\;\;\;\;1\\
\mathbf{elif}\;c \leq 1.4954040967811104 \cdot 10^{-226}:\\
\;\;\;\;\frac{x}{x + \left(y + 2 \cdot \left(\frac{0.6944444444444444 + \frac{-0.4444444444444444}{t \cdot t}}{-0.8333333333333334 - \frac{0.6666666666666666}{t}} \cdot \left(y \cdot b\right)\right)\right)}\\
\mathbf{elif}\;c \leq 7.809697862958332 \cdot 10^{-188}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;c \leq 9.360673320253991 \cdot 10^{-177}:\\
\;\;\;\;1\\
\mathbf{elif}\;c \leq 1.3704276327964007 \cdot 10^{-155}:\\
\;\;\;\;-0.5 \cdot \frac{\frac{x}{y}}{b \cdot a}\\
\mathbf{elif}\;c \leq 8.914894226126018 \cdot 10^{-128}:\\
\;\;\;\;\frac{x}{\left(y \cdot b\right) \cdot -1.6666666666666667 + \left(x + y\right)}\\
\mathbf{elif}\;c \leq 816724496.5545095:\\
\;\;\;\;t_2\\
\mathbf{elif}\;c \leq 1.4201743830549502 \cdot 10^{+59}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq 2.812119454569072 \cdot 10^{+142}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
Results
| Original | 3.9 |
|---|---|
| Target | 3.0 |
| Herbie | 29.4 |
if c < -1.37890264428313281e-8 or -4.0666517143844075e-77 < c < -4.74718957251016815e-303 or 2.31634714958375821e-297 < c < 2.750494052163473e-283 or 7.8096978629583324e-188 < c < 9.36067332025399111e-177Initial program 3.9
Taylor expanded in a around inf 21.9
Taylor expanded in x around inf 26.2
if -1.37890264428313281e-8 < c < -4.0666517143844075e-77 or 1.49540409678111035e-226 < c < 7.8096978629583324e-188Initial program 2.2
Taylor expanded in b around inf 15.1
Simplified15.1
Taylor expanded in b around 0 36.7
Taylor expanded in a around inf 36.4
Simplified36.4
if -4.74718957251016815e-303 < c < 2.31634714958375821e-297Initial program 4.2
Taylor expanded in z around inf 22.8
Taylor expanded in z around 0 36.7
Simplified36.7
Applied egg-rr34.2
if 2.750494052163473e-283 < c < 1.49540409678111035e-226Initial program 1.9
Taylor expanded in b around inf 12.4
Simplified12.4
Taylor expanded in b around 0 32.8
Taylor expanded in a around 0 32.2
Simplified32.2
Applied egg-rr31.8
if 9.36067332025399111e-177 < c < 1.37042763279640069e-155Initial program 1.4
Taylor expanded in b around inf 12.1
Simplified12.1
Taylor expanded in b around 0 37.3
Taylor expanded in a around inf 54.6
Simplified55.3
if 1.37042763279640069e-155 < c < 8.9148942261260178e-128Initial program 2.6
Taylor expanded in b around inf 12.0
Simplified12.0
Taylor expanded in b around 0 32.8
Taylor expanded in a around 0 32.2
Simplified32.2
Taylor expanded in t around inf 34.8
if 8.9148942261260178e-128 < c < 816724496.554509521 or 1.4201743830549502e59 < c < 2.8121194545690723e142Initial program 4.0
Taylor expanded in c around inf 23.0
Simplified23.0
Taylor expanded in t around 0 33.5
Taylor expanded in c around 0 33.5
Simplified33.5
if 816724496.554509521 < c < 1.4201743830549502e59 or 2.8121194545690723e142 < c Initial program 5.7
Taylor expanded in t around inf 17.3
Simplified17.3
Taylor expanded in a around 0 20.9
Taylor expanded in x around 0 25.9
Final simplification29.4
| Alternative 1 | |
|---|---|
| Error | 31.5 |
| Cost | 8956 |
| Alternative 2 | |
|---|---|
| Error | 29.9 |
| Cost | 8692 |
| Alternative 3 | |
|---|---|
| Error | 32.4 |
| Cost | 2548 |
| Alternative 4 | |
|---|---|
| Error | 33.1 |
| Cost | 2152 |
| Alternative 5 | |
|---|---|
| Error | 32.9 |
| Cost | 2152 |
| Alternative 6 | |
|---|---|
| Error | 32.2 |
| Cost | 2020 |
| Alternative 7 | |
|---|---|
| Error | 31.6 |
| Cost | 1372 |
| Alternative 8 | |
|---|---|
| Error | 32.1 |
| Cost | 1232 |
| Alternative 9 | |
|---|---|
| Error | 30.7 |
| Cost | 584 |
| Alternative 10 | |
|---|---|
| Error | 31.0 |
| Cost | 456 |
| Alternative 11 | |
|---|---|
| Error | 30.4 |
| Cost | 64 |

herbie shell --seed 2022228
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, I"
:precision binary64
:herbie-target
(if (< t -2.118326644891581e-50) (/ x (+ x (* y (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b))))))) (if (< t 5.196588770651547e-123) (/ x (+ x (* y (exp (* 2.0 (/ (- (* (* z (sqrt (+ t a))) (* (* 3.0 t) (- a (/ 5.0 6.0)))) (* (- (* (+ (/ 5.0 6.0) a) (* 3.0 t)) 2.0) (* (- a (/ 5.0 6.0)) (* (- b c) t)))) (* (* (* t t) 3.0) (- a (/ 5.0 6.0))))))))) (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))))
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))