Average Error: 12.9 → 0.4
Time: 10.2s
Precision: 64
\[\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}\;r \le -3.77314112548563262 \cdot 10^{187}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}\right) - 4.5\\ \mathbf{elif}\;r \le 3.2167090734555916 \cdot 10^{147}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{w \cdot \left(\left(w \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{\sqrt{2}}{\frac{r \cdot r}{\sqrt{2}}}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\\ \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}\;r \le -3.77314112548563262 \cdot 10^{187}:\\
\;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}\right) - 4.5\\

\mathbf{elif}\;r \le 3.2167090734555916 \cdot 10^{147}:\\
\;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{w \cdot \left(\left(w \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\\

\mathbf{else}:\\
\;\;\;\;\left(\left(3 + \frac{\sqrt{2}}{\frac{r \cdot r}{\sqrt{2}}}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\\

\end{array}
double f(double v, double w, double r) {
        double r16099 = 3.0;
        double r16100 = 2.0;
        double r16101 = r;
        double r16102 = r16101 * r16101;
        double r16103 = r16100 / r16102;
        double r16104 = r16099 + r16103;
        double r16105 = 0.125;
        double r16106 = v;
        double r16107 = r16100 * r16106;
        double r16108 = r16099 - r16107;
        double r16109 = r16105 * r16108;
        double r16110 = w;
        double r16111 = r16110 * r16110;
        double r16112 = r16111 * r16101;
        double r16113 = r16112 * r16101;
        double r16114 = r16109 * r16113;
        double r16115 = 1.0;
        double r16116 = r16115 - r16106;
        double r16117 = r16114 / r16116;
        double r16118 = r16104 - r16117;
        double r16119 = 4.5;
        double r16120 = r16118 - r16119;
        return r16120;
}

double f(double v, double w, double r) {
        double r16121 = r;
        double r16122 = -3.773141125485633e+187;
        bool r16123 = r16121 <= r16122;
        double r16124 = 3.0;
        double r16125 = 2.0;
        double r16126 = r16121 * r16121;
        double r16127 = r16125 / r16126;
        double r16128 = r16124 + r16127;
        double r16129 = 0.125;
        double r16130 = v;
        double r16131 = r16125 * r16130;
        double r16132 = r16124 - r16131;
        double r16133 = r16129 * r16132;
        double r16134 = 1.0;
        double r16135 = r16134 - r16130;
        double r16136 = w;
        double r16137 = r16136 * r16121;
        double r16138 = r16136 * r16137;
        double r16139 = r16138 * r16121;
        double r16140 = r16135 / r16139;
        double r16141 = r16133 / r16140;
        double r16142 = r16128 - r16141;
        double r16143 = 4.5;
        double r16144 = r16142 - r16143;
        double r16145 = 3.2167090734555916e+147;
        bool r16146 = r16121 <= r16145;
        double r16147 = 0.375;
        double r16148 = 0.25;
        double r16149 = r16148 * r16130;
        double r16150 = r16147 - r16149;
        double r16151 = r16137 * r16121;
        double r16152 = r16136 * r16151;
        double r16153 = r16152 / r16135;
        double r16154 = r16150 * r16153;
        double r16155 = r16128 - r16154;
        double r16156 = r16155 - r16143;
        double r16157 = sqrt(r16125);
        double r16158 = r16126 / r16157;
        double r16159 = r16157 / r16158;
        double r16160 = r16124 + r16159;
        double r16161 = r16139 / r16135;
        double r16162 = r16150 * r16161;
        double r16163 = r16160 - r16162;
        double r16164 = r16163 - r16143;
        double r16165 = r16146 ? r16156 : r16164;
        double r16166 = r16123 ? r16144 : r16165;
        return r16166;
}

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

Derivation

  1. Split input into 3 regimes
  2. if r < -3.773141125485633e+187

    1. Initial program 32.1

      \[\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. Using strategy rm
    3. Applied associate-*l*11.7

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\color{blue}{\left(w \cdot \left(w \cdot r\right)\right)} \cdot r\right)}{1 - v}\right) - 4.5\]
    4. Using strategy rm
    5. Applied associate-/l*0.5

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}}\right) - 4.5\]

    if -3.773141125485633e+187 < r < 3.2167090734555916e+147

    1. Initial program 9.6

      \[\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. Using strategy rm
    3. Applied associate-*l*7.4

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\color{blue}{\left(w \cdot \left(w \cdot r\right)\right)} \cdot r\right)}{1 - v}\right) - 4.5\]
    4. Using strategy rm
    5. Applied *-un-lft-identity7.4

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{\color{blue}{1 \cdot \left(1 - v\right)}}\right) - 4.5\]
    6. Applied times-frac3.1

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1} \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}}\right) - 4.5\]
    7. Simplified3.1

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right)} \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    8. Taylor expanded around 0 3.1

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(0.375 - 0.25 \cdot v\right)} \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    9. Using strategy rm
    10. Applied associate-*l*0.4

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{\color{blue}{w \cdot \left(\left(w \cdot r\right) \cdot r\right)}}{1 - v}\right) - 4.5\]

    if 3.2167090734555916e+147 < r

    1. Initial program 25.9

      \[\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. Using strategy rm
    3. Applied associate-*l*10.7

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\color{blue}{\left(w \cdot \left(w \cdot r\right)\right)} \cdot r\right)}{1 - v}\right) - 4.5\]
    4. Using strategy rm
    5. Applied *-un-lft-identity10.7

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{\color{blue}{1 \cdot \left(1 - v\right)}}\right) - 4.5\]
    6. Applied times-frac0.4

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1} \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}}\right) - 4.5\]
    7. Simplified0.4

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right)} \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    8. Taylor expanded around 0 0.4

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(0.375 - 0.25 \cdot v\right)} \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    9. Using strategy rm
    10. Applied add-sqr-sqrt0.4

      \[\leadsto \left(\left(3 + \frac{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}{r \cdot r}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
    11. Applied associate-/l*0.4

      \[\leadsto \left(\left(3 + \color{blue}{\frac{\sqrt{2}}{\frac{r \cdot r}{\sqrt{2}}}}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;r \le -3.77314112548563262 \cdot 10^{187}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}\right) - 4.5\\ \mathbf{elif}\;r \le 3.2167090734555916 \cdot 10^{147}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{w \cdot \left(\left(w \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{\sqrt{2}}{\frac{r \cdot r}{\sqrt{2}}}\right) - \left(0.375 - 0.25 \cdot v\right) \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\\ \end{array}\]

Reproduce

herbie shell --seed 2020046 
(FPCore (v w r)
  :name "Rosa's TurbineBenchmark"
  :precision binary64
  (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))