Average Error: 16.5 → 0.1
Time: 3.2min
Precision: binary64
Cost: 30337
\[\alpha > -1 \land \beta > -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
↓
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.9999883319836423:\\
\;\;\;\;\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} + \frac{\beta}{\alpha} \cdot \left(\frac{\beta}{\alpha} + \frac{4}{\alpha}\right)\right) + \left(\left(\frac{-2}{\alpha} - \frac{\beta}{\alpha}\right) - \left(\frac{8}{{\alpha}^{3}} + \left(12 \cdot \frac{\beta}{{\alpha}^{3}} + \left({\left(\frac{\beta}{\alpha}\right)}^{3} + 6 \cdot \left(\beta \cdot \frac{\beta}{{\alpha}^{3}}\right)\right)\right)\right)\right)\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 + \left(\beta - \alpha\right) \cdot \frac{1}{\left(\beta + \alpha\right) + 2}}{2}\\
\end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}↓
\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.9999883319836423:\\
\;\;\;\;\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} + \frac{\beta}{\alpha} \cdot \left(\frac{\beta}{\alpha} + \frac{4}{\alpha}\right)\right) + \left(\left(\frac{-2}{\alpha} - \frac{\beta}{\alpha}\right) - \left(\frac{8}{{\alpha}^{3}} + \left(12 \cdot \frac{\beta}{{\alpha}^{3}} + \left({\left(\frac{\beta}{\alpha}\right)}^{3} + 6 \cdot \left(\beta \cdot \frac{\beta}{{\alpha}^{3}}\right)\right)\right)\right)\right)\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 + \left(\beta - \alpha\right) \cdot \frac{1}{\left(\beta + \alpha\right) + 2}}{2}\\
\end{array}(FPCore (alpha beta)
:precision binary64
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))
↓
(FPCore (alpha beta)
:precision binary64
(if (<= (/ (- beta alpha) (+ (+ beta alpha) 2.0)) -0.9999883319836423)
(/
(-
(/ beta (+ (+ beta alpha) 2.0))
(+
(+
(/ 4.0 (* alpha alpha))
(* (/ beta alpha) (+ (/ beta alpha) (/ 4.0 alpha))))
(-
(- (/ -2.0 alpha) (/ beta alpha))
(+
(/ 8.0 (pow alpha 3.0))
(+
(* 12.0 (/ beta (pow alpha 3.0)))
(+
(pow (/ beta alpha) 3.0)
(* 6.0 (* beta (/ beta (pow alpha 3.0))))))))))
2.0)
(/ (+ 1.0 (* (- beta alpha) (/ 1.0 (+ (+ beta alpha) 2.0)))) 2.0)))double code(double alpha, double beta) {
return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0;
}
↓
double code(double alpha, double beta) {
double tmp;
if (((beta - alpha) / ((beta + alpha) + 2.0)) <= -0.9999883319836423) {
tmp = ((beta / ((beta + alpha) + 2.0)) - (((4.0 / (alpha * alpha)) + ((beta / alpha) * ((beta / alpha) + (4.0 / alpha)))) + (((-2.0 / alpha) - (beta / alpha)) - ((8.0 / pow(alpha, 3.0)) + ((12.0 * (beta / pow(alpha, 3.0))) + (pow((beta / alpha), 3.0) + (6.0 * (beta * (beta / pow(alpha, 3.0)))))))))) / 2.0;
} else {
tmp = (1.0 + ((beta - alpha) * (1.0 / ((beta + alpha) + 2.0)))) / 2.0;
}
return tmp;
}
Try it out
Enter valid numbers for all inputs
Alternatives
| Alternative 1 |
|---|
| Error | 0.1 |
|---|
| Cost | 15361 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.9999998512818455:\\
\;\;\;\;\frac{\left(\left(\frac{2}{\alpha} + \frac{\beta}{\alpha} \cdot \left(2 - \frac{6}{\alpha}\right)\right) - \frac{4}{\alpha \cdot \alpha}\right) + -2 \cdot \left(\frac{\beta}{\alpha} \cdot \frac{\beta}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2} - \left(\frac{1}{\sqrt{\left(\beta + \alpha\right) + 2}} \cdot \frac{\alpha}{\sqrt{\left(\beta + \alpha\right) + 2}} - 1\right)}{2}\\
\end{array}\]
| Alternative 2 |
|---|
| Error | 0.1 |
|---|
| Cost | 14849 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.9999998512818455:\\
\;\;\;\;\frac{\left(\left(\frac{2}{\alpha} + \frac{\beta}{\alpha} \cdot \left(2 - \frac{6}{\alpha}\right)\right) - \frac{4}{\alpha \cdot \alpha}\right) + -2 \cdot \left(\frac{\beta}{\alpha} \cdot \frac{\beta}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2} - \left(\log \left(e^{\frac{\alpha}{\left(\beta + \alpha\right) + 2}}\right) - 1\right)}{2}\\
\end{array}\]
| Alternative 3 |
|---|
| Error | 0.1 |
|---|
| Cost | 14849 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.9999998512818455:\\
\;\;\;\;\frac{\left(\left(\frac{2}{\alpha} + \frac{\beta}{\alpha} \cdot \left(2 - \frac{6}{\alpha}\right)\right) - \frac{4}{\alpha \cdot \alpha}\right) + -2 \cdot \left(\frac{\beta}{\alpha} \cdot \frac{\beta}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{1 + \left(\frac{\beta}{\left(\beta + \alpha\right) + 2} - \frac{\alpha}{\left(\beta + \alpha\right) + 2}\right)}\right)}{2}\\
\end{array}\]
| Alternative 4 |
|---|
| Error | 0.1 |
|---|
| Cost | 14465 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.9999998512818455:\\
\;\;\;\;\frac{\left(\left(\frac{2}{\alpha} + \frac{\beta}{\alpha} \cdot \left(2 - \frac{6}{\alpha}\right)\right) - \frac{4}{\alpha \cdot \alpha}\right) + -2 \cdot \left(\frac{\beta}{\alpha} \cdot \frac{\beta}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} + 1}\right)}{2}\\
\end{array}\]
| Alternative 5 |
|---|
| Error | 0.1 |
|---|
| Cost | 2817 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.9999998512818455:\\
\;\;\;\;\frac{\left(\left(\frac{2}{\alpha} + \frac{\beta}{\alpha} \cdot \left(2 - \frac{6}{\alpha}\right)\right) - \frac{4}{\alpha \cdot \alpha}\right) + -2 \cdot \left(\frac{\beta}{\alpha} \cdot \frac{\beta}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\beta \cdot \frac{1}{\left(\beta + \alpha\right) + 2} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2} - 1\right)}{2}\\
\end{array}\]
| Alternative 6 |
|---|
| Error | 0.2 |
|---|
| Cost | 2177 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.999999999790002:\\
\;\;\;\;\frac{\frac{2 + \beta \cdot 2}{\alpha}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\beta \cdot \frac{1}{\left(\beta + \alpha\right) + 2} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2} - 1\right)}{2}\\
\end{array}\]
| Alternative 7 |
|---|
| Error | 0.2 |
|---|
| Cost | 2049 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.999999999790002:\\
\;\;\;\;\frac{\frac{2 + \beta \cdot 2}{\alpha}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 + \left(\frac{\beta}{\left(\beta + \alpha\right) + 2} - \frac{\alpha}{\left(\beta + \alpha\right) + 2}\right)}{2}\\
\end{array}\]
| Alternative 8 |
|---|
| Error | 0.2 |
|---|
| Cost | 1793 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.999999999790002:\\
\;\;\;\;\frac{\frac{2 + \beta \cdot 2}{\alpha}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 + \left(\beta - \alpha\right) \cdot \frac{1}{\left(\beta + \alpha\right) + 2}}{2}\\
\end{array}\]
| Alternative 9 |
|---|
| Error | 0.2 |
|---|
| Cost | 1665 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.999999999790002:\\
\;\;\;\;\frac{\frac{2 + \beta \cdot 2}{\alpha}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} + 1}{2}\\
\end{array}\]
| Alternative 10 |
|---|
| Error | 4.1 |
|---|
| Cost | 897 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\alpha \leq 4858852822362.639:\\
\;\;\;\;\frac{1 + \frac{\beta}{\beta + 2}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2 + \beta \cdot 2}{\alpha}}{2}\\
\end{array}\]
| Alternative 11 |
|---|
| Error | 17.8 |
|---|
| Cost | 576 |
|---|
\[\frac{1 + \frac{\beta}{\beta + 2}}{2}\]
| Alternative 12 |
|---|
| Error | 40.9 |
|---|
| Cost | 64 |
|---|
\[1\]
| Alternative 13 |
|---|
| Error | 61.6 |
|---|
| Cost | 64 |
|---|
\[0\]
Error

Time

Derivation
- Split input into 2 regimes
if (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) 2)) < -0.999988331983642342
Initial program 59.3
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
- Using strategy
rm Applied div-sub_binary64_76559.3
\[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)} + 1}{2}\]
Applied associate-+l-_binary64_69557.4
\[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}}{2}\]
Simplified57.4
\[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\left(\frac{\alpha}{\left(\beta + \alpha\right) + 2} - 1\right)}}{2}\]
- Using strategy
rm Applied add-log-exp_binary64_79957.4
\[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2} - \color{blue}{\log \left(e^{1}\right)}\right)}{2}\]
Applied add-log-exp_binary64_79957.5
\[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\color{blue}{\log \left(e^{\frac{\alpha}{\left(\beta + \alpha\right) + 2}}\right)} - \log \left(e^{1}\right)\right)}{2}\]
Applied diff-log_binary64_85257.5
\[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\log \left(\frac{e^{\frac{\alpha}{\left(\beta + \alpha\right) + 2}}}{e^{1}}\right)}}{2}\]
Simplified57.4
\[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \log \color{blue}{\left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}\right)}}{2}\]
Taylor expanded around inf 6.0
\[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\left(\left(4 \cdot \frac{\beta}{{\alpha}^{2}} + \left(4 \cdot \frac{1}{{\alpha}^{2}} + \frac{{\beta}^{2}}{{\alpha}^{2}}\right)\right) - \left(\frac{\beta}{\alpha} + \left(2 \cdot \frac{1}{\alpha} + \left(8 \cdot \frac{1}{{\alpha}^{3}} + \left(12 \cdot \frac{\beta}{{\alpha}^{3}} + \left(\frac{{\beta}^{3}}{{\alpha}^{3}} + 6 \cdot \frac{{\beta}^{2}}{{\alpha}^{3}}\right)\right)\right)\right)\right)\right)}}{2}\]
Simplified0.0
\[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\left(\left(\frac{4}{\alpha \cdot \alpha} + \frac{\beta}{\alpha} \cdot \left(\frac{\beta}{\alpha} + \frac{4}{\alpha}\right)\right) + \left(\left(\frac{-2}{\alpha} - \frac{\beta}{\alpha}\right) - \left(\frac{8}{{\alpha}^{3}} + \left(12 \cdot \frac{\beta}{{\alpha}^{3}} + \left({\left(\frac{\beta}{\alpha}\right)}^{3} + 6 \cdot \left(\frac{\beta}{{\alpha}^{3}} \cdot \beta\right)\right)\right)\right)\right)\right)}}{2}\]
Simplified0.0
\[\leadsto \color{blue}{\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} + \frac{\beta}{\alpha} \cdot \left(\frac{\beta}{\alpha} + \frac{4}{\alpha}\right)\right) + \left(\left(\frac{-2}{\alpha} - \frac{\beta}{\alpha}\right) - \left(\frac{8}{{\alpha}^{3}} + \left(12 \cdot \frac{\beta}{{\alpha}^{3}} + \left({\left(\frac{\beta}{\alpha}\right)}^{3} + 6 \cdot \left(\frac{\beta}{{\alpha}^{3}} \cdot \beta\right)\right)\right)\right)\right)\right)}{2}}\]
if -0.999988331983642342 < (/.f64 (-.f64 beta alpha) (+.f64 (+.f64 alpha beta) 2))
Initial program 0.1
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
- Using strategy
rm Applied flip--_binary64_73513.3
\[\leadsto \frac{\frac{\color{blue}{\frac{\beta \cdot \beta - \alpha \cdot \alpha}{\beta + \alpha}}}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
Applied associate-/l/_binary64_70713.3
\[\leadsto \frac{\color{blue}{\frac{\beta \cdot \beta - \alpha \cdot \alpha}{\left(\left(\alpha + \beta\right) + 2\right) \cdot \left(\beta + \alpha\right)}} + 1}{2}\]
Simplified13.3
\[\leadsto \frac{\frac{\beta \cdot \beta - \alpha \cdot \alpha}{\color{blue}{\left(\beta + \alpha\right) \cdot \left(\left(\beta + \alpha\right) + 2\right)}} + 1}{2}\]
- Using strategy
rm Applied flip-+_binary64_73422.3
\[\leadsto \frac{\frac{\beta \cdot \beta - \alpha \cdot \alpha}{\color{blue}{\frac{\beta \cdot \beta - \alpha \cdot \alpha}{\beta - \alpha}} \cdot \left(\left(\beta + \alpha\right) + 2\right)} + 1}{2}\]
Applied associate-*l/_binary64_70325.6
\[\leadsto \frac{\frac{\beta \cdot \beta - \alpha \cdot \alpha}{\color{blue}{\frac{\left(\beta \cdot \beta - \alpha \cdot \alpha\right) \cdot \left(\left(\beta + \alpha\right) + 2\right)}{\beta - \alpha}}} + 1}{2}\]
Applied associate-/r/_binary64_70625.6
\[\leadsto \frac{\color{blue}{\frac{\beta \cdot \beta - \alpha \cdot \alpha}{\left(\beta \cdot \beta - \alpha \cdot \alpha\right) \cdot \left(\left(\beta + \alpha\right) + 2\right)} \cdot \left(\beta - \alpha\right)} + 1}{2}\]
Simplified0.1
\[\leadsto \frac{\color{blue}{\frac{1}{\left(\beta + \alpha\right) + 2}} \cdot \left(\beta - \alpha\right) + 1}{2}\]
Simplified0.1
\[\leadsto \color{blue}{\frac{\frac{1}{\left(\beta + \alpha\right) + 2} \cdot \left(\beta - \alpha\right) + 1}{2}}\]
- Recombined 2 regimes into one program.
Final simplification0.1
\[\leadsto \begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \leq -0.9999883319836423:\\
\;\;\;\;\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} + \frac{\beta}{\alpha} \cdot \left(\frac{\beta}{\alpha} + \frac{4}{\alpha}\right)\right) + \left(\left(\frac{-2}{\alpha} - \frac{\beta}{\alpha}\right) - \left(\frac{8}{{\alpha}^{3}} + \left(12 \cdot \frac{\beta}{{\alpha}^{3}} + \left({\left(\frac{\beta}{\alpha}\right)}^{3} + 6 \cdot \left(\beta \cdot \frac{\beta}{{\alpha}^{3}}\right)\right)\right)\right)\right)\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 + \left(\beta - \alpha\right) \cdot \frac{1}{\left(\beta + \alpha\right) + 2}}{2}\\
\end{array}\]
Reproduce
herbie shell --seed 2021065
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))