\[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\]
↓
\[\begin{array}{l}
\mathbf{if}\;i \leq -0.0125:\\
\;\;\;\;100 \cdot \frac{\mathsf{expm1}\left(\mathsf{fma}\left(-\log \left(\frac{-1}{i}\right) \cdot \sqrt[3]{n}, \sqrt[3]{n \cdot n}, n \cdot \log \left(\frac{-1}{n}\right)\right)\right)}{\frac{i}{n}}\\
\mathbf{elif}\;i \leq 0.019:\\
\;\;\;\;100 \cdot n\\
\mathbf{else}:\\
\;\;\;\;100 \cdot \frac{\mathsf{expm1}\left(n \cdot \left(\left(-\log \left(\frac{1}{i}\right)\right) + \log \left(\frac{1}{n}\right)\right)\right)}{\frac{i}{n}}\\
\end{array}
\]
(FPCore (i n)
:precision binary64
(* 100.0 (/ (- (pow (+ 1.0 (/ i n)) n) 1.0) (/ i n))))
↓
(FPCore (i n)
:precision binary64
(if (<= i -0.0125)
(*
100.0
(/
(expm1
(fma
(- (* (log (/ -1.0 i)) (cbrt n)))
(cbrt (* n n))
(* n (log (/ -1.0 n)))))
(/ i n)))
(if (<= i 0.019)
(* 100.0 n)
(*
100.0
(/ (expm1 (* n (+ (- (log (/ 1.0 i))) (log (/ 1.0 n))))) (/ i n))))))double code(double i, double n) {
return 100.0 * ((pow((1.0 + (i / n)), n) - 1.0) / (i / n));
}
↓
double code(double i, double n) {
double tmp;
if (i <= -0.0125) {
tmp = 100.0 * (expm1(fma(-(log((-1.0 / i)) * cbrt(n)), cbrt((n * n)), (n * log((-1.0 / n))))) / (i / n));
} else if (i <= 0.019) {
tmp = 100.0 * n;
} else {
tmp = 100.0 * (expm1((n * (-log((1.0 / i)) + log((1.0 / n))))) / (i / n));
}
return tmp;
}
function code(i, n)
return Float64(100.0 * Float64(Float64((Float64(1.0 + Float64(i / n)) ^ n) - 1.0) / Float64(i / n)))
end
↓
function code(i, n)
tmp = 0.0
if (i <= -0.0125)
tmp = Float64(100.0 * Float64(expm1(fma(Float64(-Float64(log(Float64(-1.0 / i)) * cbrt(n))), cbrt(Float64(n * n)), Float64(n * log(Float64(-1.0 / n))))) / Float64(i / n)));
elseif (i <= 0.019)
tmp = Float64(100.0 * n);
else
tmp = Float64(100.0 * Float64(expm1(Float64(n * Float64(Float64(-log(Float64(1.0 / i))) + log(Float64(1.0 / n))))) / Float64(i / n)));
end
return tmp
end
code[i_, n_] := N[(100.0 * N[(N[(N[Power[N[(1.0 + N[(i / n), $MachinePrecision]), $MachinePrecision], n], $MachinePrecision] - 1.0), $MachinePrecision] / N[(i / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[i_, n_] := If[LessEqual[i, -0.0125], N[(100.0 * N[(N[(Exp[N[((-N[(N[Log[N[(-1.0 / i), $MachinePrecision]], $MachinePrecision] * N[Power[n, 1/3], $MachinePrecision]), $MachinePrecision]) * N[Power[N[(n * n), $MachinePrecision], 1/3], $MachinePrecision] + N[(n * N[Log[N[(-1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]] - 1), $MachinePrecision] / N[(i / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 0.019], N[(100.0 * n), $MachinePrecision], N[(100.0 * N[(N[(Exp[N[(n * N[((-N[Log[N[(1.0 / i), $MachinePrecision]], $MachinePrecision]) + N[Log[N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]] - 1), $MachinePrecision] / N[(i / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
↓
\begin{array}{l}
\mathbf{if}\;i \leq -0.0125:\\
\;\;\;\;100 \cdot \frac{\mathsf{expm1}\left(\mathsf{fma}\left(-\log \left(\frac{-1}{i}\right) \cdot \sqrt[3]{n}, \sqrt[3]{n \cdot n}, n \cdot \log \left(\frac{-1}{n}\right)\right)\right)}{\frac{i}{n}}\\
\mathbf{elif}\;i \leq 0.019:\\
\;\;\;\;100 \cdot n\\
\mathbf{else}:\\
\;\;\;\;100 \cdot \frac{\mathsf{expm1}\left(n \cdot \left(\left(-\log \left(\frac{1}{i}\right)\right) + \log \left(\frac{1}{n}\right)\right)\right)}{\frac{i}{n}}\\
\end{array}