| Alternative 1 | |
|---|---|
| Error | 13.0 |
| Cost | 14228 |
(FPCore (i n) :precision binary64 (* 100.0 (/ (- (pow (+ 1.0 (/ i n)) n) 1.0) (/ i n))))
(FPCore (i n)
:precision binary64
(if (<= i -4.2e-9)
(* n (* (+ -1.0 (exp i)) (/ 100.0 i)))
(if (<= i 6.8e-98)
(- (/ 76800.0 (/ 1024.0 n)) (/ 25600.0 (/ -1024.0 n)))
(if (<= i 4.2e-22)
(* 100.0 (* (/ i n) (/ 1.0 (/ i (* n n)))))
(if (<= i 12.0)
(* n (* 50.0 (+ i 2.0)))
(if (<= i 1.75e+204)
(* (pow n 2.0) (* (+ (- (log n)) (log i)) (/ 100.0 i)))
(if (<= i 3.2e+272)
(* (+ (pow (+ 1.0 (/ i n)) n) -1.0) (/ 100.0 (/ i n)))
0.0)))))))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 <= -4.2e-9) {
tmp = n * ((-1.0 + exp(i)) * (100.0 / i));
} else if (i <= 6.8e-98) {
tmp = (76800.0 / (1024.0 / n)) - (25600.0 / (-1024.0 / n));
} else if (i <= 4.2e-22) {
tmp = 100.0 * ((i / n) * (1.0 / (i / (n * n))));
} else if (i <= 12.0) {
tmp = n * (50.0 * (i + 2.0));
} else if (i <= 1.75e+204) {
tmp = pow(n, 2.0) * ((-log(n) + log(i)) * (100.0 / i));
} else if (i <= 3.2e+272) {
tmp = (pow((1.0 + (i / n)), n) + -1.0) * (100.0 / (i / n));
} else {
tmp = 0.0;
}
return tmp;
}
real(8) function code(i, n)
real(8), intent (in) :: i
real(8), intent (in) :: n
code = 100.0d0 * ((((1.0d0 + (i / n)) ** n) - 1.0d0) / (i / n))
end function
real(8) function code(i, n)
real(8), intent (in) :: i
real(8), intent (in) :: n
real(8) :: tmp
if (i <= (-4.2d-9)) then
tmp = n * (((-1.0d0) + exp(i)) * (100.0d0 / i))
else if (i <= 6.8d-98) then
tmp = (76800.0d0 / (1024.0d0 / n)) - (25600.0d0 / ((-1024.0d0) / n))
else if (i <= 4.2d-22) then
tmp = 100.0d0 * ((i / n) * (1.0d0 / (i / (n * n))))
else if (i <= 12.0d0) then
tmp = n * (50.0d0 * (i + 2.0d0))
else if (i <= 1.75d+204) then
tmp = (n ** 2.0d0) * ((-log(n) + log(i)) * (100.0d0 / i))
else if (i <= 3.2d+272) then
tmp = (((1.0d0 + (i / n)) ** n) + (-1.0d0)) * (100.0d0 / (i / n))
else
tmp = 0.0d0
end if
code = tmp
end function
public static double code(double i, double n) {
return 100.0 * ((Math.pow((1.0 + (i / n)), n) - 1.0) / (i / n));
}
public static double code(double i, double n) {
double tmp;
if (i <= -4.2e-9) {
tmp = n * ((-1.0 + Math.exp(i)) * (100.0 / i));
} else if (i <= 6.8e-98) {
tmp = (76800.0 / (1024.0 / n)) - (25600.0 / (-1024.0 / n));
} else if (i <= 4.2e-22) {
tmp = 100.0 * ((i / n) * (1.0 / (i / (n * n))));
} else if (i <= 12.0) {
tmp = n * (50.0 * (i + 2.0));
} else if (i <= 1.75e+204) {
tmp = Math.pow(n, 2.0) * ((-Math.log(n) + Math.log(i)) * (100.0 / i));
} else if (i <= 3.2e+272) {
tmp = (Math.pow((1.0 + (i / n)), n) + -1.0) * (100.0 / (i / n));
} else {
tmp = 0.0;
}
return tmp;
}
def code(i, n): return 100.0 * ((math.pow((1.0 + (i / n)), n) - 1.0) / (i / n))
def code(i, n): tmp = 0 if i <= -4.2e-9: tmp = n * ((-1.0 + math.exp(i)) * (100.0 / i)) elif i <= 6.8e-98: tmp = (76800.0 / (1024.0 / n)) - (25600.0 / (-1024.0 / n)) elif i <= 4.2e-22: tmp = 100.0 * ((i / n) * (1.0 / (i / (n * n)))) elif i <= 12.0: tmp = n * (50.0 * (i + 2.0)) elif i <= 1.75e+204: tmp = math.pow(n, 2.0) * ((-math.log(n) + math.log(i)) * (100.0 / i)) elif i <= 3.2e+272: tmp = (math.pow((1.0 + (i / n)), n) + -1.0) * (100.0 / (i / n)) else: tmp = 0.0 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 <= -4.2e-9) tmp = Float64(n * Float64(Float64(-1.0 + exp(i)) * Float64(100.0 / i))); elseif (i <= 6.8e-98) tmp = Float64(Float64(76800.0 / Float64(1024.0 / n)) - Float64(25600.0 / Float64(-1024.0 / n))); elseif (i <= 4.2e-22) tmp = Float64(100.0 * Float64(Float64(i / n) * Float64(1.0 / Float64(i / Float64(n * n))))); elseif (i <= 12.0) tmp = Float64(n * Float64(50.0 * Float64(i + 2.0))); elseif (i <= 1.75e+204) tmp = Float64((n ^ 2.0) * Float64(Float64(Float64(-log(n)) + log(i)) * Float64(100.0 / i))); elseif (i <= 3.2e+272) tmp = Float64(Float64((Float64(1.0 + Float64(i / n)) ^ n) + -1.0) * Float64(100.0 / Float64(i / n))); else tmp = 0.0; end return tmp end
function tmp = code(i, n) tmp = 100.0 * ((((1.0 + (i / n)) ^ n) - 1.0) / (i / n)); end
function tmp_2 = code(i, n) tmp = 0.0; if (i <= -4.2e-9) tmp = n * ((-1.0 + exp(i)) * (100.0 / i)); elseif (i <= 6.8e-98) tmp = (76800.0 / (1024.0 / n)) - (25600.0 / (-1024.0 / n)); elseif (i <= 4.2e-22) tmp = 100.0 * ((i / n) * (1.0 / (i / (n * n)))); elseif (i <= 12.0) tmp = n * (50.0 * (i + 2.0)); elseif (i <= 1.75e+204) tmp = (n ^ 2.0) * ((-log(n) + log(i)) * (100.0 / i)); elseif (i <= 3.2e+272) tmp = (((1.0 + (i / n)) ^ n) + -1.0) * (100.0 / (i / n)); else tmp = 0.0; end tmp_2 = 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, -4.2e-9], N[(n * N[(N[(-1.0 + N[Exp[i], $MachinePrecision]), $MachinePrecision] * N[(100.0 / i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 6.8e-98], N[(N[(76800.0 / N[(1024.0 / n), $MachinePrecision]), $MachinePrecision] - N[(25600.0 / N[(-1024.0 / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 4.2e-22], N[(100.0 * N[(N[(i / n), $MachinePrecision] * N[(1.0 / N[(i / N[(n * n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 12.0], N[(n * N[(50.0 * N[(i + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 1.75e+204], N[(N[Power[n, 2.0], $MachinePrecision] * N[(N[((-N[Log[n], $MachinePrecision]) + N[Log[i], $MachinePrecision]), $MachinePrecision] * N[(100.0 / i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 3.2e+272], N[(N[(N[Power[N[(1.0 + N[(i / n), $MachinePrecision]), $MachinePrecision], n], $MachinePrecision] + -1.0), $MachinePrecision] * N[(100.0 / N[(i / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.0]]]]]]
100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\begin{array}{l}
\mathbf{if}\;i \leq -4.2 \cdot 10^{-9}:\\
\;\;\;\;n \cdot \left(\left(-1 + e^{i}\right) \cdot \frac{100}{i}\right)\\
\mathbf{elif}\;i \leq 6.8 \cdot 10^{-98}:\\
\;\;\;\;\frac{76800}{\frac{1024}{n}} - \frac{25600}{\frac{-1024}{n}}\\
\mathbf{elif}\;i \leq 4.2 \cdot 10^{-22}:\\
\;\;\;\;100 \cdot \left(\frac{i}{n} \cdot \frac{1}{\frac{i}{n \cdot n}}\right)\\
\mathbf{elif}\;i \leq 12:\\
\;\;\;\;n \cdot \left(50 \cdot \left(i + 2\right)\right)\\
\mathbf{elif}\;i \leq 1.75 \cdot 10^{+204}:\\
\;\;\;\;{n}^{2} \cdot \left(\left(\left(-\log n\right) + \log i\right) \cdot \frac{100}{i}\right)\\
\mathbf{elif}\;i \leq 3.2 \cdot 10^{+272}:\\
\;\;\;\;\left({\left(1 + \frac{i}{n}\right)}^{n} + -1\right) \cdot \frac{100}{\frac{i}{n}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
Results
| Original | 47.9 |
|---|---|
| Target | 47.6 |
| Herbie | 13.0 |
if i < -4.20000000000000039e-9Initial program 29.4
Simplified29.3
[Start]29.4 | \[ 100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\] |
|---|---|
rational_best-simplify-55 [=>]29.3 | \[ \color{blue}{\left({\left(1 + \frac{i}{n}\right)}^{n} - 1\right) \cdot \frac{100}{\frac{i}{n}}}
\] |
rational_best-simplify-18 [=>]29.3 | \[ \color{blue}{\left({\left(1 + \frac{i}{n}\right)}^{n} + -1\right)} \cdot \frac{100}{\frac{i}{n}}
\] |
Taylor expanded in n around inf 13.1
Simplified13.1
[Start]13.1 | \[ 100 \cdot \frac{n \cdot \left(e^{i} - 1\right)}{i}
\] |
|---|---|
rational_best-simplify-55 [=>]13.1 | \[ \color{blue}{\left(n \cdot \left(e^{i} - 1\right)\right) \cdot \frac{100}{i}}
\] |
rational_best-simplify-1 [=>]13.1 | \[ \color{blue}{\frac{100}{i} \cdot \left(n \cdot \left(e^{i} - 1\right)\right)}
\] |
rational_best-simplify-1 [=>]13.1 | \[ \frac{100}{i} \cdot \color{blue}{\left(\left(e^{i} - 1\right) \cdot n\right)}
\] |
rational_best-simplify-50 [=>]13.1 | \[ \color{blue}{n \cdot \left(\left(e^{i} - 1\right) \cdot \frac{100}{i}\right)}
\] |
rational_best-simplify-18 [=>]13.1 | \[ n \cdot \left(\color{blue}{\left(e^{i} + -1\right)} \cdot \frac{100}{i}\right)
\] |
rational_best-simplify-3 [=>]13.1 | \[ n \cdot \left(\color{blue}{\left(-1 + e^{i}\right)} \cdot \frac{100}{i}\right)
\] |
if -4.20000000000000039e-9 < i < 6.8000000000000003e-98Initial program 58.9
Taylor expanded in i around 0 27.9
Applied egg-rr7.6
Simplified7.6
[Start]7.6 | \[ 100 \cdot \left(\frac{1}{\frac{0.5}{n}} \cdot 0.5\right)
\] |
|---|---|
rational_best-simplify-1 [<=]7.6 | \[ 100 \cdot \color{blue}{\left(0.5 \cdot \frac{1}{\frac{0.5}{n}}\right)}
\] |
rational_best-simplify-55 [=>]7.6 | \[ 100 \cdot \color{blue}{\left(1 \cdot \frac{0.5}{\frac{0.5}{n}}\right)}
\] |
rational_best-simplify-1 [=>]7.6 | \[ 100 \cdot \color{blue}{\left(\frac{0.5}{\frac{0.5}{n}} \cdot 1\right)}
\] |
rational_best-simplify-7 [=>]7.6 | \[ 100 \cdot \color{blue}{\frac{0.5}{\frac{0.5}{n}}}
\] |
rational_best-simplify-108 [=>]7.6 | \[ 100 \cdot \color{blue}{\frac{0.5 + 0.5}{\frac{0.5}{n} + \frac{0.5}{n}}}
\] |
metadata-eval [=>]7.6 | \[ 100 \cdot \frac{\color{blue}{1}}{\frac{0.5}{n} + \frac{0.5}{n}}
\] |
rational_best-simplify-108 [=>]7.6 | \[ 100 \cdot \color{blue}{\frac{1 + 1}{\left(\frac{0.5}{n} + \frac{0.5}{n}\right) + \left(\frac{0.5}{n} + \frac{0.5}{n}\right)}}
\] |
metadata-eval [=>]7.6 | \[ 100 \cdot \frac{\color{blue}{2}}{\left(\frac{0.5}{n} + \frac{0.5}{n}\right) + \left(\frac{0.5}{n} + \frac{0.5}{n}\right)}
\] |
rational_best-simplify-64 [=>]7.6 | \[ 100 \cdot \frac{2}{\color{blue}{\frac{0.5 + 0.5}{n}} + \left(\frac{0.5}{n} + \frac{0.5}{n}\right)}
\] |
metadata-eval [=>]7.6 | \[ 100 \cdot \frac{2}{\frac{\color{blue}{1}}{n} + \left(\frac{0.5}{n} + \frac{0.5}{n}\right)}
\] |
rational_best-simplify-64 [=>]7.6 | \[ 100 \cdot \frac{2}{\frac{1}{n} + \color{blue}{\frac{0.5 + 0.5}{n}}}
\] |
metadata-eval [=>]7.6 | \[ 100 \cdot \frac{2}{\frac{1}{n} + \frac{\color{blue}{1}}{n}}
\] |
rational_best-simplify-64 [=>]7.6 | \[ 100 \cdot \frac{2}{\color{blue}{\frac{1 + 1}{n}}}
\] |
metadata-eval [=>]7.6 | \[ 100 \cdot \frac{2}{\frac{\color{blue}{2}}{n}}
\] |
Applied egg-rr7.7
Simplified7.6
[Start]7.7 | \[ \frac{100}{\frac{1}{n}} + 0
\] |
|---|---|
rational_best-simplify-3 [<=]7.7 | \[ \color{blue}{0 + \frac{100}{\frac{1}{n}}}
\] |
rational_best-simplify-6 [=>]7.7 | \[ \color{blue}{\frac{100}{\frac{1}{n}}}
\] |
metadata-eval [<=]7.7 | \[ \frac{\color{blue}{\frac{200}{2}}}{\frac{1}{n}}
\] |
rational_best-simplify-54 [<=]7.7 | \[ \color{blue}{\frac{200}{2 \cdot \frac{1}{n}}}
\] |
rational_best-simplify-55 [=>]7.7 | \[ \frac{200}{\color{blue}{1 \cdot \frac{2}{n}}}
\] |
rational_best-simplify-1 [<=]7.7 | \[ \frac{200}{\color{blue}{\frac{2}{n} \cdot 1}}
\] |
rational_best-simplify-7 [=>]7.7 | \[ \frac{200}{\color{blue}{\frac{2}{n}}}
\] |
rational_best-simplify-108 [=>]7.7 | \[ \color{blue}{\frac{200 + 200}{\frac{2}{n} + \frac{2}{n}}}
\] |
metadata-eval [=>]7.7 | \[ \frac{\color{blue}{400}}{\frac{2}{n} + \frac{2}{n}}
\] |
rational_best-simplify-64 [=>]7.7 | \[ \frac{400}{\color{blue}{\frac{2 + 2}{n}}}
\] |
metadata-eval [=>]7.7 | \[ \frac{400}{\frac{\color{blue}{4}}{n}}
\] |
rational_best-simplify-108 [=>]7.7 | \[ \color{blue}{\frac{400 + 400}{\frac{4}{n} + \frac{4}{n}}}
\] |
metadata-eval [=>]7.7 | \[ \frac{\color{blue}{800}}{\frac{4}{n} + \frac{4}{n}}
\] |
rational_best-simplify-64 [=>]7.7 | \[ \frac{800}{\color{blue}{\frac{4 + 4}{n}}}
\] |
metadata-eval [=>]7.7 | \[ \frac{800}{\frac{\color{blue}{8}}{n}}
\] |
rational_best-simplify-108 [=>]7.6 | \[ \color{blue}{\frac{800 + 800}{\frac{8}{n} + \frac{8}{n}}}
\] |
metadata-eval [=>]7.6 | \[ \frac{\color{blue}{1600}}{\frac{8}{n} + \frac{8}{n}}
\] |
rational_best-simplify-64 [=>]7.6 | \[ \frac{1600}{\color{blue}{\frac{8 + 8}{n}}}
\] |
metadata-eval [=>]7.6 | \[ \frac{1600}{\frac{\color{blue}{16}}{n}}
\] |
rational_best-simplify-108 [=>]7.6 | \[ \color{blue}{\frac{1600 + 1600}{\frac{16}{n} + \frac{16}{n}}}
\] |
rational_best-simplify-108 [=>]7.6 | \[ \color{blue}{\frac{\left(1600 + 1600\right) + \left(1600 + 1600\right)}{\left(\frac{16}{n} + \frac{16}{n}\right) + \left(\frac{16}{n} + \frac{16}{n}\right)}}
\] |
rational_best-simplify-108 [=>]7.6 | \[ \color{blue}{\frac{\left(\left(1600 + 1600\right) + \left(1600 + 1600\right)\right) + \left(\left(1600 + 1600\right) + \left(1600 + 1600\right)\right)}{\left(\left(\frac{16}{n} + \frac{16}{n}\right) + \left(\frac{16}{n} + \frac{16}{n}\right)\right) + \left(\left(\frac{16}{n} + \frac{16}{n}\right) + \left(\frac{16}{n} + \frac{16}{n}\right)\right)}}
\] |
Applied egg-rr7.7
Simplified7.6
[Start]7.7 | \[ \frac{\frac{307200}{\frac{1024}{n}}}{4} - \frac{\frac{12800}{\frac{-128}{n}}}{4}
\] |
|---|---|
rational_best-simplify-49 [=>]7.6 | \[ \color{blue}{\frac{\frac{307200}{4}}{\frac{1024}{n}}} - \frac{\frac{12800}{\frac{-128}{n}}}{4}
\] |
metadata-eval [=>]7.6 | \[ \frac{\color{blue}{76800}}{\frac{1024}{n}} - \frac{\frac{12800}{\frac{-128}{n}}}{4}
\] |
rational_best-simplify-108 [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{\color{blue}{\frac{12800 + 12800}{\frac{-128}{n} + \frac{-128}{n}}}}{4}
\] |
metadata-eval [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{\frac{\color{blue}{25600}}{\frac{-128}{n} + \frac{-128}{n}}}{4}
\] |
rational_best-simplify-108 [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{\color{blue}{\frac{25600 + 25600}{\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)}}}{4}
\] |
metadata-eval [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{\frac{\color{blue}{51200}}{\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)}}{4}
\] |
rational_best-simplify-108 [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{\color{blue}{\frac{51200 + 51200}{\left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right) + \left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right)}}}{4}
\] |
metadata-eval [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{\frac{\color{blue}{102400}}{\left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right) + \left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right)}}{4}
\] |
rational_best-simplify-49 [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \color{blue}{\frac{\frac{102400}{4}}{\left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right) + \left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right)}}
\] |
metadata-eval [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{\color{blue}{25600}}{\left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right) + \left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right)}
\] |
rational_best-simplify-64 [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{25600}{\left(\color{blue}{\frac{-128 + -128}{n}} + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right) + \left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right)}
\] |
rational_best-simplify-64 [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{25600}{\left(\frac{-128 + -128}{n} + \color{blue}{\frac{-128 + -128}{n}}\right) + \left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right)}
\] |
rational_best-simplify-64 [=>]7.6 | \[ \frac{76800}{\frac{1024}{n}} - \frac{25600}{\color{blue}{\frac{\left(-128 + -128\right) + \left(-128 + -128\right)}{n}} + \left(\left(\frac{-128}{n} + \frac{-128}{n}\right) + \left(\frac{-128}{n} + \frac{-128}{n}\right)\right)}
\] |
if 6.8000000000000003e-98 < i < 4.20000000000000016e-22Initial program 54.8
Taylor expanded in i around 0 21.8
Applied egg-rr22.7
Simplified31.3
[Start]22.7 | \[ 100 \cdot \left(\frac{0.5}{\frac{i}{n}} \cdot \left(\frac{i}{n} \cdot \frac{1}{\frac{0.5}{n}}\right)\right)
\] |
|---|---|
rational_best-simplify-1 [<=]22.7 | \[ 100 \cdot \color{blue}{\left(\left(\frac{i}{n} \cdot \frac{1}{\frac{0.5}{n}}\right) \cdot \frac{0.5}{\frac{i}{n}}\right)}
\] |
rational_best-simplify-81 [=>]21.4 | \[ 100 \cdot \color{blue}{\frac{\frac{1}{\frac{0.5}{n}} \cdot 0.5}{\frac{\frac{i}{n}}{\frac{i}{n}}}}
\] |
rational_best-simplify-1 [<=]21.4 | \[ 100 \cdot \frac{\color{blue}{0.5 \cdot \frac{1}{\frac{0.5}{n}}}}{\frac{\frac{i}{n}}{\frac{i}{n}}}
\] |
rational_best-simplify-55 [=>]21.4 | \[ 100 \cdot \frac{\color{blue}{1 \cdot \frac{0.5}{\frac{0.5}{n}}}}{\frac{\frac{i}{n}}{\frac{i}{n}}}
\] |
rational_best-simplify-82 [=>]31.4 | \[ 100 \cdot \color{blue}{\left(\left(\frac{i}{n} \cdot 1\right) \cdot \frac{\frac{0.5}{\frac{0.5}{n}}}{\frac{i}{n}}\right)}
\] |
rational_best-simplify-7 [=>]31.4 | \[ 100 \cdot \left(\color{blue}{\frac{i}{n}} \cdot \frac{\frac{0.5}{\frac{0.5}{n}}}{\frac{i}{n}}\right)
\] |
rational_best-simplify-108 [=>]31.4 | \[ 100 \cdot \left(\frac{i}{n} \cdot \frac{\color{blue}{\frac{0.5 + 0.5}{\frac{0.5}{n} + \frac{0.5}{n}}}}{\frac{i}{n}}\right)
\] |
metadata-eval [=>]31.4 | \[ 100 \cdot \left(\frac{i}{n} \cdot \frac{\frac{\color{blue}{1}}{\frac{0.5}{n} + \frac{0.5}{n}}}{\frac{i}{n}}\right)
\] |
rational_best-simplify-53 [=>]31.4 | \[ 100 \cdot \left(\frac{i}{n} \cdot \color{blue}{\frac{1}{\left(\frac{0.5}{n} + \frac{0.5}{n}\right) \cdot \frac{i}{n}}}\right)
\] |
rational_best-simplify-64 [=>]31.4 | \[ 100 \cdot \left(\frac{i}{n} \cdot \frac{1}{\color{blue}{\frac{0.5 + 0.5}{n}} \cdot \frac{i}{n}}\right)
\] |
metadata-eval [=>]31.4 | \[ 100 \cdot \left(\frac{i}{n} \cdot \frac{1}{\frac{\color{blue}{1}}{n} \cdot \frac{i}{n}}\right)
\] |
rational_best-simplify-79 [=>]31.3 | \[ 100 \cdot \left(\frac{i}{n} \cdot \frac{1}{\color{blue}{\frac{1 \cdot i}{n \cdot n}}}\right)
\] |
rational_best-simplify-1 [<=]31.3 | \[ 100 \cdot \left(\frac{i}{n} \cdot \frac{1}{\frac{\color{blue}{i \cdot 1}}{n \cdot n}}\right)
\] |
rational_best-simplify-7 [=>]31.3 | \[ 100 \cdot \left(\frac{i}{n} \cdot \frac{1}{\frac{\color{blue}{i}}{n \cdot n}}\right)
\] |
if 4.20000000000000016e-22 < i < 12Initial program 53.0
Taylor expanded in i around 0 26.6
Applied egg-rr26.7
Simplified26.7
[Start]26.7 | \[ \frac{\left(n \cdot \left(i \cdot \frac{n + -1}{n} + 2\right)\right) \cdot 400}{8}
\] |
|---|---|
rational_best-simplify-1 [=>]26.7 | \[ \frac{\color{blue}{400 \cdot \left(n \cdot \left(i \cdot \frac{n + -1}{n} + 2\right)\right)}}{8}
\] |
rational_best-simplify-1 [=>]26.7 | \[ \frac{400 \cdot \color{blue}{\left(\left(i \cdot \frac{n + -1}{n} + 2\right) \cdot n\right)}}{8}
\] |
rational_best-simplify-50 [=>]26.7 | \[ \frac{\color{blue}{n \cdot \left(\left(i \cdot \frac{n + -1}{n} + 2\right) \cdot 400\right)}}{8}
\] |
rational_best-simplify-3 [=>]26.7 | \[ \frac{n \cdot \left(\color{blue}{\left(2 + i \cdot \frac{n + -1}{n}\right)} \cdot 400\right)}{8}
\] |
rational_best-simplify-59 [=>]26.7 | \[ \frac{n \cdot \left(\color{blue}{\left(i \cdot \frac{n + -1}{n} - \left(-2\right)\right)} \cdot 400\right)}{8}
\] |
rational_best-simplify-55 [=>]26.7 | \[ \frac{n \cdot \left(\left(\color{blue}{\left(n + -1\right) \cdot \frac{i}{n}} - \left(-2\right)\right) \cdot 400\right)}{8}
\] |
rational_best-simplify-46 [=>]26.7 | \[ \frac{n \cdot \left(\left(\color{blue}{\left(i - \frac{i}{n}\right)} - \left(-2\right)\right) \cdot 400\right)}{8}
\] |
metadata-eval [=>]26.7 | \[ \frac{n \cdot \left(\left(\left(i - \frac{i}{n}\right) - \color{blue}{-2}\right) \cdot 400\right)}{8}
\] |
rational_best-simplify-48 [=>]26.7 | \[ \frac{n \cdot \left(\color{blue}{\left(\left(i - -2\right) - \frac{i}{n}\right)} \cdot 400\right)}{8}
\] |
Taylor expanded in n around inf 25.9
Simplified25.9
[Start]25.9 | \[ 50 \cdot \left(n \cdot \left(2 + i\right)\right)
\] |
|---|---|
rational_best-simplify-1 [=>]25.9 | \[ 50 \cdot \color{blue}{\left(\left(2 + i\right) \cdot n\right)}
\] |
rational_best-simplify-3 [=>]25.9 | \[ 50 \cdot \left(\color{blue}{\left(i + 2\right)} \cdot n\right)
\] |
rational_best-simplify-50 [=>]25.9 | \[ \color{blue}{n \cdot \left(\left(i + 2\right) \cdot 50\right)}
\] |
rational_best-simplify-1 [=>]25.9 | \[ n \cdot \color{blue}{\left(50 \cdot \left(i + 2\right)\right)}
\] |
if 12 < i < 1.74999999999999995e204Initial program 29.5
Simplified29.5
[Start]29.5 | \[ 100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\] |
|---|---|
rational_best-simplify-55 [=>]29.5 | \[ \color{blue}{\left({\left(1 + \frac{i}{n}\right)}^{n} - 1\right) \cdot \frac{100}{\frac{i}{n}}}
\] |
rational_best-simplify-18 [=>]29.5 | \[ \color{blue}{\left({\left(1 + \frac{i}{n}\right)}^{n} + -1\right)} \cdot \frac{100}{\frac{i}{n}}
\] |
Taylor expanded in n around 0 17.8
Simplified17.7
[Start]17.8 | \[ 100 \cdot \frac{{n}^{2} \cdot \left(-1 \cdot \log n + \log i\right)}{i}
\] |
|---|---|
rational_best-simplify-55 [=>]17.7 | \[ \color{blue}{\left({n}^{2} \cdot \left(-1 \cdot \log n + \log i\right)\right) \cdot \frac{100}{i}}
\] |
rational_best-simplify-1 [=>]17.7 | \[ \color{blue}{\frac{100}{i} \cdot \left({n}^{2} \cdot \left(-1 \cdot \log n + \log i\right)\right)}
\] |
rational_best-simplify-1 [=>]17.7 | \[ \frac{100}{i} \cdot \color{blue}{\left(\left(-1 \cdot \log n + \log i\right) \cdot {n}^{2}\right)}
\] |
rational_best-simplify-50 [=>]17.7 | \[ \color{blue}{{n}^{2} \cdot \left(\left(-1 \cdot \log n + \log i\right) \cdot \frac{100}{i}\right)}
\] |
rational_best-simplify-1 [=>]17.7 | \[ {n}^{2} \cdot \left(\left(\color{blue}{\log n \cdot -1} + \log i\right) \cdot \frac{100}{i}\right)
\] |
rational_best-simplify-10 [=>]17.7 | \[ {n}^{2} \cdot \left(\left(\color{blue}{\left(-\log n\right)} + \log i\right) \cdot \frac{100}{i}\right)
\] |
if 1.74999999999999995e204 < i < 3.19999999999999985e272Initial program 32.6
Simplified32.5
[Start]32.6 | \[ 100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\] |
|---|---|
rational_best-simplify-55 [=>]32.5 | \[ \color{blue}{\left({\left(1 + \frac{i}{n}\right)}^{n} - 1\right) \cdot \frac{100}{\frac{i}{n}}}
\] |
rational_best-simplify-18 [=>]32.5 | \[ \color{blue}{\left({\left(1 + \frac{i}{n}\right)}^{n} + -1\right)} \cdot \frac{100}{\frac{i}{n}}
\] |
if 3.19999999999999985e272 < i Initial program 33.0
Simplified32.9
[Start]33.0 | \[ 100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\] |
|---|---|
rational_best-simplify-55 [=>]32.9 | \[ \color{blue}{\left({\left(1 + \frac{i}{n}\right)}^{n} - 1\right) \cdot \frac{100}{\frac{i}{n}}}
\] |
rational_best-simplify-18 [=>]32.9 | \[ \color{blue}{\left({\left(1 + \frac{i}{n}\right)}^{n} + -1\right)} \cdot \frac{100}{\frac{i}{n}}
\] |
Taylor expanded in i around 0 29.7
Taylor expanded in i around 0 29.7
Final simplification13.0
| Alternative 1 | |
|---|---|
| Error | 13.0 |
| Cost | 14228 |
| Alternative 2 | |
|---|---|
| Error | 14.2 |
| Cost | 8468 |
| Alternative 3 | |
|---|---|
| Error | 14.0 |
| Cost | 7956 |
| Alternative 4 | |
|---|---|
| Error | 14.0 |
| Cost | 7108 |
| Alternative 5 | |
|---|---|
| Error | 14.0 |
| Cost | 7108 |
| Alternative 6 | |
|---|---|
| Error | 21.3 |
| Cost | 1228 |
| Alternative 7 | |
|---|---|
| Error | 19.8 |
| Cost | 968 |
| Alternative 8 | |
|---|---|
| Error | 20.3 |
| Cost | 968 |
| Alternative 9 | |
|---|---|
| Error | 20.3 |
| Cost | 712 |
| Alternative 10 | |
|---|---|
| Error | 20.3 |
| Cost | 584 |
| Alternative 11 | |
|---|---|
| Error | 20.2 |
| Cost | 456 |
| Alternative 12 | |
|---|---|
| Error | 51.1 |
| Cost | 64 |
herbie shell --seed 2023099
(FPCore (i n)
:name "Compound Interest"
:precision binary64
:herbie-target
(* 100.0 (/ (- (exp (* n (if (== (+ 1.0 (/ i n)) 1.0) (/ i n) (/ (* (/ i n) (log (+ 1.0 (/ i n)))) (- (+ (/ i n) 1.0) 1.0))))) 1.0) (/ i n)))
(* 100.0 (/ (- (pow (+ 1.0 (/ i n)) n) 1.0) (/ i n))))