Average Error: 13.0 → 0.3
Time: 3.4min
Precision: binary64
Cost: 2177
\[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
↓
\[\begin{array}{l}
\mathbf{if}\;w \cdot w \leq 334110443.11236167:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\frac{1}{1 - v} \cdot \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\left(w \cdot r\right) \cdot \frac{r}{\frac{1 - v}{w}}\right)\\
\end{array}\]
\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5↓
\begin{array}{l}
\mathbf{if}\;w \cdot w \leq 334110443.11236167:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\frac{1}{1 - v} \cdot \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\left(w \cdot r\right) \cdot \frac{r}{\frac{1 - v}{w}}\right)\\
\end{array}(FPCore (v w r)
:precision binary64
(-
(-
(+ 3.0 (/ 2.0 (* r r)))
(/ (* (* 0.125 (- 3.0 (* 2.0 v))) (* (* (* w w) r) r)) (- 1.0 v)))
4.5))
↓
(FPCore (v w r)
:precision binary64
(if (<= (* w w) 334110443.11236167)
(-
(+ (/ 2.0 (* r r)) -1.5)
(* (+ 0.375 (* v -0.25)) (* (/ 1.0 (- 1.0 v)) (* r (* w (* w r))))))
(-
(+ (/ 2.0 (* r r)) -1.5)
(* (+ 0.375 (* v -0.25)) (* (* w r) (/ r (/ (- 1.0 v) w)))))))double code(double v, double w, double r) {
return ((3.0 + (2.0 / (r * r))) - (((0.125 * (3.0 - (2.0 * v))) * (((w * w) * r) * r)) / (1.0 - v))) - 4.5;
}
↓
double code(double v, double w, double r) {
double tmp;
if ((w * w) <= 334110443.11236167) {
tmp = ((2.0 / (r * r)) + -1.5) - ((0.375 + (v * -0.25)) * ((1.0 / (1.0 - v)) * (r * (w * (w * r)))));
} else {
tmp = ((2.0 / (r * r)) + -1.5) - ((0.375 + (v * -0.25)) * ((w * r) * (r / ((1.0 - v) / w))));
}
return tmp;
}
Try it out
Enter valid numbers for all inputs
Alternatives
| Alternative 1 |
|---|
| Error | 0.4 |
|---|
| Cost | 1856 |
|---|
\[\left(\left(\frac{2}{r \cdot r} + 3\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(w \cdot r\right) \cdot \frac{w \cdot r}{1 - v}\right)\right) - 4.5\]
| Alternative 2 |
|---|
| Error | 0.8 |
|---|
| Cost | 1856 |
|---|
\[\left(\left(\frac{2}{r \cdot r} + 3\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot \frac{r}{1 - v}\right)\right)\right) - 4.5\]
| Alternative 3 |
|---|
| Error | 0.9 |
|---|
| Cost | 1856 |
|---|
\[\left(\left(\frac{2}{r \cdot r} + 3\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(w \cdot r\right) \cdot \frac{w}{\frac{1 - v}{r}}\right)\right) - 4.5\]
| Alternative 4 |
|---|
| Error | 0.3 |
|---|
| Cost | 2049 |
|---|
\[\begin{array}{l}
\mathbf{if}\;w \cdot w \leq 334110443.11236167:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot \frac{r}{1 - v}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\left(w \cdot r\right) \cdot \frac{r}{\frac{1 - v}{w}}\right)\\
\end{array}\]
| Alternative 5 |
|---|
| Error | 0.3 |
|---|
| Cost | 2049 |
|---|
\[\begin{array}{l}
\mathbf{if}\;w \cdot w \leq 7.832989639618386 \cdot 10^{+37}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(w \cdot \left(w \cdot r\right)\right) \cdot \left(\left(0.375 + v \cdot -0.25\right) \cdot \frac{r}{1 - v}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{r \cdot \left(w \cdot r\right)}{\frac{1 - v}{w}}\\
\end{array}\]
| Alternative 6 |
|---|
| Error | 0.8 |
|---|
| Cost | 2242 |
|---|
\[\begin{array}{l}
\mathbf{if}\;v \leq -1.7514718148497125 \cdot 10^{+60}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right) \cdot 0.25\\
\mathbf{elif}\;v \leq 3112772480630809:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \frac{\left(0.375 + v \cdot -0.25\right) \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}{1 - v}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - 0.25 \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)\\
\end{array}\]
| Alternative 7 |
|---|
| Error | 0.8 |
|---|
| Cost | 1800 |
|---|
\[\begin{array}{l}
\mathbf{if}\;v \leq -0.9959872356613901 \lor \neg \left(v \leq 2.0797092502220554 \cdot 10^{-13}\right):\\
\;\;\;\;\left(\left(\frac{2}{r \cdot r} + 3\right) - \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \left(0.25 - \frac{0.125}{v}\right)\right) - 4.5\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - 0.375 \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)\\
\end{array}\]
| Alternative 8 |
|---|
| Error | 1.4 |
|---|
| Cost | 1730 |
|---|
\[\begin{array}{l}
\mathbf{if}\;v \leq -1.4110751356614466:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right) \cdot 0.25\\
\mathbf{elif}\;v \leq 2.0797092502220554 \cdot 10^{-13}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - 0.375 \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - 0.25 \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)\\
\end{array}\]
| Alternative 9 |
|---|
| Error | 2.3 |
|---|
| Cost | 1730 |
|---|
\[\begin{array}{l}
\mathbf{if}\;v \leq -1.282121085095703:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right) \cdot 0.25\\
\mathbf{elif}\;v \leq 2.0797092502220554 \cdot 10^{-13}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - 0.375 \cdot \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - 0.25 \cdot \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)\\
\end{array}\]
| Alternative 10 |
|---|
| Error | 2.9 |
|---|
| Cost | 1416 |
|---|
\[\begin{array}{l}
\mathbf{if}\;v \leq -1.1531670345299596 \lor \neg \left(v \leq 2.0797092502220554 \cdot 10^{-13}\right):\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right) \cdot 0.25\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - 0.375 \cdot \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right)\\
\end{array}\]
| Alternative 11 |
|---|
| Error | 11.0 |
|---|
| Cost | 1088 |
|---|
\[\left(\frac{2}{r \cdot r} + -1.5\right) - \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right) \cdot 0.25\]
| Alternative 12 |
|---|
| Error | 14.7 |
|---|
| Cost | 1032 |
|---|
\[\begin{array}{l}
\mathbf{if}\;r \leq -0.10595949870001081 \lor \neg \left(r \leq 57.85103057416921\right):\\
\;\;\;\;-1.5 - 0.25 \cdot \left(r \cdot \left(\left(w \cdot w\right) \cdot r\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{r \cdot r} + -1.5\\
\end{array}\]
| Alternative 13 |
|---|
| Error | 23.6 |
|---|
| Cost | 904 |
|---|
\[\begin{array}{l}
\mathbf{if}\;v \leq -2.2009087362557417 \cdot 10^{+239} \lor \neg \left(v \leq -2.028385926279712 \cdot 10^{+130}\right):\\
\;\;\;\;\frac{2}{r \cdot r} + -1.5\\
\mathbf{else}:\\
\;\;\;\;r \cdot \left(r \cdot \left(\left(w \cdot w\right) \cdot -0.25\right)\right)\\
\end{array}\]
| Alternative 14 |
|---|
| Error | 21.4 |
|---|
| Cost | 448 |
|---|
\[\frac{2}{r \cdot r} + -1.5\]
| Alternative 15 |
|---|
| Error | 35.4 |
|---|
| Cost | 962 |
|---|
\[\begin{array}{l}
\mathbf{if}\;r \leq -0.10595949870001081:\\
\;\;\;\;-1\\
\mathbf{elif}\;r \leq 1.1331225229640847:\\
\;\;\;\;\frac{2}{r \cdot r}\\
\mathbf{else}:\\
\;\;\;\;-1\\
\end{array}\]
| Alternative 16 |
|---|
| Error | 59.1 |
|---|
| Cost | 64 |
|---|
\[-1\]
| Alternative 17 |
|---|
| Error | 62.3 |
|---|
| Cost | 64 |
|---|
\[1\]
Error

Time

Derivation
- Split input into 2 regimes
if (*.f64 w w) < 334110443.11236167
Initial program 9.0
\[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
Simplified6.4
\[\leadsto \color{blue}{\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{r}{\frac{1 - v}{r \cdot \left(w \cdot w\right)}}}\]
- Using strategy
rm Applied associate-*r*_binary642.3
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{r}{\frac{1 - v}{\color{blue}{\left(r \cdot w\right) \cdot w}}}\]
- Using strategy
rm Applied div-inv_binary642.3
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{r}{\color{blue}{\left(1 - v\right) \cdot \frac{1}{\left(r \cdot w\right) \cdot w}}}\]
Applied *-un-lft-identity_binary642.3
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{\color{blue}{1 \cdot r}}{\left(1 - v\right) \cdot \frac{1}{\left(r \cdot w\right) \cdot w}}\]
Applied times-frac_binary640.3
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \color{blue}{\left(\frac{1}{1 - v} \cdot \frac{r}{\frac{1}{\left(r \cdot w\right) \cdot w}}\right)}\]
Simplified0.2
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\frac{1}{1 - v} \cdot \color{blue}{\left(r \cdot \left(w \cdot \left(r \cdot w\right)\right)\right)}\right)\]
Simplified0.2
\[\leadsto \color{blue}{\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\frac{1}{1 - v} \cdot \left(r \cdot \left(w \cdot \left(r \cdot w\right)\right)\right)\right)}\]
if 334110443.11236167 < (*.f64 w w)
Initial program 24.3
\[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
Simplified16.7
\[\leadsto \color{blue}{\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{r}{\frac{1 - v}{r \cdot \left(w \cdot w\right)}}}\]
- Using strategy
rm Applied associate-*r*_binary648.6
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{r}{\frac{1 - v}{\color{blue}{\left(r \cdot w\right) \cdot w}}}\]
- Using strategy
rm Applied *-un-lft-identity_binary648.6
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{r}{\frac{\color{blue}{1 \cdot \left(1 - v\right)}}{\left(r \cdot w\right) \cdot w}}\]
Applied times-frac_binary644.5
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{r}{\color{blue}{\frac{1}{r \cdot w} \cdot \frac{1 - v}{w}}}\]
Applied *-un-lft-identity_binary644.5
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \frac{\color{blue}{1 \cdot r}}{\frac{1}{r \cdot w} \cdot \frac{1 - v}{w}}\]
Applied times-frac_binary640.4
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \color{blue}{\left(\frac{1}{\frac{1}{r \cdot w}} \cdot \frac{r}{\frac{1 - v}{w}}\right)}\]
Simplified0.4
\[\leadsto \left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\color{blue}{\left(r \cdot w\right)} \cdot \frac{r}{\frac{1 - v}{w}}\right)\]
Simplified0.4
\[\leadsto \color{blue}{\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\left(r \cdot w\right) \cdot \frac{r}{\frac{1 - v}{w}}\right)}\]
- Recombined 2 regimes into one program.
Final simplification0.3
\[\leadsto \begin{array}{l}
\mathbf{if}\;w \cdot w \leq 334110443.11236167:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\frac{1}{1 - v} \cdot \left(r \cdot \left(w \cdot \left(w \cdot r\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2}{r \cdot r} + -1.5\right) - \left(0.375 + v \cdot -0.25\right) \cdot \left(\left(w \cdot r\right) \cdot \frac{r}{\frac{1 - v}{w}}\right)\\
\end{array}\]
Reproduce
herbie shell --seed 2021065
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
:precision binary64
(- (- (+ 3.0 (/ 2.0 (* r r))) (/ (* (* 0.125 (- 3.0 (* 2.0 v))) (* (* (* w w) r) r)) (- 1.0 v))) 4.5))