Average Error: 12.1 → 0.4
Time: 2.5m
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\]
\[\frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{\frac{0.125}{\sqrt{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}}{\sqrt{\frac{1}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}} \cdot \frac{\frac{r \cdot w}{\sqrt{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}}{\sqrt{\frac{1 - v}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}, r \cdot w, 4.5\right)\right)\]
\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
\frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{\frac{0.125}{\sqrt{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}}{\sqrt{\frac{1}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}} \cdot \frac{\frac{r \cdot w}{\sqrt{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}}{\sqrt{\frac{1 - v}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}, r \cdot w, 4.5\right)\right)
double f(double v, double w, double r) {
        double r3884183 = 3.0;
        double r3884184 = 2.0;
        double r3884185 = r;
        double r3884186 = r3884185 * r3884185;
        double r3884187 = r3884184 / r3884186;
        double r3884188 = r3884183 + r3884187;
        double r3884189 = 0.125;
        double r3884190 = v;
        double r3884191 = r3884184 * r3884190;
        double r3884192 = r3884183 - r3884191;
        double r3884193 = r3884189 * r3884192;
        double r3884194 = w;
        double r3884195 = r3884194 * r3884194;
        double r3884196 = r3884195 * r3884185;
        double r3884197 = r3884196 * r3884185;
        double r3884198 = r3884193 * r3884197;
        double r3884199 = 1.0;
        double r3884200 = r3884199 - r3884190;
        double r3884201 = r3884198 / r3884200;
        double r3884202 = r3884188 - r3884201;
        double r3884203 = 4.5;
        double r3884204 = r3884202 - r3884203;
        return r3884204;
}

double f(double v, double w, double r) {
        double r3884205 = 2.0;
        double r3884206 = r;
        double r3884207 = r3884205 / r3884206;
        double r3884208 = r3884207 / r3884206;
        double r3884209 = 3.0;
        double r3884210 = 0.125;
        double r3884211 = 1.0;
        double r3884212 = v;
        double r3884213 = r3884211 - r3884212;
        double r3884214 = -2.0;
        double r3884215 = fma(r3884214, r3884212, r3884209);
        double r3884216 = r3884213 / r3884215;
        double r3884217 = sqrt(r3884216);
        double r3884218 = sqrt(r3884217);
        double r3884219 = r3884210 / r3884218;
        double r3884220 = cbrt(r3884215);
        double r3884221 = r3884220 * r3884220;
        double r3884222 = r3884211 / r3884221;
        double r3884223 = sqrt(r3884222);
        double r3884224 = r3884219 / r3884223;
        double r3884225 = w;
        double r3884226 = r3884206 * r3884225;
        double r3884227 = r3884226 / r3884218;
        double r3884228 = r3884213 / r3884220;
        double r3884229 = sqrt(r3884228);
        double r3884230 = r3884227 / r3884229;
        double r3884231 = r3884224 * r3884230;
        double r3884232 = 4.5;
        double r3884233 = fma(r3884231, r3884226, r3884232);
        double r3884234 = r3884209 - r3884233;
        double r3884235 = r3884208 + r3884234;
        return r3884235;
}

Error

Bits error versus v

Bits error versus w

Bits error versus r

Derivation

  1. Initial program 12.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. Simplified0.3

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

    \[\leadsto \color{blue}{\frac{\frac{2}{r}}{r}} + \left(3 - \mathsf{fma}\left(\frac{0.125 \cdot \left(w \cdot r\right)}{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}, w \cdot r, 4.5\right)\right)\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt0.4

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{0.125 \cdot \left(w \cdot r\right)}{\color{blue}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}} \cdot \sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}, w \cdot r, 4.5\right)\right)\]
  7. Applied associate-/r*0.4

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\color{blue}{\frac{\frac{0.125 \cdot \left(w \cdot r\right)}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}, w \cdot r, 4.5\right)\right)\]
  8. Using strategy rm
  9. Applied add-cube-cbrt0.4

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{\frac{0.125 \cdot \left(w \cdot r\right)}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}{\sqrt{\frac{1 - v}{\color{blue}{\left(\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}}, w \cdot r, 4.5\right)\right)\]
  10. Applied *-un-lft-identity0.4

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{\frac{0.125 \cdot \left(w \cdot r\right)}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}{\sqrt{\frac{1 - \color{blue}{1 \cdot v}}{\left(\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}, w \cdot r, 4.5\right)\right)\]
  11. Applied *-un-lft-identity0.4

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{\frac{0.125 \cdot \left(w \cdot r\right)}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}{\sqrt{\frac{\color{blue}{1 \cdot 1} - 1 \cdot v}{\left(\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}, w \cdot r, 4.5\right)\right)\]
  12. Applied distribute-lft-out--0.4

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

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{\frac{0.125 \cdot \left(w \cdot r\right)}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}{\sqrt{\color{blue}{\frac{1}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}} \cdot \frac{1 - v}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}}, w \cdot r, 4.5\right)\right)\]
  14. Applied sqrt-prod0.5

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{\frac{0.125 \cdot \left(w \cdot r\right)}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}{\color{blue}{\sqrt{\frac{1}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}} \cdot \sqrt{\frac{1 - v}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}}, w \cdot r, 4.5\right)\right)\]
  15. Applied add-sqr-sqrt0.5

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

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

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\color{blue}{\frac{\frac{0.125}{\sqrt{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}}{\sqrt{\frac{1}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}} \cdot \frac{\frac{w \cdot r}{\sqrt{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}}{\sqrt{\frac{1 - v}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}}, w \cdot r, 4.5\right)\right)\]
  18. Final simplification0.4

    \[\leadsto \frac{\frac{2}{r}}{r} + \left(3 - \mathsf{fma}\left(\frac{\frac{0.125}{\sqrt{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}}{\sqrt{\frac{1}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}} \cdot \frac{\frac{r \cdot w}{\sqrt{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}}}{\sqrt{\frac{1 - v}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}}, r \cdot w, 4.5\right)\right)\]

Reproduce

herbie shell --seed 2019143 +o rules:numerics
(FPCore (v w r)
  :name "Rosa's TurbineBenchmark"
  (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))