Math FPCore C Fortran Java Python Julia MATLAB Wolfram TeX \[\frac{x \cdot \frac{\sin y}{y}}{z}
\]
↓
\[\begin{array}{l}
t_0 := \frac{\sin y}{y}\\
t_1 := x \cdot t_0\\
\mathbf{if}\;t_1 \leq -1 \cdot 10^{-298}:\\
\;\;\;\;\frac{t_1}{z}\\
\mathbf{elif}\;t_1 \leq 10^{-315}:\\
\;\;\;\;\frac{\sin y \cdot x}{y \cdot z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot \left(t_0 \cdot \left(t_0 \cdot \frac{1}{t_0}\right)\right)}{z}\\
\end{array}
\]
(FPCore (x y z) :precision binary64 (/ (* x (/ (sin y) y)) z)) ↓
(FPCore (x y z)
:precision binary64
(let* ((t_0 (/ (sin y) y)) (t_1 (* x t_0)))
(if (<= t_1 -1e-298)
(/ t_1 z)
(if (<= t_1 1e-315)
(/ (* (sin y) x) (* y z))
(/ (* x (* t_0 (* t_0 (/ 1.0 t_0)))) z))))) double code(double x, double y, double z) {
return (x * (sin(y) / y)) / z;
}
↓
double code(double x, double y, double z) {
double t_0 = sin(y) / y;
double t_1 = x * t_0;
double tmp;
if (t_1 <= -1e-298) {
tmp = t_1 / z;
} else if (t_1 <= 1e-315) {
tmp = (sin(y) * x) / (y * z);
} else {
tmp = (x * (t_0 * (t_0 * (1.0 / t_0)))) / z;
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = (x * (sin(y) / y)) / z
end function
↓
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = sin(y) / y
t_1 = x * t_0
if (t_1 <= (-1d-298)) then
tmp = t_1 / z
else if (t_1 <= 1d-315) then
tmp = (sin(y) * x) / (y * z)
else
tmp = (x * (t_0 * (t_0 * (1.0d0 / t_0)))) / z
end if
code = tmp
end function
public static double code(double x, double y, double z) {
return (x * (Math.sin(y) / y)) / z;
}
↓
public static double code(double x, double y, double z) {
double t_0 = Math.sin(y) / y;
double t_1 = x * t_0;
double tmp;
if (t_1 <= -1e-298) {
tmp = t_1 / z;
} else if (t_1 <= 1e-315) {
tmp = (Math.sin(y) * x) / (y * z);
} else {
tmp = (x * (t_0 * (t_0 * (1.0 / t_0)))) / z;
}
return tmp;
}
def code(x, y, z):
return (x * (math.sin(y) / y)) / z
↓
def code(x, y, z):
t_0 = math.sin(y) / y
t_1 = x * t_0
tmp = 0
if t_1 <= -1e-298:
tmp = t_1 / z
elif t_1 <= 1e-315:
tmp = (math.sin(y) * x) / (y * z)
else:
tmp = (x * (t_0 * (t_0 * (1.0 / t_0)))) / z
return tmp
function code(x, y, z)
return Float64(Float64(x * Float64(sin(y) / y)) / z)
end
↓
function code(x, y, z)
t_0 = Float64(sin(y) / y)
t_1 = Float64(x * t_0)
tmp = 0.0
if (t_1 <= -1e-298)
tmp = Float64(t_1 / z);
elseif (t_1 <= 1e-315)
tmp = Float64(Float64(sin(y) * x) / Float64(y * z));
else
tmp = Float64(Float64(x * Float64(t_0 * Float64(t_0 * Float64(1.0 / t_0)))) / z);
end
return tmp
end
function tmp = code(x, y, z)
tmp = (x * (sin(y) / y)) / z;
end
↓
function tmp_2 = code(x, y, z)
t_0 = sin(y) / y;
t_1 = x * t_0;
tmp = 0.0;
if (t_1 <= -1e-298)
tmp = t_1 / z;
elseif (t_1 <= 1e-315)
tmp = (sin(y) * x) / (y * z);
else
tmp = (x * (t_0 * (t_0 * (1.0 / t_0)))) / z;
end
tmp_2 = tmp;
end
code[x_, y_, z_] := N[(N[(x * N[(N[Sin[y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]
↓
code[x_, y_, z_] := Block[{t$95$0 = N[(N[Sin[y], $MachinePrecision] / y), $MachinePrecision]}, Block[{t$95$1 = N[(x * t$95$0), $MachinePrecision]}, If[LessEqual[t$95$1, -1e-298], N[(t$95$1 / z), $MachinePrecision], If[LessEqual[t$95$1, 1e-315], N[(N[(N[Sin[y], $MachinePrecision] * x), $MachinePrecision] / N[(y * z), $MachinePrecision]), $MachinePrecision], N[(N[(x * N[(t$95$0 * N[(t$95$0 * N[(1.0 / t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]]]]]
\frac{x \cdot \frac{\sin y}{y}}{z}
↓
\begin{array}{l}
t_0 := \frac{\sin y}{y}\\
t_1 := x \cdot t_0\\
\mathbf{if}\;t_1 \leq -1 \cdot 10^{-298}:\\
\;\;\;\;\frac{t_1}{z}\\
\mathbf{elif}\;t_1 \leq 10^{-315}:\\
\;\;\;\;\frac{\sin y \cdot x}{y \cdot z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot \left(t_0 \cdot \left(t_0 \cdot \frac{1}{t_0}\right)\right)}{z}\\
\end{array}