Average Error: 12.7 → 0.4
Time: 24.9s
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\]
\[\left(3 + \frac{\sqrt{2}}{r} \cdot \left(\sqrt{\sqrt{2}} \cdot \frac{\sqrt{\sqrt{2}}}{r}\right)\right) - \mathsf{fma}\left(\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}, \left|r \cdot w\right| \cdot \left|r \cdot w\right|, 4.5\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
\left(3 + \frac{\sqrt{2}}{r} \cdot \left(\sqrt{\sqrt{2}} \cdot \frac{\sqrt{\sqrt{2}}}{r}\right)\right) - \mathsf{fma}\left(\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}, \left|r \cdot w\right| \cdot \left|r \cdot w\right|, 4.5\right)
double f(double v, double w, double r) {
        double r28189 = 3.0;
        double r28190 = 2.0;
        double r28191 = r;
        double r28192 = r28191 * r28191;
        double r28193 = r28190 / r28192;
        double r28194 = r28189 + r28193;
        double r28195 = 0.125;
        double r28196 = v;
        double r28197 = r28190 * r28196;
        double r28198 = r28189 - r28197;
        double r28199 = r28195 * r28198;
        double r28200 = w;
        double r28201 = r28200 * r28200;
        double r28202 = r28201 * r28191;
        double r28203 = r28202 * r28191;
        double r28204 = r28199 * r28203;
        double r28205 = 1.0;
        double r28206 = r28205 - r28196;
        double r28207 = r28204 / r28206;
        double r28208 = r28194 - r28207;
        double r28209 = 4.5;
        double r28210 = r28208 - r28209;
        return r28210;
}

double f(double v, double w, double r) {
        double r28211 = 3.0;
        double r28212 = 2.0;
        double r28213 = sqrt(r28212);
        double r28214 = r;
        double r28215 = r28213 / r28214;
        double r28216 = sqrt(r28213);
        double r28217 = r28216 / r28214;
        double r28218 = r28216 * r28217;
        double r28219 = r28215 * r28218;
        double r28220 = r28211 + r28219;
        double r28221 = 0.125;
        double r28222 = v;
        double r28223 = r28212 * r28222;
        double r28224 = r28211 - r28223;
        double r28225 = r28221 * r28224;
        double r28226 = 1.0;
        double r28227 = r28226 - r28222;
        double r28228 = r28225 / r28227;
        double r28229 = w;
        double r28230 = r28214 * r28229;
        double r28231 = fabs(r28230);
        double r28232 = r28231 * r28231;
        double r28233 = 4.5;
        double r28234 = fma(r28228, r28232, r28233);
        double r28235 = r28220 - r28234;
        return r28235;
}

Error

Bits error versus v

Bits error versus w

Bits error versus r

Derivation

  1. Initial program 12.7

    \[\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. Simplified8.5

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

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

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

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

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

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019209 +o rules:numerics
(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))