
(FPCore (x y z t a) :precision binary64 :pre TRUE (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = x + (((y - z) * (t - x)) / (a - z)) END code
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
Herbie found 24 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 :pre TRUE (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = x + (((y - z) * (t - x)) / (a - z)) END code
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (- t (* (/ (- t x) z) (- y a)))))
(if (<= z -5.658749435392879e+164)
t_1
(if (<= z 2.8635204505841042e+125)
(fma
(* (/ 1.0 (- a z)) y)
(- t x)
(fma (/ z (- z a)) (- t x) x))
t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = t - (((t - x) / z) * (y - a));
double tmp;
if (z <= -5.658749435392879e+164) {
tmp = t_1;
} else if (z <= 2.8635204505841042e+125) {
tmp = fma(((1.0 / (a - z)) * y), (t - x), fma((z / (z - a)), (t - x), x));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(t - Float64(Float64(Float64(t - x) / z) * Float64(y - a))) tmp = 0.0 if (z <= -5.658749435392879e+164) tmp = t_1; elseif (z <= 2.8635204505841042e+125) tmp = fma(Float64(Float64(1.0 / Float64(a - z)) * y), Float64(t - x), fma(Float64(z / Float64(z - a)), Float64(t - x), x)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -5.658749435392879e+164], t$95$1, If[LessEqual[z, 2.8635204505841042e+125], N[(N[(N[(1.0 / N[(a - z), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision] * N[(t - x), $MachinePrecision] + N[(N[(z / N[(z - a), $MachinePrecision]), $MachinePrecision] * N[(t - x), $MachinePrecision] + x), $MachinePrecision]), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (t - (((t - x) / z) * (y - a))) IN LET tmp_1 = IF (z <= (286352045058410420490264139108340857458535947234372674413941038453343851907049852863794073629727222619566289550213153135001600)) THEN (((((1) / (a - z)) * y) * (t - x)) + (((z / (z - a)) * (t - x)) + x)) ELSE t_1 ENDIF IN LET tmp = IF (z <= (-565874943539287884914895127571820671345578588936487026250807561638448052822953565973623938846126855387457197767063212847655023772869254643913374663786366399026298880)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := t - \frac{t - x}{z} \cdot \left(y - a\right)\\
\mathbf{if}\;z \leq -5.658749435392879 \cdot 10^{+164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 2.8635204505841042 \cdot 10^{+125}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{a - z} \cdot y, t - x, \mathsf{fma}\left(\frac{z}{z - a}, t - x, x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if z < -5.6587494353928788e164 or 2.8635204505841042e125 < z Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Applied rewrites52.7%
if -5.6587494353928788e164 < z < 2.8635204505841042e125Initial program 67.2%
Applied rewrites87.8%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (- t (* (/ (- t x) z) (- y a)))))
(if (<= z -5.658749435392879e+164)
t_1
(if (<= z 2.8635204505841042e+125)
(fma (- t x) (/ z (- z a)) (fma (/ y (- a z)) (- t x) x))
t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = t - (((t - x) / z) * (y - a));
double tmp;
if (z <= -5.658749435392879e+164) {
tmp = t_1;
} else if (z <= 2.8635204505841042e+125) {
tmp = fma((t - x), (z / (z - a)), fma((y / (a - z)), (t - x), x));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(t - Float64(Float64(Float64(t - x) / z) * Float64(y - a))) tmp = 0.0 if (z <= -5.658749435392879e+164) tmp = t_1; elseif (z <= 2.8635204505841042e+125) tmp = fma(Float64(t - x), Float64(z / Float64(z - a)), fma(Float64(y / Float64(a - z)), Float64(t - x), x)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -5.658749435392879e+164], t$95$1, If[LessEqual[z, 2.8635204505841042e+125], N[(N[(t - x), $MachinePrecision] * N[(z / N[(z - a), $MachinePrecision]), $MachinePrecision] + N[(N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision] * N[(t - x), $MachinePrecision] + x), $MachinePrecision]), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (t - (((t - x) / z) * (y - a))) IN LET tmp_1 = IF (z <= (286352045058410420490264139108340857458535947234372674413941038453343851907049852863794073629727222619566289550213153135001600)) THEN (((t - x) * (z / (z - a))) + (((y / (a - z)) * (t - x)) + x)) ELSE t_1 ENDIF IN LET tmp = IF (z <= (-565874943539287884914895127571820671345578588936487026250807561638448052822953565973623938846126855387457197767063212847655023772869254643913374663786366399026298880)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := t - \frac{t - x}{z} \cdot \left(y - a\right)\\
\mathbf{if}\;z \leq -5.658749435392879 \cdot 10^{+164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 2.8635204505841042 \cdot 10^{+125}:\\
\;\;\;\;\mathsf{fma}\left(t - x, \frac{z}{z - a}, \mathsf{fma}\left(\frac{y}{a - z}, t - x, x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if z < -5.6587494353928788e164 or 2.8635204505841042e125 < z Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Applied rewrites52.7%
if -5.6587494353928788e164 < z < 2.8635204505841042e125Initial program 67.2%
Applied rewrites83.6%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (- t (* (/ (- t x) z) (- y a)))))
(if (<= z -5.658749435392879e+164)
t_1
(if (<= z 2.8635204505841042e+125)
(fma (- t x) (/ (- z y) (- z a)) x)
t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = t - (((t - x) / z) * (y - a));
double tmp;
if (z <= -5.658749435392879e+164) {
tmp = t_1;
} else if (z <= 2.8635204505841042e+125) {
tmp = fma((t - x), ((z - y) / (z - a)), x);
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(t - Float64(Float64(Float64(t - x) / z) * Float64(y - a))) tmp = 0.0 if (z <= -5.658749435392879e+164) tmp = t_1; elseif (z <= 2.8635204505841042e+125) tmp = fma(Float64(t - x), Float64(Float64(z - y) / Float64(z - a)), x); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -5.658749435392879e+164], t$95$1, If[LessEqual[z, 2.8635204505841042e+125], N[(N[(t - x), $MachinePrecision] * N[(N[(z - y), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (t - (((t - x) / z) * (y - a))) IN LET tmp_1 = IF (z <= (286352045058410420490264139108340857458535947234372674413941038453343851907049852863794073629727222619566289550213153135001600)) THEN (((t - x) * ((z - y) / (z - a))) + x) ELSE t_1 ENDIF IN LET tmp = IF (z <= (-565874943539287884914895127571820671345578588936487026250807561638448052822953565973623938846126855387457197767063212847655023772869254643913374663786366399026298880)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := t - \frac{t - x}{z} \cdot \left(y - a\right)\\
\mathbf{if}\;z \leq -5.658749435392879 \cdot 10^{+164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 2.8635204505841042 \cdot 10^{+125}:\\
\;\;\;\;\mathsf{fma}\left(t - x, \frac{z - y}{z - a}, x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if z < -5.6587494353928788e164 or 2.8635204505841042e125 < z Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Applied rewrites52.7%
if -5.6587494353928788e164 < z < 2.8635204505841042e125Initial program 67.2%
Applied rewrites83.6%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma (- y z) (/ t (- a z)) x))
(t_2 (- t (* (/ (- t x) z) (- y a)))))
(if (<= z -1.2741505191544434e+136)
t_2
(if (<= z -545376926289049900.0)
t_1
(if (<= z 2147915323371495200.0)
(+ x (/ (* y (- t x)) (- a z)))
(if (<= z 2.8635204505841042e+125) t_1 t_2))))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma((y - z), (t / (a - z)), x);
double t_2 = t - (((t - x) / z) * (y - a));
double tmp;
if (z <= -1.2741505191544434e+136) {
tmp = t_2;
} else if (z <= -545376926289049900.0) {
tmp = t_1;
} else if (z <= 2147915323371495200.0) {
tmp = x + ((y * (t - x)) / (a - z));
} else if (z <= 2.8635204505841042e+125) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(Float64(y - z), Float64(t / Float64(a - z)), x) t_2 = Float64(t - Float64(Float64(Float64(t - x) / z) * Float64(y - a))) tmp = 0.0 if (z <= -1.2741505191544434e+136) tmp = t_2; elseif (z <= -545376926289049900.0) tmp = t_1; elseif (z <= 2147915323371495200.0) tmp = Float64(x + Float64(Float64(y * Float64(t - x)) / Float64(a - z))); elseif (z <= 2.8635204505841042e+125) tmp = t_1; else tmp = t_2; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(y - z), $MachinePrecision] * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision]}, Block[{t$95$2 = N[(t - N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.2741505191544434e+136], t$95$2, If[LessEqual[z, -545376926289049900.0], t$95$1, If[LessEqual[z, 2147915323371495200.0], N[(x + N[(N[(y * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.8635204505841042e+125], t$95$1, t$95$2]]]]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (((y - z) * (t / (a - z))) + x) IN LET t_2 = (t - (((t - x) / z) * (y - a))) IN LET tmp_3 = IF (z <= (286352045058410420490264139108340857458535947234372674413941038453343851907049852863794073629727222619566289550213153135001600)) THEN t_1 ELSE t_2 ENDIF IN LET tmp_2 = IF (z <= (2147915323371495168)) THEN (x + ((y * (t - x)) / (a - z))) ELSE tmp_3 ENDIF IN LET tmp_1 = IF (z <= (-545376926289049920)) THEN t_1 ELSE tmp_2 ENDIF IN LET tmp = IF (z <= (-12741505191544434138798212298585525816718934927061338383238253793165645243538563745135374503493190646874231931887207904125363968943325184)) THEN t_2 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(y - z, \frac{t}{a - z}, x\right)\\
t_2 := t - \frac{t - x}{z} \cdot \left(y - a\right)\\
\mathbf{if}\;z \leq -1.2741505191544434 \cdot 10^{+136}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -545376926289049900:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 2147915323371495200:\\
\;\;\;\;x + \frac{y \cdot \left(t - x\right)}{a - z}\\
\mathbf{elif}\;z \leq 2.8635204505841042 \cdot 10^{+125}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
if z < -1.2741505191544434e136 or 2.8635204505841042e125 < z Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Applied rewrites52.7%
if -1.2741505191544434e136 < z < -545376926289049920 or 2147915323371495200 < z < 2.8635204505841042e125Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
if -545376926289049920 < z < 2147915323371495200Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites53.7%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma (- y z) (/ t (- a z)) x)))
(if (<= a -7.687419735420144e-49)
t_1
(if (<= a 2.487838901741181e+36)
(- t (* (/ (- t x) z) (- y a)))
t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma((y - z), (t / (a - z)), x);
double tmp;
if (a <= -7.687419735420144e-49) {
tmp = t_1;
} else if (a <= 2.487838901741181e+36) {
tmp = t - (((t - x) / z) * (y - a));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(Float64(y - z), Float64(t / Float64(a - z)), x) tmp = 0.0 if (a <= -7.687419735420144e-49) tmp = t_1; elseif (a <= 2.487838901741181e+36) tmp = Float64(t - Float64(Float64(Float64(t - x) / z) * Float64(y - a))); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(y - z), $MachinePrecision] * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -7.687419735420144e-49], t$95$1, If[LessEqual[a, 2.487838901741181e+36], N[(t - N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (((y - z) * (t / (a - z))) + x) IN LET tmp_1 = IF (a <= (2487838901741181000058377429762179072)) THEN (t - (((t - x) / z) * (y - a))) ELSE t_1 ENDIF IN LET tmp = IF (a <= (-76874197354201443468878190866621739448950011961305486166313976877719205424160545233490484737687745375272430458326248026222453357814146102100494317710399627685546875e-212)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(y - z, \frac{t}{a - z}, x\right)\\
\mathbf{if}\;a \leq -7.687419735420144 \cdot 10^{-49}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 2.487838901741181 \cdot 10^{+36}:\\
\;\;\;\;t - \frac{t - x}{z} \cdot \left(y - a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -7.6874197354201443e-49 or 2.487838901741181e36 < a Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
if -7.6874197354201443e-49 < a < 2.487838901741181e36Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Applied rewrites52.7%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(if (<= y -1.4893273096096436e+143)
(* (- t x) (/ y (- a z)))
(if (<= y -2832939490217844700.0)
(fma (- y z) (/ x (- z a)) x)
(if (<= y 5.96442232106266e+176)
(fma (- y z) (/ t (- a z)) x)
(* (/ (- x t) (- z a)) y)))))double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.4893273096096436e+143) {
tmp = (t - x) * (y / (a - z));
} else if (y <= -2832939490217844700.0) {
tmp = fma((y - z), (x / (z - a)), x);
} else if (y <= 5.96442232106266e+176) {
tmp = fma((y - z), (t / (a - z)), x);
} else {
tmp = ((x - t) / (z - a)) * y;
}
return tmp;
}
function code(x, y, z, t, a) tmp = 0.0 if (y <= -1.4893273096096436e+143) tmp = Float64(Float64(t - x) * Float64(y / Float64(a - z))); elseif (y <= -2832939490217844700.0) tmp = fma(Float64(y - z), Float64(x / Float64(z - a)), x); elseif (y <= 5.96442232106266e+176) tmp = fma(Float64(y - z), Float64(t / Float64(a - z)), x); else tmp = Float64(Float64(Float64(x - t) / Float64(z - a)) * y); end return tmp end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -1.4893273096096436e+143], N[(N[(t - x), $MachinePrecision] * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -2832939490217844700.0], N[(N[(y - z), $MachinePrecision] * N[(x / N[(z - a), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[y, 5.96442232106266e+176], N[(N[(y - z), $MachinePrecision] * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], N[(N[(N[(x - t), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision]]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET tmp_2 = IF (y <= (596442232106266046703090808774940667980434470852008378916902203653118243716827085281720300265885120812677278260032338373820893419292613774928152607955272384891314287548387295232)) THEN (((y - z) * (t / (a - z))) + x) ELSE (((x - t) / (z - a)) * y) ENDIF IN LET tmp_1 = IF (y <= (-2832939490217844736)) THEN (((y - z) * (x / (z - a))) + x) ELSE tmp_2 ENDIF IN LET tmp = IF (y <= (-148932730960964362900335620445351811441899357803820199677087104360100723366303485378347782073178356888942214689166578031849504058468306029379584)) THEN ((t - x) * (y / (a - z))) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;y \leq -1.4893273096096436 \cdot 10^{+143}:\\
\;\;\;\;\left(t - x\right) \cdot \frac{y}{a - z}\\
\mathbf{elif}\;y \leq -2832939490217844700:\\
\;\;\;\;\mathsf{fma}\left(y - z, \frac{x}{z - a}, x\right)\\
\mathbf{elif}\;y \leq 5.96442232106266 \cdot 10^{+176}:\\
\;\;\;\;\mathsf{fma}\left(y - z, \frac{t}{a - z}, x\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x - t}{z - a} \cdot y\\
\end{array}
if y < -1.4893273096096436e143Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites43.4%
if -1.4893273096096436e143 < y < -2832939490217844700Initial program 67.2%
Applied rewrites79.6%
Taylor expanded in x around inf
Applied rewrites40.8%
if -2832939490217844700 < y < 5.9644223210626605e176Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
if 5.9644223210626605e176 < y Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites42.1%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- y z) a) x)))
(if (<= a -1.342528679294354e+42)
t_1
(if (<= a 3.4106863261597303e-252)
(+ t (/ (* x (- y a)) z))
(if (<= a 4.940723685083182e+69)
(* (/ (- x t) (- z a)) y)
t_1)))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma(t, ((y - z) / a), x);
double tmp;
if (a <= -1.342528679294354e+42) {
tmp = t_1;
} else if (a <= 3.4106863261597303e-252) {
tmp = t + ((x * (y - a)) / z);
} else if (a <= 4.940723685083182e+69) {
tmp = ((x - t) / (z - a)) * y;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(t, Float64(Float64(y - z) / a), x) tmp = 0.0 if (a <= -1.342528679294354e+42) tmp = t_1; elseif (a <= 3.4106863261597303e-252) tmp = Float64(t + Float64(Float64(x * Float64(y - a)) / z)); elseif (a <= 4.940723685083182e+69) tmp = Float64(Float64(Float64(x - t) / Float64(z - a)) * y); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -1.342528679294354e+42], t$95$1, If[LessEqual[a, 3.4106863261597303e-252], N[(t + N[(N[(x * N[(y - a), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.940723685083182e+69], N[(N[(N[(x - t), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision], t$95$1]]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = ((t * ((y - z) / a)) + x) IN LET tmp_2 = IF (a <= (4940723685083182375395813866942042674666855107353422967943956665466880)) THEN (((x - t) / (z - a)) * y) ELSE t_1 ENDIF IN LET tmp_1 = IF (a <= (341068632615973025723217920796936957644020999046121383386672212755902878289262444954552748280503241248368280948661051205338231353527675461310854846574724035635570598804018735424583349349085547037272993136584026229550247535408980801419731085506229820520989734398279313069360935026894271043154891767358006519598928207441430943680290847611953949421737625085414992568885854773070650813067671676850015385838131353677628479950898731296472003962044028145236649031857595731912773757190409074372567274612377503667760837626016239418464371140521215539715478565527855232065570407990538340674893114697001470121684452152521771495230495929718017578125e-887)) THEN (t + ((x * (y - a)) / z)) ELSE tmp_2 ENDIF IN LET tmp = IF (a <= (-1342528679294354067913840620818205287383040)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, \frac{y - z}{a}, x\right)\\
\mathbf{if}\;a \leq -1.342528679294354 \cdot 10^{+42}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.4106863261597303 \cdot 10^{-252}:\\
\;\;\;\;t + \frac{x \cdot \left(y - a\right)}{z}\\
\mathbf{elif}\;a \leq 4.940723685083182 \cdot 10^{+69}:\\
\;\;\;\;\frac{x - t}{z - a} \cdot y\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -1.3425286792943541e42 or 4.9407236850831824e69 < a Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
Taylor expanded in z around 0
Applied rewrites43.4%
Applied rewrites45.0%
if -1.3425286792943541e42 < a < 3.4106863261597303e-252Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Taylor expanded in x around -inf
Applied rewrites42.4%
if 3.4106863261597303e-252 < a < 4.9407236850831824e69Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites42.1%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- y z) a) x)))
(if (<= a -1.342528679294354e+42)
t_1
(if (<= a 3.4106863261597303e-252)
(+ t (/ (* x (- y a)) z))
(if (<= a 4.940723685083182e+69)
(* (- t x) (/ y (- a z)))
t_1)))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma(t, ((y - z) / a), x);
double tmp;
if (a <= -1.342528679294354e+42) {
tmp = t_1;
} else if (a <= 3.4106863261597303e-252) {
tmp = t + ((x * (y - a)) / z);
} else if (a <= 4.940723685083182e+69) {
tmp = (t - x) * (y / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(t, Float64(Float64(y - z) / a), x) tmp = 0.0 if (a <= -1.342528679294354e+42) tmp = t_1; elseif (a <= 3.4106863261597303e-252) tmp = Float64(t + Float64(Float64(x * Float64(y - a)) / z)); elseif (a <= 4.940723685083182e+69) tmp = Float64(Float64(t - x) * Float64(y / Float64(a - z))); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -1.342528679294354e+42], t$95$1, If[LessEqual[a, 3.4106863261597303e-252], N[(t + N[(N[(x * N[(y - a), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.940723685083182e+69], N[(N[(t - x), $MachinePrecision] * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = ((t * ((y - z) / a)) + x) IN LET tmp_2 = IF (a <= (4940723685083182375395813866942042674666855107353422967943956665466880)) THEN ((t - x) * (y / (a - z))) ELSE t_1 ENDIF IN LET tmp_1 = IF (a <= (341068632615973025723217920796936957644020999046121383386672212755902878289262444954552748280503241248368280948661051205338231353527675461310854846574724035635570598804018735424583349349085547037272993136584026229550247535408980801419731085506229820520989734398279313069360935026894271043154891767358006519598928207441430943680290847611953949421737625085414992568885854773070650813067671676850015385838131353677628479950898731296472003962044028145236649031857595731912773757190409074372567274612377503667760837626016239418464371140521215539715478565527855232065570407990538340674893114697001470121684452152521771495230495929718017578125e-887)) THEN (t + ((x * (y - a)) / z)) ELSE tmp_2 ENDIF IN LET tmp = IF (a <= (-1342528679294354067913840620818205287383040)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, \frac{y - z}{a}, x\right)\\
\mathbf{if}\;a \leq -1.342528679294354 \cdot 10^{+42}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.4106863261597303 \cdot 10^{-252}:\\
\;\;\;\;t + \frac{x \cdot \left(y - a\right)}{z}\\
\mathbf{elif}\;a \leq 4.940723685083182 \cdot 10^{+69}:\\
\;\;\;\;\left(t - x\right) \cdot \frac{y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -1.3425286792943541e42 or 4.9407236850831824e69 < a Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
Taylor expanded in z around 0
Applied rewrites43.4%
Applied rewrites45.0%
if -1.3425286792943541e42 < a < 3.4106863261597303e-252Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Taylor expanded in x around -inf
Applied rewrites42.4%
if 3.4106863261597303e-252 < a < 4.9407236850831824e69Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites43.4%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- y z) a) x)))
(if (<= a -1.342528679294354e+42)
t_1
(if (<= a 3.6849217979184506e+36) (+ t (/ (* x (- y a)) z)) t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma(t, ((y - z) / a), x);
double tmp;
if (a <= -1.342528679294354e+42) {
tmp = t_1;
} else if (a <= 3.6849217979184506e+36) {
tmp = t + ((x * (y - a)) / z);
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(t, Float64(Float64(y - z) / a), x) tmp = 0.0 if (a <= -1.342528679294354e+42) tmp = t_1; elseif (a <= 3.6849217979184506e+36) tmp = Float64(t + Float64(Float64(x * Float64(y - a)) / z)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -1.342528679294354e+42], t$95$1, If[LessEqual[a, 3.6849217979184506e+36], N[(t + N[(N[(x * N[(y - a), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = ((t * ((y - z) / a)) + x) IN LET tmp_1 = IF (a <= (3684921797918450552725767180865503232)) THEN (t + ((x * (y - a)) / z)) ELSE t_1 ENDIF IN LET tmp = IF (a <= (-1342528679294354067913840620818205287383040)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, \frac{y - z}{a}, x\right)\\
\mathbf{if}\;a \leq -1.342528679294354 \cdot 10^{+42}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.6849217979184506 \cdot 10^{+36}:\\
\;\;\;\;t + \frac{x \cdot \left(y - a\right)}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -1.3425286792943541e42 or 3.6849217979184506e36 < a Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
Taylor expanded in z around 0
Applied rewrites43.4%
Applied rewrites45.0%
if -1.3425286792943541e42 < a < 3.6849217979184506e36Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Taylor expanded in x around -inf
Applied rewrites42.4%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- y z) a) x)))
(if (<= a -7.152887946301167e+64)
t_1
(if (<= a 5.957089289270708e-55)
(* t (- (/ y (- a z)) -1.0))
t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma(t, ((y - z) / a), x);
double tmp;
if (a <= -7.152887946301167e+64) {
tmp = t_1;
} else if (a <= 5.957089289270708e-55) {
tmp = t * ((y / (a - z)) - -1.0);
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(t, Float64(Float64(y - z) / a), x) tmp = 0.0 if (a <= -7.152887946301167e+64) tmp = t_1; elseif (a <= 5.957089289270708e-55) tmp = Float64(t * Float64(Float64(y / Float64(a - z)) - -1.0)); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -7.152887946301167e+64], t$95$1, If[LessEqual[a, 5.957089289270708e-55], N[(t * N[(N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = ((t * ((y - z) / a)) + x) IN LET tmp_1 = IF (a <= (59570892892707079979069301957196834118909245116076858189167199508249055725509774575654245656897462056131983794607498970911173388681071985163717474875966217950917780399322509765625e-233)) THEN (t * ((y / (a - z)) - (-1))) ELSE t_1 ENDIF IN LET tmp = IF (a <= (-71528879463011672561405186213950320938318237317649560436689862656)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, \frac{y - z}{a}, x\right)\\
\mathbf{if}\;a \leq -7.152887946301167 \cdot 10^{+64}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 5.957089289270708 \cdot 10^{-55}:\\
\;\;\;\;t \cdot \left(\frac{y}{a - z} - -1\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -7.1528879463011673e64 or 5.957089289270708e-55 < a Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
Taylor expanded in z around 0
Applied rewrites43.4%
Applied rewrites45.0%
if -7.1528879463011673e64 < a < 5.957089289270708e-55Initial program 67.2%
Taylor expanded in t around inf
Applied rewrites52.9%
Taylor expanded in z around inf
Applied rewrites42.8%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- y z) a) x)))
(if (<= a -2.3242574789394824e-9)
t_1
(if (<= a 1.7290451020898444e-62) (fma (- a y) (/ t z) t) t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma(t, ((y - z) / a), x);
double tmp;
if (a <= -2.3242574789394824e-9) {
tmp = t_1;
} else if (a <= 1.7290451020898444e-62) {
tmp = fma((a - y), (t / z), t);
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(t, Float64(Float64(y - z) / a), x) tmp = 0.0 if (a <= -2.3242574789394824e-9) tmp = t_1; elseif (a <= 1.7290451020898444e-62) tmp = fma(Float64(a - y), Float64(t / z), t); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -2.3242574789394824e-9], t$95$1, If[LessEqual[a, 1.7290451020898444e-62], N[(N[(a - y), $MachinePrecision] * N[(t / z), $MachinePrecision] + t), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = ((t * ((y - z) / a)) + x) IN LET tmp_1 = IF (a <= (1729045102089844364551349015266822322110990415503331809115178825398771579519365463577275152978801958673922462765098699181285518692345890606227843899091851063987146375211523263715207576751708984375e-257)) THEN (((a - y) * (t / z)) + t) ELSE t_1 ENDIF IN LET tmp = IF (a <= (-2324257478939482426518321113591801496678357352720922790467739105224609375e-81)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, \frac{y - z}{a}, x\right)\\
\mathbf{if}\;a \leq -2.3242574789394824 \cdot 10^{-9}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 1.7290451020898444 \cdot 10^{-62}:\\
\;\;\;\;\mathsf{fma}\left(a - y, \frac{t}{z}, t\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -2.3242574789394824e-9 or 1.7290451020898444e-62 < a Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
Taylor expanded in z around 0
Applied rewrites43.4%
Applied rewrites45.0%
if -2.3242574789394824e-9 < a < 1.7290451020898444e-62Initial program 67.2%
Taylor expanded in z around -inf
Applied rewrites46.8%
Applied rewrites52.7%
Taylor expanded in x around 0
Applied rewrites35.8%
Applied rewrites35.8%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- y z) a) x)))
(if (<= a -8.462590972365703e-10)
t_1
(if (<= a 3.149473746735766e-127) (* (/ (- x t) z) y) t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma(t, ((y - z) / a), x);
double tmp;
if (a <= -8.462590972365703e-10) {
tmp = t_1;
} else if (a <= 3.149473746735766e-127) {
tmp = ((x - t) / z) * y;
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(t, Float64(Float64(y - z) / a), x) tmp = 0.0 if (a <= -8.462590972365703e-10) tmp = t_1; elseif (a <= 3.149473746735766e-127) tmp = Float64(Float64(Float64(x - t) / z) * y); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[a, -8.462590972365703e-10], t$95$1, If[LessEqual[a, 3.149473746735766e-127], N[(N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision] * y), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = ((t * ((y - z) / a)) + x) IN LET tmp_1 = IF (a <= (31494737467357658268444477796974361579067834170414720370976473477713298356829114244590707881786666910164819687233347395935566712772752479427965311795545473663481400797737718816624189660368976568003445080953938357375729300133982132289902487772771646681038747067141219761818338453708675721326680035841761337404853815513661174918524920940399169921875e-473)) THEN (((x - t) / z) * y) ELSE t_1 ENDIF IN LET tmp = IF (a <= (-84625909723657026509241364057851801649956513529104995541274547576904296875e-83)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, \frac{y - z}{a}, x\right)\\
\mathbf{if}\;a \leq -8.462590972365703 \cdot 10^{-10}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.149473746735766 \cdot 10^{-127}:\\
\;\;\;\;\frac{x - t}{z} \cdot y\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -8.4625909723657027e-10 or 3.1494737467357658e-127 < a Initial program 67.2%
Taylor expanded in x around 0
Applied rewrites55.3%
Applied rewrites63.8%
Taylor expanded in z around 0
Applied rewrites43.4%
Applied rewrites45.0%
if -8.4625909723657027e-10 < a < 3.1494737467357658e-127Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites42.1%
Taylor expanded in z around inf
Applied rewrites25.5%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (+ x (* t (/ y a)))))
(if (<= a -1.742608455713368e-11)
t_1
(if (<= a 3.0604806497074427e-127) (* (/ (- x t) z) y) t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t * (y / a));
double tmp;
if (a <= -1.742608455713368e-11) {
tmp = t_1;
} else if (a <= 3.0604806497074427e-127) {
tmp = ((x - t) / z) * y;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: t_1
real(8) :: tmp
t_1 = x + (t * (y / a))
if (a <= (-1.742608455713368d-11)) then
tmp = t_1
else if (a <= 3.0604806497074427d-127) then
tmp = ((x - t) / z) * y
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t * (y / a));
double tmp;
if (a <= -1.742608455713368e-11) {
tmp = t_1;
} else if (a <= 3.0604806497074427e-127) {
tmp = ((x - t) / z) * y;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (t * (y / a)) tmp = 0 if a <= -1.742608455713368e-11: tmp = t_1 elif a <= 3.0604806497074427e-127: tmp = ((x - t) / z) * y else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(t * Float64(y / a))) tmp = 0.0 if (a <= -1.742608455713368e-11) tmp = t_1; elseif (a <= 3.0604806497074427e-127) tmp = Float64(Float64(Float64(x - t) / z) * y); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (t * (y / a)); tmp = 0.0; if (a <= -1.742608455713368e-11) tmp = t_1; elseif (a <= 3.0604806497074427e-127) tmp = ((x - t) / z) * y; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.742608455713368e-11], t$95$1, If[LessEqual[a, 3.0604806497074427e-127], N[(N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision] * y), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (x + (t * (y / a))) IN LET tmp_1 = IF (a <= (30604806497074426735615028169109732087552580892378732421906697401589379908245344447818287802755145229113300903734493679244444045183057649280889749440423501215584940943254009713681610459992278186671111414432611857364002217883230282204518003069811238273755092333875899229898696393300216395741207210025804801890869644154236084432341158390045166015625e-473)) THEN (((x - t) / z) * y) ELSE t_1 ENDIF IN LET tmp = IF (a <= (-174260845571336813338742060119432720870225050902035945910029113292694091796875e-88)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := x + t \cdot \frac{y}{a}\\
\mathbf{if}\;a \leq -1.742608455713368 \cdot 10^{-11}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.0604806497074427 \cdot 10^{-127}:\\
\;\;\;\;\frac{x - t}{z} \cdot y\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -1.7426084557133681e-11 or 3.0604806497074427e-127 < a Initial program 67.2%
Taylor expanded in z around 0
Applied rewrites43.3%
Applied rewrites48.2%
Taylor expanded in x around 0
Applied rewrites40.6%
if -1.7426084557133681e-11 < a < 3.0604806497074427e-127Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites42.1%
Taylor expanded in z around inf
Applied rewrites25.5%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(if (<= a -1.6162588213476134e+64)
(* (/ (- a y) a) x)
(if (<= a 7.691691775103464e-20)
(* (/ (- x t) z) y)
(if (<= a 1.3319650690096113e+76)
(* y (/ (- t x) a))
(* x (- 1.0 (/ y a)))))))double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.6162588213476134e+64) {
tmp = ((a - y) / a) * x;
} else if (a <= 7.691691775103464e-20) {
tmp = ((x - t) / z) * y;
} else if (a <= 1.3319650690096113e+76) {
tmp = y * ((t - x) / a);
} else {
tmp = x * (1.0 - (y / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: tmp
if (a <= (-1.6162588213476134d+64)) then
tmp = ((a - y) / a) * x
else if (a <= 7.691691775103464d-20) then
tmp = ((x - t) / z) * y
else if (a <= 1.3319650690096113d+76) then
tmp = y * ((t - x) / a)
else
tmp = x * (1.0d0 - (y / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.6162588213476134e+64) {
tmp = ((a - y) / a) * x;
} else if (a <= 7.691691775103464e-20) {
tmp = ((x - t) / z) * y;
} else if (a <= 1.3319650690096113e+76) {
tmp = y * ((t - x) / a);
} else {
tmp = x * (1.0 - (y / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.6162588213476134e+64: tmp = ((a - y) / a) * x elif a <= 7.691691775103464e-20: tmp = ((x - t) / z) * y elif a <= 1.3319650690096113e+76: tmp = y * ((t - x) / a) else: tmp = x * (1.0 - (y / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.6162588213476134e+64) tmp = Float64(Float64(Float64(a - y) / a) * x); elseif (a <= 7.691691775103464e-20) tmp = Float64(Float64(Float64(x - t) / z) * y); elseif (a <= 1.3319650690096113e+76) tmp = Float64(y * Float64(Float64(t - x) / a)); else tmp = Float64(x * Float64(1.0 - Float64(y / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.6162588213476134e+64) tmp = ((a - y) / a) * x; elseif (a <= 7.691691775103464e-20) tmp = ((x - t) / z) * y; elseif (a <= 1.3319650690096113e+76) tmp = y * ((t - x) / a); else tmp = x * (1.0 - (y / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.6162588213476134e+64], N[(N[(N[(a - y), $MachinePrecision] / a), $MachinePrecision] * x), $MachinePrecision], If[LessEqual[a, 7.691691775103464e-20], N[(N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision] * y), $MachinePrecision], If[LessEqual[a, 1.3319650690096113e+76], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET tmp_2 = IF (a <= (13319650690096112914647441007280895669612208528097882334406670138178646573056)) THEN (y * ((t - x) / a)) ELSE (x * ((1) - (y / a))) ENDIF IN LET tmp_1 = IF (a <= (769169177510346389916173215380569980060763877987344764967925225818135004374198615550994873046875e-115)) THEN (((x - t) / z) * y) ELSE tmp_2 ENDIF IN LET tmp = IF (a <= (-16162588213476134179186745119895376560692215594803540075275616256)) THEN (((a - y) / a) * x) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;a \leq -1.6162588213476134 \cdot 10^{+64}:\\
\;\;\;\;\frac{a - y}{a} \cdot x\\
\mathbf{elif}\;a \leq 7.691691775103464 \cdot 10^{-20}:\\
\;\;\;\;\frac{x - t}{z} \cdot y\\
\mathbf{elif}\;a \leq 1.3319650690096113 \cdot 10^{+76}:\\
\;\;\;\;y \cdot \frac{t - x}{a}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\end{array}
if a < -1.6162588213476134e64Initial program 67.2%
Applied rewrites77.5%
Taylor expanded in x around inf
Applied rewrites50.6%
Taylor expanded in z around 0
Applied rewrites35.4%
Applied rewrites35.4%
if -1.6162588213476134e64 < a < 7.6916917751034639e-20Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites42.1%
Taylor expanded in z around inf
Applied rewrites25.5%
if 7.6916917751034639e-20 < a < 1.3319650690096113e76Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Taylor expanded in a around inf
Applied rewrites25.8%
if 1.3319650690096113e76 < a Initial program 67.2%
Applied rewrites77.5%
Taylor expanded in x around inf
Applied rewrites50.6%
Taylor expanded in z around 0
Applied rewrites35.4%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (* (/ (- a y) a) x)))
(if (<= a -1.6162588213476134e+64)
t_1
(if (<= a 7.691691775103464e-20)
(* (/ (- x t) z) y)
(if (<= a 1.3319650690096113e+76) (* y (/ (- t x) a)) t_1)))))double code(double x, double y, double z, double t, double a) {
double t_1 = ((a - y) / a) * x;
double tmp;
if (a <= -1.6162588213476134e+64) {
tmp = t_1;
} else if (a <= 7.691691775103464e-20) {
tmp = ((x - t) / z) * y;
} else if (a <= 1.3319650690096113e+76) {
tmp = y * ((t - x) / a);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: t_1
real(8) :: tmp
t_1 = ((a - y) / a) * x
if (a <= (-1.6162588213476134d+64)) then
tmp = t_1
else if (a <= 7.691691775103464d-20) then
tmp = ((x - t) / z) * y
else if (a <= 1.3319650690096113d+76) then
tmp = y * ((t - x) / a)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = ((a - y) / a) * x;
double tmp;
if (a <= -1.6162588213476134e+64) {
tmp = t_1;
} else if (a <= 7.691691775103464e-20) {
tmp = ((x - t) / z) * y;
} else if (a <= 1.3319650690096113e+76) {
tmp = y * ((t - x) / a);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = ((a - y) / a) * x tmp = 0 if a <= -1.6162588213476134e+64: tmp = t_1 elif a <= 7.691691775103464e-20: tmp = ((x - t) / z) * y elif a <= 1.3319650690096113e+76: tmp = y * ((t - x) / a) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(Float64(Float64(a - y) / a) * x) tmp = 0.0 if (a <= -1.6162588213476134e+64) tmp = t_1; elseif (a <= 7.691691775103464e-20) tmp = Float64(Float64(Float64(x - t) / z) * y); elseif (a <= 1.3319650690096113e+76) tmp = Float64(y * Float64(Float64(t - x) / a)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = ((a - y) / a) * x; tmp = 0.0; if (a <= -1.6162588213476134e+64) tmp = t_1; elseif (a <= 7.691691775103464e-20) tmp = ((x - t) / z) * y; elseif (a <= 1.3319650690096113e+76) tmp = y * ((t - x) / a); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(N[(a - y), $MachinePrecision] / a), $MachinePrecision] * x), $MachinePrecision]}, If[LessEqual[a, -1.6162588213476134e+64], t$95$1, If[LessEqual[a, 7.691691775103464e-20], N[(N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision] * y), $MachinePrecision], If[LessEqual[a, 1.3319650690096113e+76], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (((a - y) / a) * x) IN LET tmp_2 = IF (a <= (13319650690096112914647441007280895669612208528097882334406670138178646573056)) THEN (y * ((t - x) / a)) ELSE t_1 ENDIF IN LET tmp_1 = IF (a <= (769169177510346389916173215380569980060763877987344764967925225818135004374198615550994873046875e-115)) THEN (((x - t) / z) * y) ELSE tmp_2 ENDIF IN LET tmp = IF (a <= (-16162588213476134179186745119895376560692215594803540075275616256)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \frac{a - y}{a} \cdot x\\
\mathbf{if}\;a \leq -1.6162588213476134 \cdot 10^{+64}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 7.691691775103464 \cdot 10^{-20}:\\
\;\;\;\;\frac{x - t}{z} \cdot y\\
\mathbf{elif}\;a \leq 1.3319650690096113 \cdot 10^{+76}:\\
\;\;\;\;y \cdot \frac{t - x}{a}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -1.6162588213476134e64 or 1.3319650690096113e76 < a Initial program 67.2%
Applied rewrites77.5%
Taylor expanded in x around inf
Applied rewrites50.6%
Taylor expanded in z around 0
Applied rewrites35.4%
Applied rewrites35.4%
if -1.6162588213476134e64 < a < 7.6916917751034639e-20Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites42.1%
Taylor expanded in z around inf
Applied rewrites25.5%
if 7.6916917751034639e-20 < a < 1.3319650690096113e76Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Taylor expanded in a around inf
Applied rewrites25.8%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (* y (/ (- t x) a))))
(if (<= a -1.0573031963515148e+114)
(* x 1.0)
(if (<= a -6.125365941638943e-9)
t_1
(if (<= a 7.691691775103464e-20)
(* (/ (- x t) z) y)
(if (<= a 4.147299749583203e+147) t_1 (* x 1.0)))))))double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((t - x) / a);
double tmp;
if (a <= -1.0573031963515148e+114) {
tmp = x * 1.0;
} else if (a <= -6.125365941638943e-9) {
tmp = t_1;
} else if (a <= 7.691691775103464e-20) {
tmp = ((x - t) / z) * y;
} else if (a <= 4.147299749583203e+147) {
tmp = t_1;
} else {
tmp = x * 1.0;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: t_1
real(8) :: tmp
t_1 = y * ((t - x) / a)
if (a <= (-1.0573031963515148d+114)) then
tmp = x * 1.0d0
else if (a <= (-6.125365941638943d-9)) then
tmp = t_1
else if (a <= 7.691691775103464d-20) then
tmp = ((x - t) / z) * y
else if (a <= 4.147299749583203d+147) then
tmp = t_1
else
tmp = x * 1.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((t - x) / a);
double tmp;
if (a <= -1.0573031963515148e+114) {
tmp = x * 1.0;
} else if (a <= -6.125365941638943e-9) {
tmp = t_1;
} else if (a <= 7.691691775103464e-20) {
tmp = ((x - t) / z) * y;
} else if (a <= 4.147299749583203e+147) {
tmp = t_1;
} else {
tmp = x * 1.0;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((t - x) / a) tmp = 0 if a <= -1.0573031963515148e+114: tmp = x * 1.0 elif a <= -6.125365941638943e-9: tmp = t_1 elif a <= 7.691691775103464e-20: tmp = ((x - t) / z) * y elif a <= 4.147299749583203e+147: tmp = t_1 else: tmp = x * 1.0 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(t - x) / a)) tmp = 0.0 if (a <= -1.0573031963515148e+114) tmp = Float64(x * 1.0); elseif (a <= -6.125365941638943e-9) tmp = t_1; elseif (a <= 7.691691775103464e-20) tmp = Float64(Float64(Float64(x - t) / z) * y); elseif (a <= 4.147299749583203e+147) tmp = t_1; else tmp = Float64(x * 1.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((t - x) / a); tmp = 0.0; if (a <= -1.0573031963515148e+114) tmp = x * 1.0; elseif (a <= -6.125365941638943e-9) tmp = t_1; elseif (a <= 7.691691775103464e-20) tmp = ((x - t) / z) * y; elseif (a <= 4.147299749583203e+147) tmp = t_1; else tmp = x * 1.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.0573031963515148e+114], N[(x * 1.0), $MachinePrecision], If[LessEqual[a, -6.125365941638943e-9], t$95$1, If[LessEqual[a, 7.691691775103464e-20], N[(N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision] * y), $MachinePrecision], If[LessEqual[a, 4.147299749583203e+147], t$95$1, N[(x * 1.0), $MachinePrecision]]]]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (y * ((t - x) / a)) IN LET tmp_3 = IF (a <= (4147299749583203120421558305448312751908181217847041342675424657963664869079392550372041680436277157852404702606899931198928844905910905953530675200)) THEN t_1 ELSE (x * (1)) ENDIF IN LET tmp_2 = IF (a <= (769169177510346389916173215380569980060763877987344764967925225818135004374198615550994873046875e-115)) THEN (((x - t) / z) * y) ELSE tmp_3 ENDIF IN LET tmp_1 = IF (a <= (-61253659416389430148460894351609973274008780208532698452472686767578125e-79)) THEN t_1 ELSE tmp_2 ENDIF IN LET tmp = IF (a <= (-1057303196351514839504633737173735911557564864036255200394503615696329522511043575844920885298117355544947678248960)) THEN (x * (1)) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := y \cdot \frac{t - x}{a}\\
\mathbf{if}\;a \leq -1.0573031963515148 \cdot 10^{+114}:\\
\;\;\;\;x \cdot 1\\
\mathbf{elif}\;a \leq -6.125365941638943 \cdot 10^{-9}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 7.691691775103464 \cdot 10^{-20}:\\
\;\;\;\;\frac{x - t}{z} \cdot y\\
\mathbf{elif}\;a \leq 4.147299749583203 \cdot 10^{+147}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x \cdot 1\\
\end{array}
if a < -1.0573031963515148e114 or 4.1472997495832031e147 < a Initial program 67.2%
Taylor expanded in x around -inf
Applied rewrites46.1%
Taylor expanded in y around 0
Applied rewrites24.6%
Taylor expanded in z around 0
Applied rewrites24.4%
if -1.0573031963515148e114 < a < -6.125365941638943e-9 or 7.6916917751034639e-20 < a < 4.1472997495832031e147Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Taylor expanded in a around inf
Applied rewrites25.8%
if -6.125365941638943e-9 < a < 7.6916917751034639e-20Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites42.1%
Taylor expanded in z around inf
Applied rewrites25.5%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= y -1.531587912663493e+143) (* y (/ t (- a z))) (if (<= y 5.96442232106266e+176) (+ x t) (* x (/ y (- z a))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = y * (t / (a - z));
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = x * (y / (z - a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: tmp
if (y <= (-1.531587912663493d+143)) then
tmp = y * (t / (a - z))
else if (y <= 5.96442232106266d+176) then
tmp = x + t
else
tmp = x * (y / (z - a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = y * (t / (a - z));
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = x * (y / (z - a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -1.531587912663493e+143: tmp = y * (t / (a - z)) elif y <= 5.96442232106266e+176: tmp = x + t else: tmp = x * (y / (z - a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -1.531587912663493e+143) tmp = Float64(y * Float64(t / Float64(a - z))); elseif (y <= 5.96442232106266e+176) tmp = Float64(x + t); else tmp = Float64(x * Float64(y / Float64(z - a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -1.531587912663493e+143) tmp = y * (t / (a - z)); elseif (y <= 5.96442232106266e+176) tmp = x + t; else tmp = x * (y / (z - a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -1.531587912663493e+143], N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.96442232106266e+176], N[(x + t), $MachinePrecision], N[(x * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET tmp_1 = IF (y <= (596442232106266046703090808774940667980434470852008378916902203653118243716827085281720300265885120812677278260032338373820893419292613774928152607955272384891314287548387295232)) THEN (x + t) ELSE (x * (y / (z - a))) ENDIF IN LET tmp = IF (y <= (-153158791266349302059067134646143137419441199017939972137454829263741356177562549975168567005190735022490714260833519588217537330168093707599872)) THEN (y * (t / (a - z))) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;y \leq -1.531587912663493 \cdot 10^{+143}:\\
\;\;\;\;y \cdot \frac{t}{a - z}\\
\mathbf{elif}\;y \leq 5.96442232106266 \cdot 10^{+176}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{y}{z - a}\\
\end{array}
if y < -1.531587912663493e143Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Taylor expanded in x around 0
Applied rewrites23.5%
if -1.531587912663493e143 < y < 5.9644223210626605e176Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
if 5.9644223210626605e176 < y Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Applied rewrites42.1%
Taylor expanded in x around inf
Applied rewrites21.1%
Applied rewrites24.1%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= y -1.531587912663493e+143) (* y (/ t (- a z))) (if (<= y 5.96442232106266e+176) (+ x t) (* x (/ y z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = y * (t / (a - z));
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = x * (y / z);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: tmp
if (y <= (-1.531587912663493d+143)) then
tmp = y * (t / (a - z))
else if (y <= 5.96442232106266d+176) then
tmp = x + t
else
tmp = x * (y / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = y * (t / (a - z));
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = x * (y / z);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -1.531587912663493e+143: tmp = y * (t / (a - z)) elif y <= 5.96442232106266e+176: tmp = x + t else: tmp = x * (y / z) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -1.531587912663493e+143) tmp = Float64(y * Float64(t / Float64(a - z))); elseif (y <= 5.96442232106266e+176) tmp = Float64(x + t); else tmp = Float64(x * Float64(y / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -1.531587912663493e+143) tmp = y * (t / (a - z)); elseif (y <= 5.96442232106266e+176) tmp = x + t; else tmp = x * (y / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -1.531587912663493e+143], N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.96442232106266e+176], N[(x + t), $MachinePrecision], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET tmp_1 = IF (y <= (596442232106266046703090808774940667980434470852008378916902203653118243716827085281720300265885120812677278260032338373820893419292613774928152607955272384891314287548387295232)) THEN (x + t) ELSE (x * (y / z)) ENDIF IN LET tmp = IF (y <= (-153158791266349302059067134646143137419441199017939972137454829263741356177562549975168567005190735022490714260833519588217537330168093707599872)) THEN (y * (t / (a - z))) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;y \leq -1.531587912663493 \cdot 10^{+143}:\\
\;\;\;\;y \cdot \frac{t}{a - z}\\
\mathbf{elif}\;y \leq 5.96442232106266 \cdot 10^{+176}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\end{array}
if y < -1.531587912663493e143Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Taylor expanded in x around 0
Applied rewrites23.5%
if -1.531587912663493e143 < y < 5.9644223210626605e176Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
if 5.9644223210626605e176 < y Initial program 67.2%
Taylor expanded in x around -inf
Applied rewrites46.1%
Taylor expanded in a around 0
Applied rewrites16.5%
Applied rewrites18.9%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= y -1.531587912663493e+143) (/ (* t y) (- a z)) (if (<= y 5.96442232106266e+176) (+ x t) (* x (/ y z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = (t * y) / (a - z);
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = x * (y / z);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: tmp
if (y <= (-1.531587912663493d+143)) then
tmp = (t * y) / (a - z)
else if (y <= 5.96442232106266d+176) then
tmp = x + t
else
tmp = x * (y / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = (t * y) / (a - z);
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = x * (y / z);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -1.531587912663493e+143: tmp = (t * y) / (a - z) elif y <= 5.96442232106266e+176: tmp = x + t else: tmp = x * (y / z) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -1.531587912663493e+143) tmp = Float64(Float64(t * y) / Float64(a - z)); elseif (y <= 5.96442232106266e+176) tmp = Float64(x + t); else tmp = Float64(x * Float64(y / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -1.531587912663493e+143) tmp = (t * y) / (a - z); elseif (y <= 5.96442232106266e+176) tmp = x + t; else tmp = x * (y / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -1.531587912663493e+143], N[(N[(t * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.96442232106266e+176], N[(x + t), $MachinePrecision], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET tmp_1 = IF (y <= (596442232106266046703090808774940667980434470852008378916902203653118243716827085281720300265885120812677278260032338373820893419292613774928152607955272384891314287548387295232)) THEN (x + t) ELSE (x * (y / z)) ENDIF IN LET tmp = IF (y <= (-153158791266349302059067134646143137419441199017939972137454829263741356177562549975168567005190735022490714260833519588217537330168093707599872)) THEN ((t * y) / (a - z)) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;y \leq -1.531587912663493 \cdot 10^{+143}:\\
\;\;\;\;\frac{t \cdot y}{a - z}\\
\mathbf{elif}\;y \leq 5.96442232106266 \cdot 10^{+176}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\end{array}
if y < -1.531587912663493e143Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Taylor expanded in x around 0
Applied rewrites21.5%
if -1.531587912663493e143 < y < 5.9644223210626605e176Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
if 5.9644223210626605e176 < y Initial program 67.2%
Taylor expanded in x around -inf
Applied rewrites46.1%
Taylor expanded in a around 0
Applied rewrites16.5%
Applied rewrites18.9%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= y -1.4893273096096436e+143) (* t (/ y a)) (if (<= y 5.96442232106266e+176) (+ x t) (* x (/ y z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.4893273096096436e+143) {
tmp = t * (y / a);
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = x * (y / z);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: tmp
if (y <= (-1.4893273096096436d+143)) then
tmp = t * (y / a)
else if (y <= 5.96442232106266d+176) then
tmp = x + t
else
tmp = x * (y / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.4893273096096436e+143) {
tmp = t * (y / a);
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = x * (y / z);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -1.4893273096096436e+143: tmp = t * (y / a) elif y <= 5.96442232106266e+176: tmp = x + t else: tmp = x * (y / z) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -1.4893273096096436e+143) tmp = Float64(t * Float64(y / a)); elseif (y <= 5.96442232106266e+176) tmp = Float64(x + t); else tmp = Float64(x * Float64(y / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -1.4893273096096436e+143) tmp = t * (y / a); elseif (y <= 5.96442232106266e+176) tmp = x + t; else tmp = x * (y / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -1.4893273096096436e+143], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.96442232106266e+176], N[(x + t), $MachinePrecision], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET tmp_1 = IF (y <= (596442232106266046703090808774940667980434470852008378916902203653118243716827085281720300265885120812677278260032338373820893419292613774928152607955272384891314287548387295232)) THEN (x + t) ELSE (x * (y / z)) ENDIF IN LET tmp = IF (y <= (-148932730960964362900335620445351811441899357803820199677087104360100723366303485378347782073178356888942214689166578031849504058468306029379584)) THEN (t * (y / a)) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;y \leq -1.4893273096096436 \cdot 10^{+143}:\\
\;\;\;\;t \cdot \frac{y}{a}\\
\mathbf{elif}\;y \leq 5.96442232106266 \cdot 10^{+176}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\end{array}
if y < -1.4893273096096436e143Initial program 67.2%
Taylor expanded in y around inf
Applied rewrites41.7%
Taylor expanded in x around 0
Applied rewrites21.5%
Taylor expanded in z around 0
Applied rewrites16.6%
Applied rewrites19.3%
if -1.4893273096096436e143 < y < 5.9644223210626605e176Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
if 5.9644223210626605e176 < y Initial program 67.2%
Taylor expanded in x around -inf
Applied rewrites46.1%
Taylor expanded in a around 0
Applied rewrites16.5%
Applied rewrites18.9%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (* x (/ y z))))
(if (<= y -2.526723922218976e+59)
t_1
(if (<= y 5.96442232106266e+176) (+ x t) t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = x * (y / z);
double tmp;
if (y <= -2.526723922218976e+59) {
tmp = t_1;
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: t_1
real(8) :: tmp
t_1 = x * (y / z)
if (y <= (-2.526723922218976d+59)) then
tmp = t_1
else if (y <= 5.96442232106266d+176) then
tmp = x + t
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x * (y / z);
double tmp;
if (y <= -2.526723922218976e+59) {
tmp = t_1;
} else if (y <= 5.96442232106266e+176) {
tmp = x + t;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * (y / z) tmp = 0 if y <= -2.526723922218976e+59: tmp = t_1 elif y <= 5.96442232106266e+176: tmp = x + t else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(y / z)) tmp = 0.0 if (y <= -2.526723922218976e+59) tmp = t_1; elseif (y <= 5.96442232106266e+176) tmp = Float64(x + t); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * (y / z); tmp = 0.0; if (y <= -2.526723922218976e+59) tmp = t_1; elseif (y <= 5.96442232106266e+176) tmp = x + t; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.526723922218976e+59], t$95$1, If[LessEqual[y, 5.96442232106266e+176], N[(x + t), $MachinePrecision], t$95$1]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET t_1 = (x * (y / z)) IN LET tmp_1 = IF (y <= (596442232106266046703090808774940667980434470852008378916902203653118243716827085281720300265885120812677278260032338373820893419292613774928152607955272384891314287548387295232)) THEN (x + t) ELSE t_1 ENDIF IN LET tmp = IF (y <= (-252672392221897583665082411349755371582910713339517750738944)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := x \cdot \frac{y}{z}\\
\mathbf{if}\;y \leq -2.526723922218976 \cdot 10^{+59}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 5.96442232106266 \cdot 10^{+176}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if y < -2.5267239222189758e59 or 5.9644223210626605e176 < y Initial program 67.2%
Taylor expanded in x around -inf
Applied rewrites46.1%
Taylor expanded in a around 0
Applied rewrites16.5%
Applied rewrites18.9%
if -2.5267239222189758e59 < y < 5.9644223210626605e176Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(if (<= a -2.341161945684198e+153)
(* x 1.0)
(if (<= a -1.039988862863241e-101)
(+ x t)
(if (<= a 8402868895.534154)
(+ 0.0 t)
(if (<= a 4.988986641920986e+183) (+ x t) (* x 1.0))))))double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.341161945684198e+153) {
tmp = x * 1.0;
} else if (a <= -1.039988862863241e-101) {
tmp = x + t;
} else if (a <= 8402868895.534154) {
tmp = 0.0 + t;
} else if (a <= 4.988986641920986e+183) {
tmp = x + t;
} else {
tmp = x * 1.0;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: tmp
if (a <= (-2.341161945684198d+153)) then
tmp = x * 1.0d0
else if (a <= (-1.039988862863241d-101)) then
tmp = x + t
else if (a <= 8402868895.534154d0) then
tmp = 0.0d0 + t
else if (a <= 4.988986641920986d+183) then
tmp = x + t
else
tmp = x * 1.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.341161945684198e+153) {
tmp = x * 1.0;
} else if (a <= -1.039988862863241e-101) {
tmp = x + t;
} else if (a <= 8402868895.534154) {
tmp = 0.0 + t;
} else if (a <= 4.988986641920986e+183) {
tmp = x + t;
} else {
tmp = x * 1.0;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -2.341161945684198e+153: tmp = x * 1.0 elif a <= -1.039988862863241e-101: tmp = x + t elif a <= 8402868895.534154: tmp = 0.0 + t elif a <= 4.988986641920986e+183: tmp = x + t else: tmp = x * 1.0 return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -2.341161945684198e+153) tmp = Float64(x * 1.0); elseif (a <= -1.039988862863241e-101) tmp = Float64(x + t); elseif (a <= 8402868895.534154) tmp = Float64(0.0 + t); elseif (a <= 4.988986641920986e+183) tmp = Float64(x + t); else tmp = Float64(x * 1.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -2.341161945684198e+153) tmp = x * 1.0; elseif (a <= -1.039988862863241e-101) tmp = x + t; elseif (a <= 8402868895.534154) tmp = 0.0 + t; elseif (a <= 4.988986641920986e+183) tmp = x + t; else tmp = x * 1.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2.341161945684198e+153], N[(x * 1.0), $MachinePrecision], If[LessEqual[a, -1.039988862863241e-101], N[(x + t), $MachinePrecision], If[LessEqual[a, 8402868895.534154], N[(0.0 + t), $MachinePrecision], If[LessEqual[a, 4.988986641920986e+183], N[(x + t), $MachinePrecision], N[(x * 1.0), $MachinePrecision]]]]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET tmp_3 = IF (a <= (4988986641920985938466169792183497807102416866876192698782647024627962002160565666281005102475733907571230562088197220108179102431293681718902830624553373639852957329260899405322518528)) THEN (x + t) ELSE (x * (1)) ENDIF IN LET tmp_2 = IF (a <= (840286889553415393829345703125e-20)) THEN ((0) + t) ELSE tmp_3 ENDIF IN LET tmp_1 = IF (a <= (-103998886286324096396014723484231794918150178365210296000781026572266507480319731384801198869559923777271079603950905362200614476269008844415567789001940796075467231960517531925487962212360476810965543664932513376714020253487516109179315482860593393421577701474234345369040966033935546875e-388)) THEN (x + t) ELSE tmp_2 ENDIF IN LET tmp = IF (a <= (-2341161945684198056985905611943324662441538948709578558390974389295927845329843157210782360839368571083746172865952575306102646513767044165016005002657792)) THEN (x * (1)) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;a \leq -2.341161945684198 \cdot 10^{+153}:\\
\;\;\;\;x \cdot 1\\
\mathbf{elif}\;a \leq -1.039988862863241 \cdot 10^{-101}:\\
\;\;\;\;x + t\\
\mathbf{elif}\;a \leq 8402868895.534154:\\
\;\;\;\;0 + t\\
\mathbf{elif}\;a \leq 4.988986641920986 \cdot 10^{+183}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;x \cdot 1\\
\end{array}
if a < -2.3411619456841981e153 or 4.9889866419209859e183 < a Initial program 67.2%
Taylor expanded in x around -inf
Applied rewrites46.1%
Taylor expanded in y around 0
Applied rewrites24.6%
Taylor expanded in z around 0
Applied rewrites24.4%
if -2.3411619456841981e153 < a < -1.039988862863241e-101 or 8402868895.5341539 < a < 4.9889866419209859e183Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
if -1.039988862863241e-101 < a < 8402868895.5341539Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
Taylor expanded in undef-var around zero
Applied rewrites26.0%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= z 2.127004327879293e+113) (+ x t) (+ 0.0 t)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= 2.127004327879293e+113) {
tmp = x + t;
} else {
tmp = 0.0 + t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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) :: tmp
if (z <= 2.127004327879293d+113) then
tmp = x + t
else
tmp = 0.0d0 + t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= 2.127004327879293e+113) {
tmp = x + t;
} else {
tmp = 0.0 + t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= 2.127004327879293e+113: tmp = x + t else: tmp = 0.0 + t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= 2.127004327879293e+113) tmp = Float64(x + t); else tmp = Float64(0.0 + t); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= 2.127004327879293e+113) tmp = x + t; else tmp = 0.0 + t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, 2.127004327879293e+113], N[(x + t), $MachinePrecision], N[(0.0 + t), $MachinePrecision]]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = LET tmp = IF (z <= (212700432787929294832000289643583090219385354854104189939713924049364038204167172433658223278500981986288023371776)) THEN (x + t) ELSE ((0) + t) ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;z \leq 2.127004327879293 \cdot 10^{+113}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;0 + t\\
\end{array}
if z < 2.1270043278792929e113Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
if 2.1270043278792929e113 < z Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
Taylor expanded in undef-var around zero
Applied rewrites26.0%
(FPCore (x y z t a) :precision binary64 :pre TRUE (+ x t))
double code(double x, double y, double z, double t, double a) {
return x + t;
}
real(8) function code(x, y, z, t, a)
use fmin_fmax_functions
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
code = x + t
end function
public static double code(double x, double y, double z, double t, double a) {
return x + t;
}
def code(x, y, z, t, a): return x + t
function code(x, y, z, t, a) return Float64(x + t) end
function tmp = code(x, y, z, t, a) tmp = x + t; end
code[x_, y_, z_, t_, a_] := N[(x + t), $MachinePrecision]
f(x, y, z, t, a): x in [-inf, +inf], y in [-inf, +inf], z in [-inf, +inf], t in [-inf, +inf], a in [-inf, +inf] code: THEORY BEGIN f(x, y, z, t, a: real): real = x + t END code
x + t
Initial program 67.2%
Taylor expanded in z around inf
Applied rewrites19.7%
Taylor expanded in x around 0
Applied rewrites33.6%
herbie shell --seed 2026092
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:invLinMap from Chart-1.5.3"
:precision binary64
(+ x (/ (* (- y z) (- t x)) (- a z))))