
(FPCore (x y z t a) :precision binary64 :pre TRUE (+ x (/ (* (- y z) t) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * t) / (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) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * t) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * t) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * t) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * t) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * t), $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) / (a - z)) END code
x + \frac{\left(y - z\right) \cdot t}{a - z}
Herbie found 19 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 :pre TRUE (+ x (/ (* (- y z) t) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * t) / (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) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * t) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * t) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * t) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * t) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * t), $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) / (a - z)) END code
x + \frac{\left(y - z\right) \cdot t}{a - z}
(FPCore (x y z t a) :precision binary64 :pre TRUE (fma y (/ t (- a z)) (fma (/ z (- z a)) t x)))
double code(double x, double y, double z, double t, double a) {
return fma(y, (t / (a - z)), fma((z / (z - a)), t, x));
}
function code(x, y, z, t, a) return fma(y, Float64(t / Float64(a - z)), fma(Float64(z / Float64(z - a)), t, x)) end
code[x_, y_, z_, t_, a_] := N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision] + N[(N[(z / N[(z - a), $MachinePrecision]), $MachinePrecision] * t + x), $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 = (y * (t / (a - z))) + (((z / (z - a)) * t) + x) END code
\mathsf{fma}\left(y, \frac{t}{a - z}, \mathsf{fma}\left(\frac{z}{z - a}, t, x\right)\right)
Initial program 85.2%
Applied rewrites97.4%
(FPCore (x y z t a) :precision binary64 :pre TRUE (fma (- y z) (/ t (- a z)) x))
double code(double x, double y, double z, double t, double a) {
return fma((y - z), (t / (a - z)), x);
}
function code(x, y, z, t, a) return fma(Float64(y - z), Float64(t / Float64(a - z)), x) end
code[x_, y_, z_, t_, a_] := N[(N[(y - z), $MachinePrecision] * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $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 = ((y - z) * (t / (a - z))) + x END code
\mathsf{fma}\left(y - z, \frac{t}{a - z}, x\right)
Initial program 85.2%
Applied rewrites95.8%
(FPCore (x y z t a) :precision binary64 :pre TRUE (fma t (/ (- z y) (- z a)) x))
double code(double x, double y, double z, double t, double a) {
return fma(t, ((z - y) / (z - a)), x);
}
function code(x, y, z, t, a) return fma(t, Float64(Float64(z - y) / Float64(z - a)), x) end
code[x_, y_, z_, t_, a_] := N[(t * N[(N[(z - y), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] + x), $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 = (t * ((z - y) / (z - a))) + x END code
\mathsf{fma}\left(t, \frac{z - y}{z - a}, x\right)
Initial program 85.2%
Applied rewrites98.2%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(if (<= z -1.3917919735364662e+101)
(+ x (fma t (/ (- y) z) t))
(if (<= z 1.8466671653575995e+46)
(+ x (/ (* t y) (- a z)))
(fma t (/ (- z y) z) x))))double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.3917919735364662e+101) {
tmp = x + fma(t, (-y / z), t);
} else if (z <= 1.8466671653575995e+46) {
tmp = x + ((t * y) / (a - z));
} else {
tmp = fma(t, ((z - y) / z), x);
}
return tmp;
}
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.3917919735364662e+101) tmp = Float64(x + fma(t, Float64(Float64(-y) / z), t)); elseif (z <= 1.8466671653575995e+46) tmp = Float64(x + Float64(Float64(t * y) / Float64(a - z))); else tmp = fma(t, Float64(Float64(z - y) / z), x); end return tmp end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.3917919735364662e+101], N[(x + N[(t * N[((-y) / z), $MachinePrecision] + t), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.8466671653575995e+46], N[(x + N[(N[(t * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision] + x), $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 (z <= (18466671653575994563829447868636263832415633408)) THEN (x + ((t * y) / (a - z))) ELSE ((t * ((z - y) / z)) + x) ENDIF IN LET tmp = IF (z <= (-139179197353646615187994754334134776366339498716089086292338886582260482498044354946197299227392999424)) THEN (x + ((t * ((- y) / z)) + t)) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;z \leq -1.3917919735364662 \cdot 10^{+101}:\\
\;\;\;\;x + \mathsf{fma}\left(t, \frac{-y}{z}, t\right)\\
\mathbf{elif}\;z \leq 1.8466671653575995 \cdot 10^{+46}:\\
\;\;\;\;x + \frac{t \cdot y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(t, \frac{z - y}{z}, x\right)\\
\end{array}
if z < -1.3917919735364662e101Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Applied rewrites66.8%
if -1.3917919735364662e101 < z < 1.8466671653575995e46Initial program 85.2%
Taylor expanded in y around inf
Applied rewrites73.1%
if 1.8466671653575995e46 < z Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites66.8%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- z y) z) x)))
(if (<= z -1.3917919735364662e+101)
t_1
(if (<= z 1.8466671653575995e+46) (+ x (/ (* t y) (- a z))) t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma(t, ((z - y) / z), x);
double tmp;
if (z <= -1.3917919735364662e+101) {
tmp = t_1;
} else if (z <= 1.8466671653575995e+46) {
tmp = x + ((t * y) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(t, Float64(Float64(z - y) / z), x) tmp = 0.0 if (z <= -1.3917919735364662e+101) tmp = t_1; elseif (z <= 1.8466671653575995e+46) tmp = Float64(x + Float64(Float64(t * 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[(z - y), $MachinePrecision] / z), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[z, -1.3917919735364662e+101], t$95$1, If[LessEqual[z, 1.8466671653575995e+46], N[(x + N[(N[(t * y), $MachinePrecision] / 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 * ((z - y) / z)) + x) IN LET tmp_1 = IF (z <= (18466671653575994563829447868636263832415633408)) THEN (x + ((t * y) / (a - z))) ELSE t_1 ENDIF IN LET tmp = IF (z <= (-139179197353646615187994754334134776366339498716089086292338886582260482498044354946197299227392999424)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, \frac{z - y}{z}, x\right)\\
\mathbf{if}\;z \leq -1.3917919735364662 \cdot 10^{+101}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 1.8466671653575995 \cdot 10^{+46}:\\
\;\;\;\;x + \frac{t \cdot y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if z < -1.3917919735364662e101 or 1.8466671653575995e46 < z Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites66.8%
if -1.3917919735364662e101 < z < 1.8466671653575995e46Initial program 85.2%
Taylor expanded in y around inf
Applied rewrites73.1%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(if (<= a -6.632891920392298e-9)
(fma t (/ (- y z) a) x)
(if (<= a 5.778775689756362e-13)
(fma (- z y) (/ t z) x)
(fma (- y z) (/ t a) x))))double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.632891920392298e-9) {
tmp = fma(t, ((y - z) / a), x);
} else if (a <= 5.778775689756362e-13) {
tmp = fma((z - y), (t / z), x);
} else {
tmp = fma((y - z), (t / a), x);
}
return tmp;
}
function code(x, y, z, t, a) tmp = 0.0 if (a <= -6.632891920392298e-9) tmp = fma(t, Float64(Float64(y - z) / a), x); elseif (a <= 5.778775689756362e-13) tmp = fma(Float64(z - y), Float64(t / z), x); else tmp = fma(Float64(y - z), Float64(t / a), x); end return tmp end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -6.632891920392298e-9], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[a, 5.778775689756362e-13], N[(N[(z - y), $MachinePrecision] * N[(t / z), $MachinePrecision] + x), $MachinePrecision], N[(N[(y - z), $MachinePrecision] * N[(t / a), $MachinePrecision] + x), $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 (a <= (577877568975636198408552582247986833499826808679955547631834633648395538330078125e-93)) THEN (((z - y) * (t / z)) + x) ELSE (((y - z) * (t / a)) + x) ENDIF IN LET tmp = IF (a <= (-663289192039229837397824556650093030807369132162421010434627532958984375e-80)) THEN ((t * ((y - z) / a)) + x) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;a \leq -6.632891920392298 \cdot 10^{-9}:\\
\;\;\;\;\mathsf{fma}\left(t, \frac{y - z}{a}, x\right)\\
\mathbf{elif}\;a \leq 5.778775689756362 \cdot 10^{-13}:\\
\;\;\;\;\mathsf{fma}\left(z - y, \frac{t}{z}, x\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(y - z, \frac{t}{a}, x\right)\\
\end{array}
if a < -6.6328919203922984e-9Initial program 85.2%
Taylor expanded in z around 0
Applied rewrites56.8%
Applied rewrites59.6%
if -6.6328919203922984e-9 < a < 5.778775689756362e-13Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Applied rewrites65.2%
if 5.778775689756362e-13 < a Initial program 85.2%
Taylor expanded in z around 0
Applied rewrites56.8%
Applied rewrites60.2%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- y z) a) x)))
(if (<= a -6.632891920392298e-9)
t_1
(if (<= a 5.778775689756362e-13) (fma (- z y) (/ t z) x) 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 <= -6.632891920392298e-9) {
tmp = t_1;
} else if (a <= 5.778775689756362e-13) {
tmp = fma((z - y), (t / z), x);
} 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 <= -6.632891920392298e-9) tmp = t_1; elseif (a <= 5.778775689756362e-13) tmp = fma(Float64(z - y), Float64(t / z), x); 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, -6.632891920392298e-9], t$95$1, If[LessEqual[a, 5.778775689756362e-13], N[(N[(z - y), $MachinePrecision] * N[(t / z), $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 * ((y - z) / a)) + x) IN LET tmp_1 = IF (a <= (577877568975636198408552582247986833499826808679955547631834633648395538330078125e-93)) THEN (((z - y) * (t / z)) + x) ELSE t_1 ENDIF IN LET tmp = IF (a <= (-663289192039229837397824556650093030807369132162421010434627532958984375e-80)) 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 -6.632891920392298 \cdot 10^{-9}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 5.778775689756362 \cdot 10^{-13}:\\
\;\;\;\;\mathsf{fma}\left(z - y, \frac{t}{z}, x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -6.6328919203922984e-9 or 5.778775689756362e-13 < a Initial program 85.2%
Taylor expanded in z around 0
Applied rewrites56.8%
Applied rewrites59.6%
if -6.6328919203922984e-9 < a < 5.778775689756362e-13Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Applied rewrites65.2%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- y z) a) x)))
(if (<= a -6.632891920392298e-9)
t_1
(if (<= a 2.047689065869472e-16) (fma t (/ (- z y) z) x) 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 <= -6.632891920392298e-9) {
tmp = t_1;
} else if (a <= 2.047689065869472e-16) {
tmp = fma(t, ((z - y) / z), x);
} 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 <= -6.632891920392298e-9) tmp = t_1; elseif (a <= 2.047689065869472e-16) tmp = fma(t, Float64(Float64(z - y) / z), x); 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, -6.632891920392298e-9], t$95$1, If[LessEqual[a, 2.047689065869472e-16], N[(t * N[(N[(z - y), $MachinePrecision] / z), $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 * ((y - z) / a)) + x) IN LET tmp_1 = IF (a <= (204768906586947190932995823874223971654986203492186669361529993693693540990352630615234375e-105)) THEN ((t * ((z - y) / z)) + x) ELSE t_1 ENDIF IN LET tmp = IF (a <= (-663289192039229837397824556650093030807369132162421010434627532958984375e-80)) 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 -6.632891920392298 \cdot 10^{-9}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 2.047689065869472 \cdot 10^{-16}:\\
\;\;\;\;\mathsf{fma}\left(t, \frac{z - y}{z}, x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if a < -6.6328919203922984e-9 or 2.0476890658694719e-16 < a Initial program 85.2%
Taylor expanded in z around 0
Applied rewrites56.8%
Applied rewrites59.6%
if -6.6328919203922984e-9 < a < 2.0476890658694719e-16Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites66.8%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (fma t (/ (- z y) z) x)))
(if (<= z -1.4421885974416013e-7)
t_1
(if (<= z 8.508549014258338e-44) (+ x (* t (/ y a))) t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = fma(t, ((z - y) / z), x);
double tmp;
if (z <= -1.4421885974416013e-7) {
tmp = t_1;
} else if (z <= 8.508549014258338e-44) {
tmp = x + (t * (y / a));
} else {
tmp = t_1;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = fma(t, Float64(Float64(z - y) / z), x) tmp = 0.0 if (z <= -1.4421885974416013e-7) tmp = t_1; elseif (z <= 8.508549014258338e-44) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = t_1; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision] + x), $MachinePrecision]}, If[LessEqual[z, -1.4421885974416013e-7], t$95$1, If[LessEqual[z, 8.508549014258338e-44], N[(x + N[(t * 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 = ((t * ((z - y) / z)) + x) IN LET tmp_1 = IF (z <= (850854901425833773236309237762848125960571182619438783402747385146954734733208151442070219696890246054829637346005044573615805347799323499202728271484375e-196)) THEN (x + (t * (y / a))) ELSE t_1 ENDIF IN LET tmp = IF (z <= (-144218859744160128040396423761138056107711236109025776386260986328125e-75)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \mathsf{fma}\left(t, \frac{z - y}{z}, x\right)\\
\mathbf{if}\;z \leq -1.4421885974416013 \cdot 10^{-7}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 8.508549014258338 \cdot 10^{-44}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if z < -1.4421885974416013e-7 or 8.5085490142583377e-44 < z Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites66.8%
if -1.4421885974416013e-7 < z < 8.5085490142583377e-44Initial program 85.2%
Taylor expanded in z around 0
Applied rewrites59.8%
Applied rewrites61.6%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= z -1.2478311614280187e-10) (+ x t) (if (<= z 7.921979766313861e+51) (+ x (* t (/ y a))) (+ x t))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.2478311614280187e-10) {
tmp = x + t;
} else if (z <= 7.921979766313861e+51) {
tmp = x + (t * (y / a));
} else {
tmp = x + 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 <= (-1.2478311614280187d-10)) then
tmp = x + t
else if (z <= 7.921979766313861d+51) then
tmp = x + (t * (y / a))
else
tmp = x + 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 <= -1.2478311614280187e-10) {
tmp = x + t;
} else if (z <= 7.921979766313861e+51) {
tmp = x + (t * (y / a));
} else {
tmp = x + t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.2478311614280187e-10: tmp = x + t elif z <= 7.921979766313861e+51: tmp = x + (t * (y / a)) else: tmp = x + t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.2478311614280187e-10) tmp = Float64(x + t); elseif (z <= 7.921979766313861e+51) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = Float64(x + t); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.2478311614280187e-10) tmp = x + t; elseif (z <= 7.921979766313861e+51) tmp = x + (t * (y / a)); else tmp = x + t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.2478311614280187e-10], N[(x + t), $MachinePrecision], If[LessEqual[z, 7.921979766313861e+51], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 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 = LET tmp_1 = IF (z <= (7921979766313861376517055230760247570310723495002112)) THEN (x + (t * (y / a))) ELSE (x + t) ENDIF IN LET tmp = IF (z <= (-1247831161428018728235009902088783854956499652644197340123355388641357421875e-85)) THEN (x + t) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;z \leq -1.2478311614280187 \cdot 10^{-10}:\\
\;\;\;\;x + t\\
\mathbf{elif}\;z \leq 7.921979766313861 \cdot 10^{+51}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;x + t\\
\end{array}
if z < -1.2478311614280187e-10 or 7.9219797663138614e51 < z Initial program 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
if -1.2478311614280187e-10 < z < 7.9219797663138614e51Initial program 85.2%
Taylor expanded in z around 0
Applied rewrites59.8%
Applied rewrites61.6%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (/ (* (- y z) t) (- a z))))
(if (<= t_1 (- INFINITY))
(fma z (/ t z) x)
(if (<= t_1 -4e+41)
(/ (* t y) (- a z))
(if (<= t_1 2e+116) (+ x t) (* (- z y) (/ t z)))))))double code(double x, double y, double z, double t, double a) {
double t_1 = ((y - z) * t) / (a - z);
double tmp;
if (t_1 <= -((double) INFINITY)) {
tmp = fma(z, (t / z), x);
} else if (t_1 <= -4e+41) {
tmp = (t * y) / (a - z);
} else if (t_1 <= 2e+116) {
tmp = x + t;
} else {
tmp = (z - y) * (t / z);
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(Float64(Float64(y - z) * t) / Float64(a - z)) tmp = 0.0 if (t_1 <= Float64(-Inf)) tmp = fma(z, Float64(t / z), x); elseif (t_1 <= -4e+41) tmp = Float64(Float64(t * y) / Float64(a - z)); elseif (t_1 <= 2e+116) tmp = Float64(x + t); else tmp = Float64(Float64(z - y) * Float64(t / z)); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], N[(z * N[(t / z), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[t$95$1, -4e+41], N[(N[(t * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 2e+116], N[(x + t), $MachinePrecision], N[(N[(z - y), $MachinePrecision] * N[(t / z), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
t_1 := \frac{\left(y - z\right) \cdot t}{a - z}\\
\mathbf{if}\;t\_1 \leq -\infty:\\
\;\;\;\;\mathsf{fma}\left(z, \frac{t}{z}, x\right)\\
\mathbf{elif}\;t\_1 \leq -4 \cdot 10^{+41}:\\
\;\;\;\;\frac{t \cdot y}{a - z}\\
\mathbf{elif}\;t\_1 \leq 2 \cdot 10^{+116}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;\left(z - y\right) \cdot \frac{t}{z}\\
\end{array}
if (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < -inf.0Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Applied rewrites65.2%
Taylor expanded in y around 0
Applied rewrites59.7%
if -inf.0 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < -4e41Initial program 85.2%
Taylor expanded in x around 0
Applied rewrites39.3%
Taylor expanded in z around 0
Applied rewrites21.9%
Taylor expanded in y around inf
Applied rewrites18.4%
Taylor expanded in a around 0
Applied rewrites26.1%
if -4e41 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < 2e116Initial program 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
if 2e116 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Taylor expanded in t around inf
Applied rewrites31.2%
Applied rewrites29.5%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (/ (* (- y z) t) (- a z))))
(if (<= t_1 (- INFINITY))
(fma z (/ t z) x)
(if (<= t_1 -4e+41)
(/ (* t y) (- a z))
(if (<= t_1 2e+116) (+ x t) (* t (- 1.0 (/ y z))))))))double code(double x, double y, double z, double t, double a) {
double t_1 = ((y - z) * t) / (a - z);
double tmp;
if (t_1 <= -((double) INFINITY)) {
tmp = fma(z, (t / z), x);
} else if (t_1 <= -4e+41) {
tmp = (t * y) / (a - z);
} else if (t_1 <= 2e+116) {
tmp = x + t;
} else {
tmp = t * (1.0 - (y / z));
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(Float64(Float64(y - z) * t) / Float64(a - z)) tmp = 0.0 if (t_1 <= Float64(-Inf)) tmp = fma(z, Float64(t / z), x); elseif (t_1 <= -4e+41) tmp = Float64(Float64(t * y) / Float64(a - z)); elseif (t_1 <= 2e+116) tmp = Float64(x + t); else tmp = Float64(t * Float64(1.0 - Float64(y / z))); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], N[(z * N[(t / z), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[t$95$1, -4e+41], N[(N[(t * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 2e+116], N[(x + t), $MachinePrecision], N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
t_1 := \frac{\left(y - z\right) \cdot t}{a - z}\\
\mathbf{if}\;t\_1 \leq -\infty:\\
\;\;\;\;\mathsf{fma}\left(z, \frac{t}{z}, x\right)\\
\mathbf{elif}\;t\_1 \leq -4 \cdot 10^{+41}:\\
\;\;\;\;\frac{t \cdot y}{a - z}\\
\mathbf{elif}\;t\_1 \leq 2 \cdot 10^{+116}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(1 - \frac{y}{z}\right)\\
\end{array}
if (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < -inf.0Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Applied rewrites65.2%
Taylor expanded in y around 0
Applied rewrites59.7%
if -inf.0 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < -4e41Initial program 85.2%
Taylor expanded in x around 0
Applied rewrites39.3%
Taylor expanded in z around 0
Applied rewrites21.9%
Taylor expanded in y around inf
Applied rewrites18.4%
Taylor expanded in a around 0
Applied rewrites26.1%
if -4e41 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < 2e116Initial program 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
if 2e116 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Taylor expanded in t around inf
Applied rewrites31.2%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (/ (* (- y z) t) (- a z))))
(if (<= t_1 (- INFINITY))
(fma z (/ t z) x)
(if (<= t_1 -4e+41)
(/ (* t y) (- a z))
(if (<= t_1 2e+116) (+ x t) (* (/ (- z y) z) t))))))double code(double x, double y, double z, double t, double a) {
double t_1 = ((y - z) * t) / (a - z);
double tmp;
if (t_1 <= -((double) INFINITY)) {
tmp = fma(z, (t / z), x);
} else if (t_1 <= -4e+41) {
tmp = (t * y) / (a - z);
} else if (t_1 <= 2e+116) {
tmp = x + t;
} else {
tmp = ((z - y) / z) * t;
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(Float64(Float64(y - z) * t) / Float64(a - z)) tmp = 0.0 if (t_1 <= Float64(-Inf)) tmp = fma(z, Float64(t / z), x); elseif (t_1 <= -4e+41) tmp = Float64(Float64(t * y) / Float64(a - z)); elseif (t_1 <= 2e+116) tmp = Float64(x + t); else tmp = Float64(Float64(Float64(z - y) / z) * t); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], N[(z * N[(t / z), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[t$95$1, -4e+41], N[(N[(t * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 2e+116], N[(x + t), $MachinePrecision], N[(N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision] * t), $MachinePrecision]]]]]
\begin{array}{l}
t_1 := \frac{\left(y - z\right) \cdot t}{a - z}\\
\mathbf{if}\;t\_1 \leq -\infty:\\
\;\;\;\;\mathsf{fma}\left(z, \frac{t}{z}, x\right)\\
\mathbf{elif}\;t\_1 \leq -4 \cdot 10^{+41}:\\
\;\;\;\;\frac{t \cdot y}{a - z}\\
\mathbf{elif}\;t\_1 \leq 2 \cdot 10^{+116}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;\frac{z - y}{z} \cdot t\\
\end{array}
if (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < -inf.0Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Applied rewrites65.2%
Taylor expanded in y around 0
Applied rewrites59.7%
if -inf.0 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < -4e41Initial program 85.2%
Taylor expanded in x around 0
Applied rewrites39.3%
Taylor expanded in z around 0
Applied rewrites21.9%
Taylor expanded in y around inf
Applied rewrites18.4%
Taylor expanded in a around 0
Applied rewrites26.1%
if -4e41 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < 2e116Initial program 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
if 2e116 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Taylor expanded in t around inf
Applied rewrites31.2%
Applied rewrites31.2%
(FPCore (x y z t a)
:precision binary64
:pre TRUE
(let* ((t_1 (/ (* t y) (- a z))))
(if (<= y -1.531587912663493e+143)
t_1
(if (<= y 6.092521448181553e+193) (+ x t) t_1))))double code(double x, double y, double z, double t, double a) {
double t_1 = (t * y) / (a - z);
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = t_1;
} else if (y <= 6.092521448181553e+193) {
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 = (t * y) / (a - z)
if (y <= (-1.531587912663493d+143)) then
tmp = t_1
else if (y <= 6.092521448181553d+193) 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 = (t * y) / (a - z);
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = t_1;
} else if (y <= 6.092521448181553e+193) {
tmp = x + t;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = (t * y) / (a - z) tmp = 0 if y <= -1.531587912663493e+143: tmp = t_1 elif y <= 6.092521448181553e+193: tmp = x + t else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(Float64(t * y) / Float64(a - z)) tmp = 0.0 if (y <= -1.531587912663493e+143) tmp = t_1; elseif (y <= 6.092521448181553e+193) tmp = Float64(x + t); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = (t * y) / (a - z); tmp = 0.0; if (y <= -1.531587912663493e+143) tmp = t_1; elseif (y <= 6.092521448181553e+193) tmp = x + t; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(t * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.531587912663493e+143], t$95$1, If[LessEqual[y, 6.092521448181553e+193], 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 = ((t * y) / (a - z)) IN LET tmp_1 = IF (y <= (60925214481815533287399347429575174889349897034536817443908306156043251136047391358947620204881197511744642480148943273613931462310421790368970823517725966818716570458530236440972285171013255168)) THEN (x + t) ELSE t_1 ENDIF IN LET tmp = IF (y <= (-153158791266349302059067134646143137419441199017939972137454829263741356177562549975168567005190735022490714260833519588217537330168093707599872)) THEN t_1 ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
t_1 := \frac{t \cdot y}{a - z}\\
\mathbf{if}\;y \leq -1.531587912663493 \cdot 10^{+143}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 6.092521448181553 \cdot 10^{+193}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
if y < -1.531587912663493e143 or 6.0925214481815533e193 < y Initial program 85.2%
Taylor expanded in x around 0
Applied rewrites39.3%
Taylor expanded in z around 0
Applied rewrites21.9%
Taylor expanded in y around inf
Applied rewrites18.4%
Taylor expanded in a around 0
Applied rewrites26.1%
if -1.531587912663493e143 < y < 6.0925214481815533e193Initial program 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= x -4.471781700733622e-279) (fma z (/ t z) x) (if (<= x 7.230355534401791e-168) (* t (/ (- y z) a)) (+ x t))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -4.471781700733622e-279) {
tmp = fma(z, (t / z), x);
} else if (x <= 7.230355534401791e-168) {
tmp = t * ((y - z) / a);
} else {
tmp = x + t;
}
return tmp;
}
function code(x, y, z, t, a) tmp = 0.0 if (x <= -4.471781700733622e-279) tmp = fma(z, Float64(t / z), x); elseif (x <= 7.230355534401791e-168) tmp = Float64(t * Float64(Float64(y - z) / a)); else tmp = Float64(x + t); end return tmp end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -4.471781700733622e-279], N[(z * N[(t / z), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[x, 7.230355534401791e-168], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], 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 = LET tmp_1 = IF (x <= (723035553440179061352561352621560993881732759182003278982708926814205477430323568515964551786192431536152820598010082440796832470550646541151226489740312827003999609569745125346552420722062502057072507750471046452795505085118543454407850290323250821118698074197245781240272701362288207327590218312019943526757042547118532996372744468279373855008681255293613987176646372447129265567105612560367758627662138071201525235665030777454376220703125e-608)) THEN (t * ((y - z) / a)) ELSE (x + t) ENDIF IN LET tmp = IF (x <= (-447178170073362178557708632311810996098825049021955631229958731348672064462896343342495214521937802831800817146163211075604530739126642951537567680084892504512769198617166844547966119067001951550041805069404373666923622585775364960389115020295909301938347872891111119681717416978962976696652759526020570483636296853685632757166217090700430691042594393308709021377419584788589418697179394226408676031653215551827090881228997064129333844133929068335768983250912215848641600986732743469541854331116765397436577399245171934725395872627643317210943098077567863173488798746628306396819282061991486890563113814082204486449009702914859979935356380821138846956368760598987677212790003977715969085693359375e-974)) THEN ((z * (t / z)) + x) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;x \leq -4.471781700733622 \cdot 10^{-279}:\\
\;\;\;\;\mathsf{fma}\left(z, \frac{t}{z}, x\right)\\
\mathbf{elif}\;x \leq 7.230355534401791 \cdot 10^{-168}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{else}:\\
\;\;\;\;x + t\\
\end{array}
if x < -4.4717817007336218e-279Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Applied rewrites65.2%
Taylor expanded in y around 0
Applied rewrites59.7%
if -4.4717817007336218e-279 < x < 7.2303555344017906e-168Initial program 85.2%
Taylor expanded in x around 0
Applied rewrites39.3%
Taylor expanded in z around 0
Applied rewrites21.9%
Applied rewrites24.5%
if 7.2303555344017906e-168 < x Initial program 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= x -1.7215465460366108e-279) (fma z (/ t z) x) (if (<= x 6.516091422738436e-168) (* t (/ y a)) (+ x t))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -1.7215465460366108e-279) {
tmp = fma(z, (t / z), x);
} else if (x <= 6.516091422738436e-168) {
tmp = t * (y / a);
} else {
tmp = x + t;
}
return tmp;
}
function code(x, y, z, t, a) tmp = 0.0 if (x <= -1.7215465460366108e-279) tmp = fma(z, Float64(t / z), x); elseif (x <= 6.516091422738436e-168) tmp = Float64(t * Float64(y / a)); else tmp = Float64(x + t); end return tmp end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -1.7215465460366108e-279], N[(z * N[(t / z), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[x, 6.516091422738436e-168], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], 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 = LET tmp_1 = IF (x <= (65160914227384357657733073792089163811525226353360708673826387731623259040049697671617223710704035433820377750898086629947763880779025383969665405297643406136664507667245342483254438777464162783982191964964392523305620273543886193935337815375417243908019019466315201145408303539505712955517746794859007309333557389235016728693336145189564586809738908110030604129143120246243732976993574917322916127161713806259513148688711225986480712890625e-607)) THEN (t * (y / a)) ELSE (x + t) ENDIF IN LET tmp = IF (x <= (-17215465460366108201097688553343575399884158981032218687669198032962580049766882299274720764851645372416217611573948443011275591702301875218659325961754466948217962433950252095943242171685386880345431604514072578410408851235163701988902371495658832208223340840018314948005415408591281677744212718162045400011617733774759554321582212062976394471262892262208708561278641017168669218251482677733631017493565786186100893668319431205487818363548825025627731595182530622851355408493099245412423510239663084618579533827607211863516243145926302423407166633726965276945712944709961142477849653712286471749399319336448040268204697721246392543815365812369675596459428035082950270151513905148021876811981201171875e-979)) THEN ((z * (t / z)) + x) ELSE tmp_1 ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;x \leq -1.7215465460366108 \cdot 10^{-279}:\\
\;\;\;\;\mathsf{fma}\left(z, \frac{t}{z}, x\right)\\
\mathbf{elif}\;x \leq 6.516091422738436 \cdot 10^{-168}:\\
\;\;\;\;t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;x + t\\
\end{array}
if x < -1.7215465460366108e-279Initial program 85.2%
Applied rewrites98.2%
Taylor expanded in a around 0
Applied rewrites58.2%
Applied rewrites65.2%
Taylor expanded in y around 0
Applied rewrites59.7%
if -1.7215465460366108e-279 < x < 6.5160914227384358e-168Initial program 85.2%
Taylor expanded in x around 0
Applied rewrites39.3%
Taylor expanded in z around 0
Applied rewrites21.9%
Applied rewrites24.5%
Taylor expanded in z around 0
Applied rewrites20.1%
if 6.5160914227384358e-168 < x Initial program 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
(FPCore (x y z t a) :precision binary64 :pre TRUE (if (<= y -1.531587912663493e+143) (* t (/ y a)) (+ x t)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.531587912663493e+143) {
tmp = t * (y / a);
} else {
tmp = x + 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 (y <= (-1.531587912663493d+143)) then
tmp = t * (y / a)
else
tmp = x + t
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);
} else {
tmp = x + t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -1.531587912663493e+143: tmp = t * (y / a) else: tmp = x + t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -1.531587912663493e+143) tmp = Float64(t * Float64(y / a)); else tmp = Float64(x + t); 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); else tmp = x + t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -1.531587912663493e+143], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], 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 = LET tmp = IF (y <= (-153158791266349302059067134646143137419441199017939972137454829263741356177562549975168567005190735022490714260833519588217537330168093707599872)) THEN (t * (y / a)) ELSE (x + t) ENDIF IN tmp END code
\begin{array}{l}
\mathbf{if}\;y \leq -1.531587912663493 \cdot 10^{+143}:\\
\;\;\;\;t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;x + t\\
\end{array}
if y < -1.531587912663493e143Initial program 85.2%
Taylor expanded in x around 0
Applied rewrites39.3%
Taylor expanded in z around 0
Applied rewrites21.9%
Applied rewrites24.5%
Taylor expanded in z around 0
Applied rewrites20.1%
if -1.531587912663493e143 < y Initial program 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
(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 85.2%
Taylor expanded in z around inf
Applied rewrites60.6%
(FPCore (x y z t a) :precision binary64 :pre TRUE t)
double code(double x, double y, double z, double t, double a) {
return 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 = t
end function
public static double code(double x, double y, double z, double t, double a) {
return t;
}
def code(x, y, z, t, a): return t
function code(x, y, z, t, a) return t end
function tmp = code(x, y, z, t, a) tmp = t; end
code[x_, y_, z_, t_, a_] := t
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 = t END code
t
Initial program 85.2%
Taylor expanded in x around 0
Applied rewrites39.3%
Taylor expanded in z around inf
Applied rewrites18.9%
herbie shell --seed 2026092
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTick from plot-0.2.3.4, A"
:precision binary64
(+ x (/ (* (- y z) t) (- a z))))