
(FPCore (x y z t a) :precision binary64 (+ x (/ (* y (- z t)) (- z a))))
double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / (z - a));
}
real(8) function code(x, y, z, t, a)
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)) / (z - a))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / (z - a));
}
def code(x, y, z, t, a): return x + ((y * (z - t)) / (z - a))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y * Float64(z - t)) / Float64(z - a))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y * (z - t)) / (z - a)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{y \cdot \left(z - t\right)}{z - a}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 13 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (/ (* y (- z t)) (- z a))))
double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / (z - a));
}
real(8) function code(x, y, z, t, a)
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)) / (z - a))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / (z - a));
}
def code(x, y, z, t, a): return x + ((y * (z - t)) / (z - a))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y * Float64(z - t)) / Float64(z - a))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y * (z - t)) / (z - a)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{y \cdot \left(z - t\right)}{z - a}
\end{array}
(FPCore (x y z t a) :precision binary64 (+ (/ y (/ (- z a) (- z t))) x))
double code(double x, double y, double z, double t, double a) {
return (y / ((z - a) / (z - t))) + x;
}
real(8) function code(x, y, z, t, a)
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 = (y / ((z - a) / (z - t))) + x
end function
public static double code(double x, double y, double z, double t, double a) {
return (y / ((z - a) / (z - t))) + x;
}
def code(x, y, z, t, a): return (y / ((z - a) / (z - t))) + x
function code(x, y, z, t, a) return Float64(Float64(y / Float64(Float64(z - a) / Float64(z - t))) + x) end
function tmp = code(x, y, z, t, a) tmp = (y / ((z - a) / (z - t))) + x; end
code[x_, y_, z_, t_, a_] := N[(N[(y / N[(N[(z - a), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision]
\begin{array}{l}
\\
\frac{y}{\frac{z - a}{z - t}} + x
\end{array}
Initial program 86.6%
Applied egg-rr0
(FPCore (x y z t a)
:precision binary64
(if (<= a -2.2e+26)
(+ x (* (/ t a) y))
(if (<= a 42.0)
(+ (/ y (/ z (- z t))) x)
(if (<= a 7.8e+148) (+ (/ y (/ a t)) x) (+ x (* (/ z (- z a)) y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.2e+26) {
tmp = x + ((t / a) * y);
} else if (a <= 42.0) {
tmp = (y / (z / (z - t))) + x;
} else if (a <= 7.8e+148) {
tmp = (y / (a / t)) + x;
} else {
tmp = x + ((z / (z - a)) * y);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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.2d+26)) then
tmp = x + ((t / a) * y)
else if (a <= 42.0d0) then
tmp = (y / (z / (z - t))) + x
else if (a <= 7.8d+148) then
tmp = (y / (a / t)) + x
else
tmp = x + ((z / (z - a)) * y)
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.2e+26) {
tmp = x + ((t / a) * y);
} else if (a <= 42.0) {
tmp = (y / (z / (z - t))) + x;
} else if (a <= 7.8e+148) {
tmp = (y / (a / t)) + x;
} else {
tmp = x + ((z / (z - a)) * y);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -2.2e+26: tmp = x + ((t / a) * y) elif a <= 42.0: tmp = (y / (z / (z - t))) + x elif a <= 7.8e+148: tmp = (y / (a / t)) + x else: tmp = x + ((z / (z - a)) * y) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -2.2e+26) tmp = Float64(x + Float64(Float64(t / a) * y)); elseif (a <= 42.0) tmp = Float64(Float64(y / Float64(z / Float64(z - t))) + x); elseif (a <= 7.8e+148) tmp = Float64(Float64(y / Float64(a / t)) + x); else tmp = Float64(x + Float64(Float64(z / Float64(z - a)) * y)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -2.2e+26) tmp = x + ((t / a) * y); elseif (a <= 42.0) tmp = (y / (z / (z - t))) + x; elseif (a <= 7.8e+148) tmp = (y / (a / t)) + x; else tmp = x + ((z / (z - a)) * y); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2.2e+26], N[(x + N[(N[(t / a), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 42.0], N[(N[(y / N[(z / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[a, 7.8e+148], N[(N[(y / N[(a / t), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], N[(x + N[(N[(z / N[(z - a), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -2.2 \cdot 10^{+26}:\\
\;\;\;\;x + \frac{t}{a} \cdot y\\
\mathbf{elif}\;a \leq 42:\\
\;\;\;\;\frac{y}{\frac{z}{z - t}} + x\\
\mathbf{elif}\;a \leq 7.8 \cdot 10^{+148}:\\
\;\;\;\;\frac{y}{\frac{a}{t}} + x\\
\mathbf{else}:\\
\;\;\;\;x + \frac{z}{z - a} \cdot y\\
\end{array}
\end{array}
if a < -2.20000000000000007e26Initial program 86.3%
Applied egg-rr0
Taylor expanded in z around 0 0
Simplified0
if -2.20000000000000007e26 < a < 42Initial program 87.1%
Applied egg-rr0
Taylor expanded in a around 0 0
Simplified0
if 42 < a < 7.80000000000000004e148Initial program 90.7%
Applied egg-rr0
Taylor expanded in z around 0 0
Simplified0
if 7.80000000000000004e148 < a Initial program 83.2%
Applied egg-rr0
Taylor expanded in t around 0 0
Simplified0
(FPCore (x y z t a)
:precision binary64
(if (<= a -2.95e+28)
(+ x (* (/ t a) y))
(if (<= a 860.0)
(+ (* y (- 1.0 (/ t z))) x)
(if (<= a 3.9e+149) (+ (/ y (/ a t)) x) (+ x (* (/ z (- z a)) y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.95e+28) {
tmp = x + ((t / a) * y);
} else if (a <= 860.0) {
tmp = (y * (1.0 - (t / z))) + x;
} else if (a <= 3.9e+149) {
tmp = (y / (a / t)) + x;
} else {
tmp = x + ((z / (z - a)) * y);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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.95d+28)) then
tmp = x + ((t / a) * y)
else if (a <= 860.0d0) then
tmp = (y * (1.0d0 - (t / z))) + x
else if (a <= 3.9d+149) then
tmp = (y / (a / t)) + x
else
tmp = x + ((z / (z - a)) * y)
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.95e+28) {
tmp = x + ((t / a) * y);
} else if (a <= 860.0) {
tmp = (y * (1.0 - (t / z))) + x;
} else if (a <= 3.9e+149) {
tmp = (y / (a / t)) + x;
} else {
tmp = x + ((z / (z - a)) * y);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -2.95e+28: tmp = x + ((t / a) * y) elif a <= 860.0: tmp = (y * (1.0 - (t / z))) + x elif a <= 3.9e+149: tmp = (y / (a / t)) + x else: tmp = x + ((z / (z - a)) * y) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -2.95e+28) tmp = Float64(x + Float64(Float64(t / a) * y)); elseif (a <= 860.0) tmp = Float64(Float64(y * Float64(1.0 - Float64(t / z))) + x); elseif (a <= 3.9e+149) tmp = Float64(Float64(y / Float64(a / t)) + x); else tmp = Float64(x + Float64(Float64(z / Float64(z - a)) * y)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -2.95e+28) tmp = x + ((t / a) * y); elseif (a <= 860.0) tmp = (y * (1.0 - (t / z))) + x; elseif (a <= 3.9e+149) tmp = (y / (a / t)) + x; else tmp = x + ((z / (z - a)) * y); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2.95e+28], N[(x + N[(N[(t / a), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 860.0], N[(N[(y * N[(1.0 - N[(t / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[a, 3.9e+149], N[(N[(y / N[(a / t), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], N[(x + N[(N[(z / N[(z - a), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -2.95 \cdot 10^{+28}:\\
\;\;\;\;x + \frac{t}{a} \cdot y\\
\mathbf{elif}\;a \leq 860:\\
\;\;\;\;y \cdot \left(1 - \frac{t}{z}\right) + x\\
\mathbf{elif}\;a \leq 3.9 \cdot 10^{+149}:\\
\;\;\;\;\frac{y}{\frac{a}{t}} + x\\
\mathbf{else}:\\
\;\;\;\;x + \frac{z}{z - a} \cdot y\\
\end{array}
\end{array}
if a < -2.9500000000000001e28Initial program 86.3%
Applied egg-rr0
Taylor expanded in z around 0 0
Simplified0
if -2.9500000000000001e28 < a < 860Initial program 87.1%
Taylor expanded in a around 0 0
Simplified0
if 860 < a < 3.8999999999999999e149Initial program 90.7%
Applied egg-rr0
Taylor expanded in z around 0 0
Simplified0
if 3.8999999999999999e149 < a Initial program 83.2%
Applied egg-rr0
Taylor expanded in t around 0 0
Simplified0
(FPCore (x y z t a) :precision binary64 (let* ((t_1 (- x (* y (/ (- z t) a))))) (if (<= a -1.25e+27) t_1 (if (<= a 0.28) (+ (/ y (/ z (- z t))) x) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x - (y * ((z - t) / a));
double tmp;
if (a <= -1.25e+27) {
tmp = t_1;
} else if (a <= 0.28) {
tmp = (y / (z / (z - t))) + x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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 - t) / a))
if (a <= (-1.25d+27)) then
tmp = t_1
else if (a <= 0.28d0) then
tmp = (y / (z / (z - t))) + x
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 - t) / a));
double tmp;
if (a <= -1.25e+27) {
tmp = t_1;
} else if (a <= 0.28) {
tmp = (y / (z / (z - t))) + x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x - (y * ((z - t) / a)) tmp = 0 if a <= -1.25e+27: tmp = t_1 elif a <= 0.28: tmp = (y / (z / (z - t))) + x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x - Float64(y * Float64(Float64(z - t) / a))) tmp = 0.0 if (a <= -1.25e+27) tmp = t_1; elseif (a <= 0.28) tmp = Float64(Float64(y / Float64(z / Float64(z - t))) + x); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x - (y * ((z - t) / a)); tmp = 0.0; if (a <= -1.25e+27) tmp = t_1; elseif (a <= 0.28) tmp = (y / (z / (z - t))) + x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x - N[(y * N[(N[(z - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.25e+27], t$95$1, If[LessEqual[a, 0.28], N[(N[(y / N[(z / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - y \cdot \frac{z - t}{a}\\
\mathbf{if}\;a \leq -1.25 \cdot 10^{+27}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 0.28:\\
\;\;\;\;\frac{y}{\frac{z}{z - t}} + x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.24999999999999995e27 or 0.28000000000000003 < a Initial program 86.0%
Applied egg-rr0
Applied egg-rr0
Taylor expanded in a around inf 0
Simplified0
if -1.24999999999999995e27 < a < 0.28000000000000003Initial program 87.1%
Applied egg-rr0
Taylor expanded in a around 0 0
Simplified0
(FPCore (x y z t a) :precision binary64 (let* ((t_1 (+ x (* (/ z (- z a)) y)))) (if (<= z -9e-79) t_1 (if (<= z 4.5e-22) (+ (/ y (/ a t)) x) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z / (z - a)) * y);
double tmp;
if (z <= -9e-79) {
tmp = t_1;
} else if (z <= 4.5e-22) {
tmp = (y / (a / t)) + x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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 + ((z / (z - a)) * y)
if (z <= (-9d-79)) then
tmp = t_1
else if (z <= 4.5d-22) then
tmp = (y / (a / t)) + x
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 + ((z / (z - a)) * y);
double tmp;
if (z <= -9e-79) {
tmp = t_1;
} else if (z <= 4.5e-22) {
tmp = (y / (a / t)) + x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z / (z - a)) * y) tmp = 0 if z <= -9e-79: tmp = t_1 elif z <= 4.5e-22: tmp = (y / (a / t)) + x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z / Float64(z - a)) * y)) tmp = 0.0 if (z <= -9e-79) tmp = t_1; elseif (z <= 4.5e-22) tmp = Float64(Float64(y / Float64(a / t)) + x); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z / (z - a)) * y); tmp = 0.0; if (z <= -9e-79) tmp = t_1; elseif (z <= 4.5e-22) tmp = (y / (a / t)) + x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z / N[(z - a), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -9e-79], t$95$1, If[LessEqual[z, 4.5e-22], N[(N[(y / N[(a / t), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{z}{z - a} \cdot y\\
\mathbf{if}\;z \leq -9 \cdot 10^{-79}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 4.5 \cdot 10^{-22}:\\
\;\;\;\;\frac{y}{\frac{a}{t}} + x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -9.0000000000000006e-79 or 4.49999999999999987e-22 < z Initial program 80.5%
Applied egg-rr0
Taylor expanded in t around 0 0
Simplified0
if -9.0000000000000006e-79 < z < 4.49999999999999987e-22Initial program 95.6%
Applied egg-rr0
Taylor expanded in z around 0 0
Simplified0
(FPCore (x y z t a) :precision binary64 (if (<= z -5.2e-94) (+ y x) (if (<= z 6.5e+80) (+ (/ y (/ a t)) x) (+ y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -5.2e-94) {
tmp = y + x;
} else if (z <= 6.5e+80) {
tmp = (y / (a / t)) + x;
} else {
tmp = y + x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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 <= (-5.2d-94)) then
tmp = y + x
else if (z <= 6.5d+80) then
tmp = (y / (a / t)) + x
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -5.2e-94) {
tmp = y + x;
} else if (z <= 6.5e+80) {
tmp = (y / (a / t)) + x;
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -5.2e-94: tmp = y + x elif z <= 6.5e+80: tmp = (y / (a / t)) + x else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -5.2e-94) tmp = Float64(y + x); elseif (z <= 6.5e+80) tmp = Float64(Float64(y / Float64(a / t)) + x); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -5.2e-94) tmp = y + x; elseif (z <= 6.5e+80) tmp = (y / (a / t)) + x; else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -5.2e-94], N[(y + x), $MachinePrecision], If[LessEqual[z, 6.5e+80], N[(N[(y / N[(a / t), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], N[(y + x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -5.2 \cdot 10^{-94}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq 6.5 \cdot 10^{+80}:\\
\;\;\;\;\frac{y}{\frac{a}{t}} + x\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -5.19999999999999988e-94 or 6.4999999999999998e80 < z Initial program 78.7%
Taylor expanded in z around inf 0
Simplified0
if -5.19999999999999988e-94 < z < 6.4999999999999998e80Initial program 94.6%
Applied egg-rr0
Taylor expanded in z around 0 0
Simplified0
(FPCore (x y z t a) :precision binary64 (if (<= z -6.5e-94) (+ y x) (if (<= z 6.5e+80) (+ x (* (/ t a) y)) (+ y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -6.5e-94) {
tmp = y + x;
} else if (z <= 6.5e+80) {
tmp = x + ((t / a) * y);
} else {
tmp = y + x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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 <= (-6.5d-94)) then
tmp = y + x
else if (z <= 6.5d+80) then
tmp = x + ((t / a) * y)
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -6.5e-94) {
tmp = y + x;
} else if (z <= 6.5e+80) {
tmp = x + ((t / a) * y);
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -6.5e-94: tmp = y + x elif z <= 6.5e+80: tmp = x + ((t / a) * y) else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -6.5e-94) tmp = Float64(y + x); elseif (z <= 6.5e+80) tmp = Float64(x + Float64(Float64(t / a) * y)); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -6.5e-94) tmp = y + x; elseif (z <= 6.5e+80) tmp = x + ((t / a) * y); else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -6.5e-94], N[(y + x), $MachinePrecision], If[LessEqual[z, 6.5e+80], N[(x + N[(N[(t / a), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision], N[(y + x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -6.5 \cdot 10^{-94}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq 6.5 \cdot 10^{+80}:\\
\;\;\;\;x + \frac{t}{a} \cdot y\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -6.4999999999999996e-94 or 6.4999999999999998e80 < z Initial program 78.7%
Taylor expanded in z around inf 0
Simplified0
if -6.4999999999999996e-94 < z < 6.4999999999999998e80Initial program 94.6%
Applied egg-rr0
Taylor expanded in z around 0 0
Simplified0
(FPCore (x y z t a) :precision binary64 (let* ((t_1 (* y (- 1.0 (/ t z))))) (if (<= y -2.6e+127) t_1 (if (<= y 7.2e+167) (+ y x) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * (1.0 - (t / z));
double tmp;
if (y <= -2.6e+127) {
tmp = t_1;
} else if (y <= 7.2e+167) {
tmp = y + x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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 * (1.0d0 - (t / z))
if (y <= (-2.6d+127)) then
tmp = t_1
else if (y <= 7.2d+167) then
tmp = y + x
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 = y * (1.0 - (t / z));
double tmp;
if (y <= -2.6e+127) {
tmp = t_1;
} else if (y <= 7.2e+167) {
tmp = y + x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * (1.0 - (t / z)) tmp = 0 if y <= -2.6e+127: tmp = t_1 elif y <= 7.2e+167: tmp = y + x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(1.0 - Float64(t / z))) tmp = 0.0 if (y <= -2.6e+127) tmp = t_1; elseif (y <= 7.2e+167) tmp = Float64(y + x); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * (1.0 - (t / z)); tmp = 0.0; if (y <= -2.6e+127) tmp = t_1; elseif (y <= 7.2e+167) tmp = y + x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(1.0 - N[(t / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.6e+127], t$95$1, If[LessEqual[y, 7.2e+167], N[(y + x), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(1 - \frac{t}{z}\right)\\
\mathbf{if}\;y \leq -2.6 \cdot 10^{+127}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 7.2 \cdot 10^{+167}:\\
\;\;\;\;y + x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -2.6000000000000002e127 or 7.20000000000000049e167 < y Initial program 64.7%
Taylor expanded in a around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
if -2.6000000000000002e127 < y < 7.20000000000000049e167Initial program 96.3%
Taylor expanded in z around inf 0
Simplified0
(FPCore (x y z t a) :precision binary64 (if (<= z -9e-197) (+ y x) (if (<= z -1e-290) (/ (* t y) a) (+ y x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -9e-197) {
tmp = y + x;
} else if (z <= -1e-290) {
tmp = (t * y) / a;
} else {
tmp = y + x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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 <= (-9d-197)) then
tmp = y + x
else if (z <= (-1d-290)) then
tmp = (t * y) / a
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -9e-197) {
tmp = y + x;
} else if (z <= -1e-290) {
tmp = (t * y) / a;
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -9e-197: tmp = y + x elif z <= -1e-290: tmp = (t * y) / a else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -9e-197) tmp = Float64(y + x); elseif (z <= -1e-290) tmp = Float64(Float64(t * y) / a); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -9e-197) tmp = y + x; elseif (z <= -1e-290) tmp = (t * y) / a; else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -9e-197], N[(y + x), $MachinePrecision], If[LessEqual[z, -1e-290], N[(N[(t * y), $MachinePrecision] / a), $MachinePrecision], N[(y + x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -9 \cdot 10^{-197}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq -1 \cdot 10^{-290}:\\
\;\;\;\;\frac{t \cdot y}{a}\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -9.0000000000000002e-197 or -1.0000000000000001e-290 < z Initial program 85.4%
Taylor expanded in z around inf 0
Simplified0
if -9.0000000000000002e-197 < z < -1.0000000000000001e-290Initial program 99.9%
Applied egg-rr0
Taylor expanded in z around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
(FPCore (x y z t a) :precision binary64 (if (<= x -3e-122) x (if (<= x 3.2e-167) y x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -3e-122) {
tmp = x;
} else if (x <= 3.2e-167) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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 (x <= (-3d-122)) then
tmp = x
else if (x <= 3.2d-167) then
tmp = y
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -3e-122) {
tmp = x;
} else if (x <= 3.2e-167) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -3e-122: tmp = x elif x <= 3.2e-167: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -3e-122) tmp = x; elseif (x <= 3.2e-167) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -3e-122) tmp = x; elseif (x <= 3.2e-167) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -3e-122], x, If[LessEqual[x, 3.2e-167], y, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -3 \cdot 10^{-122}:\\
\;\;\;\;x\\
\mathbf{elif}\;x \leq 3.2 \cdot 10^{-167}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -3.00000000000000004e-122 or 3.2000000000000002e-167 < x Initial program 86.5%
Taylor expanded in x around inf 0
Simplified0
if -3.00000000000000004e-122 < x < 3.2000000000000002e-167Initial program 86.6%
Taylor expanded in z around inf 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
(FPCore (x y z t a) :precision binary64 (+ x (* (/ (- z t) (- z a)) y)))
double code(double x, double y, double z, double t, double a) {
return x + (((z - t) / (z - a)) * y);
}
real(8) function code(x, y, z, t, a)
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 + (((z - t) / (z - a)) * y)
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((z - t) / (z - a)) * y);
}
def code(x, y, z, t, a): return x + (((z - t) / (z - a)) * y)
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(z - t) / Float64(z - a)) * y)) end
function tmp = code(x, y, z, t, a) tmp = x + (((z - t) / (z - a)) * y); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(z - t), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{z - t}{z - a} \cdot y
\end{array}
Initial program 86.6%
Applied egg-rr0
(FPCore (x y z t a) :precision binary64 (if (<= a -4.5e+242) x (+ y x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -4.5e+242) {
tmp = x;
} else {
tmp = y + x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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 <= (-4.5d+242)) then
tmp = x
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -4.5e+242) {
tmp = x;
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -4.5e+242: tmp = x else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -4.5e+242) tmp = x; else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -4.5e+242) tmp = x; else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -4.5e+242], x, N[(y + x), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -4.5 \cdot 10^{+242}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if a < -4.4999999999999996e242Initial program 86.5%
Taylor expanded in x around inf 0
Simplified0
if -4.4999999999999996e242 < a Initial program 86.6%
Taylor expanded in z around inf 0
Simplified0
(FPCore (x y z t a) :precision binary64 x)
double code(double x, double y, double z, double t, double a) {
return x;
}
real(8) function code(x, y, z, t, a)
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
end function
public static double code(double x, double y, double z, double t, double a) {
return x;
}
def code(x, y, z, t, a): return x
function code(x, y, z, t, a) return x end
function tmp = code(x, y, z, t, a) tmp = x; end
code[x_, y_, z_, t_, a_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 86.6%
Taylor expanded in x around inf 0
Simplified0
(FPCore (x y z t a) :precision binary64 (+ x (/ y (/ (- z a) (- z t)))))
double code(double x, double y, double z, double t, double a) {
return x + (y / ((z - a) / (z - t)));
}
real(8) function code(x, y, z, t, a)
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 - a) / (z - t)))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (y / ((z - a) / (z - t)));
}
def code(x, y, z, t, a): return x + (y / ((z - a) / (z - t)))
function code(x, y, z, t, a) return Float64(x + Float64(y / Float64(Float64(z - a) / Float64(z - t)))) end
function tmp = code(x, y, z, t, a) tmp = x + (y / ((z - a) / (z - t))); end
code[x_, y_, z_, t_, a_] := N[(x + N[(y / N[(N[(z - a), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{y}{\frac{z - a}{z - t}}
\end{array}
herbie shell --seed 2024110
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTicks from plot-0.2.3.4, A"
:precision binary64
:alt
(+ x (/ y (/ (- z a) (- z t))))
(+ x (/ (* y (- z t)) (- z a))))