Average Error: 15.1 → 0.0
Time: 2.4m
Precision: 64
\[\frac{x}{x \cdot x + 1}\]
\[\frac{1}{\mathsf{hypot}\left(1, x\right)} \cdot \frac{x}{\mathsf{hypot}\left(1, x\right)}\]
\frac{x}{x \cdot x + 1}
\frac{1}{\mathsf{hypot}\left(1, x\right)} \cdot \frac{x}{\mathsf{hypot}\left(1, x\right)}
double f(double x) {
        double r15728696 = x;
        double r15728697 = r15728696 * r15728696;
        double r15728698 = 1.0;
        double r15728699 = r15728697 + r15728698;
        double r15728700 = r15728696 / r15728699;
        return r15728700;
}

double f(double x) {
        double r15728701 = 1.0;
        double r15728702 = x;
        double r15728703 = hypot(r15728701, r15728702);
        double r15728704 = r15728701 / r15728703;
        double r15728705 = r15728702 / r15728703;
        double r15728706 = r15728704 * r15728705;
        return r15728706;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original15.1
Target0.1
Herbie0.0
\[\frac{1}{x + \frac{1}{x}}\]

Derivation

  1. Initial program 15.1

    \[\frac{x}{x \cdot x + 1}\]
  2. Simplified15.1

    \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(x, x, 1\right)}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt15.1

    \[\leadsto \frac{x}{\color{blue}{\sqrt{\mathsf{fma}\left(x, x, 1\right)} \cdot \sqrt{\mathsf{fma}\left(x, x, 1\right)}}}\]
  5. Applied associate-/r*15.0

    \[\leadsto \color{blue}{\frac{\frac{x}{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity15.0

    \[\leadsto \frac{\frac{\color{blue}{1 \cdot x}}{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}\]
  8. Applied associate-/l*15.1

    \[\leadsto \frac{\color{blue}{\frac{1}{\frac{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}{x}}}}{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}\]
  9. Using strategy rm
  10. Applied add-sqr-sqrt15.2

    \[\leadsto \frac{\frac{1}{\frac{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}{x}}}{\color{blue}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}}\]
  11. Applied *-un-lft-identity15.2

    \[\leadsto \frac{\frac{1}{\frac{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}{\color{blue}{1 \cdot x}}}}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}\]
  12. Applied add-sqr-sqrt15.3

    \[\leadsto \frac{\frac{1}{\frac{\color{blue}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}}{1 \cdot x}}}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}\]
  13. Applied times-frac15.3

    \[\leadsto \frac{\frac{1}{\color{blue}{\frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{1} \cdot \frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{x}}}}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}\]
  14. Applied *-un-lft-identity15.3

    \[\leadsto \frac{\frac{\color{blue}{1 \cdot 1}}{\frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{1} \cdot \frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{x}}}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}\]
  15. Applied times-frac15.3

    \[\leadsto \frac{\color{blue}{\frac{1}{\frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{1}} \cdot \frac{1}{\frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{x}}}}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}\]
  16. Applied times-frac15.3

    \[\leadsto \color{blue}{\frac{\frac{1}{\frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{1}}}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}} \cdot \frac{\frac{1}{\frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{x}}}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}}\]
  17. Simplified15.2

    \[\leadsto \color{blue}{\frac{1}{\mathsf{hypot}\left(1, x\right)}} \cdot \frac{\frac{1}{\frac{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}{x}}}{\sqrt{\sqrt{\mathsf{fma}\left(x, x, 1\right)}}}\]
  18. Simplified0.0

    \[\leadsto \frac{1}{\mathsf{hypot}\left(1, x\right)} \cdot \color{blue}{\frac{x}{\mathsf{hypot}\left(1, x\right)}}\]
  19. Final simplification0.0

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

Reproduce

herbie shell --seed 2019120 +o rules:numerics
(FPCore (x)
  :name "x / (x^2 + 1)"

  :herbie-target
  (/ 1 (+ x (/ 1 x)))

  (/ x (+ (* x x) 1)))