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;
}

Error

Bits error versus v

Bits error versus w

Bits error versus r

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Alternatives

Alternative 1
Error0.4
Cost1856
\[\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
Error0.8
Cost1856
\[\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
Error0.9
Cost1856
\[\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
Error0.3
Cost2049
\[\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
Error0.3
Cost2049
\[\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
Error0.8
Cost2242
\[\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
Error0.8
Cost1800
\[\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
Error1.4
Cost1730
\[\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
Error2.3
Cost1730
\[\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
Error2.9
Cost1416
\[\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
Error11.0
Cost1088
\[\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
Error14.7
Cost1032
\[\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
Error23.6
Cost904
\[\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
Error21.4
Cost448
\[\frac{2}{r \cdot r} + -1.5\]
Alternative 15
Error35.4
Cost962
\[\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
Error59.1
Cost64
\[-1\]
Alternative 17
Error62.3
Cost64
\[1\]

Error

Time

Derivation

  1. Split input into 2 regimes
  2. if (*.f64 w w) < 334110443.11236167

    1. 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\]
    2. 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)}}}\]
    3. Using strategy rm
    4. 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}}}\]
    5. Using strategy rm
    6. 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}}}\]
    7. 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}}\]
    8. 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)}\]
    9. 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)\]
    10. 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)

    1. 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\]
    2. 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)}}}\]
    3. Using strategy rm
    4. 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}}}\]
    5. Using strategy rm
    6. 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}}\]
    7. 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}}}\]
    8. 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}}\]
    9. 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)}\]
    10. 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)\]
    11. 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)}\]
  3. Recombined 2 regimes into one program.
  4. 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))