Average Error: 15.3 → 14.9
Time: 28.8s
Precision: 64
\[1 - \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}\]
\[\frac{\frac{\left(\left(1 - \frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right) \cdot \mathsf{hypot}\left(1, x\right) - \left(\frac{1}{2} + \frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right)\right) - \frac{1}{2} \cdot \frac{1}{2}}{\mathsf{hypot}\left(1, x\right) \cdot \left(1 + \left(\frac{1}{2} + \frac{1}{2} \cdot \frac{1}{2}\right)\right)}}{\sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}} + 1}\]
1 - \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}
\frac{\frac{\left(\left(1 - \frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right) \cdot \mathsf{hypot}\left(1, x\right) - \left(\frac{1}{2} + \frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right)\right) - \frac{1}{2} \cdot \frac{1}{2}}{\mathsf{hypot}\left(1, x\right) \cdot \left(1 + \left(\frac{1}{2} + \frac{1}{2} \cdot \frac{1}{2}\right)\right)}}{\sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}} + 1}
double f(double x) {
        double r5477416 = 1.0;
        double r5477417 = 0.5;
        double r5477418 = x;
        double r5477419 = hypot(r5477416, r5477418);
        double r5477420 = r5477416 / r5477419;
        double r5477421 = r5477416 + r5477420;
        double r5477422 = r5477417 * r5477421;
        double r5477423 = sqrt(r5477422);
        double r5477424 = r5477416 - r5477423;
        return r5477424;
}

double f(double x) {
        double r5477425 = 1.0;
        double r5477426 = 0.5;
        double r5477427 = r5477426 * r5477426;
        double r5477428 = r5477426 * r5477427;
        double r5477429 = r5477425 - r5477428;
        double r5477430 = x;
        double r5477431 = hypot(r5477425, r5477430);
        double r5477432 = r5477429 * r5477431;
        double r5477433 = r5477426 + r5477428;
        double r5477434 = r5477432 - r5477433;
        double r5477435 = r5477434 - r5477427;
        double r5477436 = r5477426 + r5477427;
        double r5477437 = r5477425 + r5477436;
        double r5477438 = r5477431 * r5477437;
        double r5477439 = r5477435 / r5477438;
        double r5477440 = r5477426 / r5477431;
        double r5477441 = r5477440 + r5477426;
        double r5477442 = sqrt(r5477441);
        double r5477443 = r5477442 + r5477425;
        double r5477444 = r5477439 / r5477443;
        return r5477444;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.3

    \[1 - \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}\]
  2. Simplified15.3

    \[\leadsto \color{blue}{1 - \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}}}\]
  3. Using strategy rm
  4. Applied flip--15.3

    \[\leadsto \color{blue}{\frac{1 \cdot 1 - \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}} \cdot \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}}}{1 + \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}}}}\]
  5. Simplified14.8

    \[\leadsto \frac{\color{blue}{\left(1 - \frac{1}{2}\right) - \frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)}}}{1 + \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}}}\]
  6. Using strategy rm
  7. Applied flip3--14.8

    \[\leadsto \frac{\color{blue}{\frac{{1}^{3} - {\frac{1}{2}}^{3}}{1 \cdot 1 + \left(\frac{1}{2} \cdot \frac{1}{2} + 1 \cdot \frac{1}{2}\right)}} - \frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)}}{1 + \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}}}\]
  8. Applied frac-sub14.9

    \[\leadsto \frac{\color{blue}{\frac{\left({1}^{3} - {\frac{1}{2}}^{3}\right) \cdot \mathsf{hypot}\left(1, x\right) - \left(1 \cdot 1 + \left(\frac{1}{2} \cdot \frac{1}{2} + 1 \cdot \frac{1}{2}\right)\right) \cdot \frac{1}{2}}{\left(1 \cdot 1 + \left(\frac{1}{2} \cdot \frac{1}{2} + 1 \cdot \frac{1}{2}\right)\right) \cdot \mathsf{hypot}\left(1, x\right)}}}{1 + \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}}}\]
  9. Simplified14.9

    \[\leadsto \frac{\frac{\color{blue}{\left(\mathsf{hypot}\left(1, x\right) \cdot \left(1 - \frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right) - \left(\frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right) + \frac{1}{2}\right)\right) - \frac{1}{2} \cdot \frac{1}{2}}}{\left(1 \cdot 1 + \left(\frac{1}{2} \cdot \frac{1}{2} + 1 \cdot \frac{1}{2}\right)\right) \cdot \mathsf{hypot}\left(1, x\right)}}{1 + \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}}}\]
  10. Simplified14.9

    \[\leadsto \frac{\frac{\left(\mathsf{hypot}\left(1, x\right) \cdot \left(1 - \frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right) - \left(\frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right) + \frac{1}{2}\right)\right) - \frac{1}{2} \cdot \frac{1}{2}}{\color{blue}{\mathsf{hypot}\left(1, x\right) \cdot \left(\left(\frac{1}{2} + \frac{1}{2} \cdot \frac{1}{2}\right) + 1\right)}}}{1 + \sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}}}\]
  11. Final simplification14.9

    \[\leadsto \frac{\frac{\left(\left(1 - \frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right) \cdot \mathsf{hypot}\left(1, x\right) - \left(\frac{1}{2} + \frac{1}{2} \cdot \left(\frac{1}{2} \cdot \frac{1}{2}\right)\right)\right) - \frac{1}{2} \cdot \frac{1}{2}}{\mathsf{hypot}\left(1, x\right) \cdot \left(1 + \left(\frac{1}{2} + \frac{1}{2} \cdot \frac{1}{2}\right)\right)}}{\sqrt{\frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)} + \frac{1}{2}} + 1}\]

Reproduce

herbie shell --seed 2019134 
(FPCore (x)
  :name "Given's Rotation SVD example, simplified"
  (- 1 (sqrt (* 1/2 (+ 1 (/ 1 (hypot 1 x)))))))