Average Error: 14.7 → 0.2
Time: 8.3s
Precision: 64
\[\frac{x - y}{\left(x \cdot 2\right) \cdot y}\]
\[\mathsf{fma}\left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}}, \frac{\sqrt[3]{1}}{\sqrt{2} \cdot y}, -\frac{1}{2} \cdot \frac{1}{x}\right) + \mathsf{fma}\left(-\frac{1}{2}, \frac{1}{x}, \frac{1}{2} \cdot \frac{1}{x}\right)\]
\frac{x - y}{\left(x \cdot 2\right) \cdot y}
\mathsf{fma}\left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}}, \frac{\sqrt[3]{1}}{\sqrt{2} \cdot y}, -\frac{1}{2} \cdot \frac{1}{x}\right) + \mathsf{fma}\left(-\frac{1}{2}, \frac{1}{x}, \frac{1}{2} \cdot \frac{1}{x}\right)
double code(double x, double y) {
	return ((double) (((double) (x - y)) / ((double) (((double) (x * 2.0)) * y))));
}
double code(double x, double y) {
	return ((double) (((double) fma(((double) (((double) (1.0 / ((double) sqrt(((double) sqrt(2.0)))))) / ((double) sqrt(((double) sqrt(2.0)))))), ((double) (((double) cbrt(1.0)) / ((double) (((double) sqrt(2.0)) * y)))), ((double) -(((double) (((double) (1.0 / 2.0)) * ((double) (1.0 / x)))))))) + ((double) fma(((double) -(((double) (1.0 / 2.0)))), ((double) (1.0 / x)), ((double) (((double) (1.0 / 2.0)) * ((double) (1.0 / x))))))));
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original14.7
Target0.0
Herbie0.2
\[\frac{0.5}{y} - \frac{0.5}{x}\]

Derivation

  1. Initial program 14.7

    \[\frac{x - y}{\left(x \cdot 2\right) \cdot y}\]
  2. Using strategy rm
  3. Applied div-sub14.7

    \[\leadsto \color{blue}{\frac{x}{\left(x \cdot 2\right) \cdot y} - \frac{y}{\left(x \cdot 2\right) \cdot y}}\]
  4. Simplified11.0

    \[\leadsto \color{blue}{\frac{1}{2 \cdot y}} - \frac{y}{\left(x \cdot 2\right) \cdot y}\]
  5. Simplified0.0

    \[\leadsto \frac{1}{2 \cdot y} - \color{blue}{\frac{1}{x \cdot 2}}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity0.0

    \[\leadsto \frac{1}{2 \cdot y} - \frac{\color{blue}{1 \cdot 1}}{x \cdot 2}\]
  8. Applied times-frac0.0

    \[\leadsto \frac{1}{2 \cdot y} - \color{blue}{\frac{1}{x} \cdot \frac{1}{2}}\]
  9. Applied add-sqr-sqrt0.6

    \[\leadsto \frac{1}{\color{blue}{\left(\sqrt{2} \cdot \sqrt{2}\right)} \cdot y} - \frac{1}{x} \cdot \frac{1}{2}\]
  10. Applied associate-*l*0.4

    \[\leadsto \frac{1}{\color{blue}{\sqrt{2} \cdot \left(\sqrt{2} \cdot y\right)}} - \frac{1}{x} \cdot \frac{1}{2}\]
  11. Applied add-cube-cbrt0.4

    \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\sqrt{2} \cdot \left(\sqrt{2} \cdot y\right)} - \frac{1}{x} \cdot \frac{1}{2}\]
  12. Applied times-frac0.5

    \[\leadsto \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{2}} \cdot \frac{\sqrt[3]{1}}{\sqrt{2} \cdot y}} - \frac{1}{x} \cdot \frac{1}{2}\]
  13. Applied prod-diff0.5

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{2}}, \frac{\sqrt[3]{1}}{\sqrt{2} \cdot y}, -\frac{1}{2} \cdot \frac{1}{x}\right) + \mathsf{fma}\left(-\frac{1}{2}, \frac{1}{x}, \frac{1}{2} \cdot \frac{1}{x}\right)}\]
  14. Using strategy rm
  15. Applied add-sqr-sqrt0.5

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

    \[\leadsto \mathsf{fma}\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\color{blue}{\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}}}, \frac{\sqrt[3]{1}}{\sqrt{2} \cdot y}, -\frac{1}{2} \cdot \frac{1}{x}\right) + \mathsf{fma}\left(-\frac{1}{2}, \frac{1}{x}, \frac{1}{2} \cdot \frac{1}{x}\right)\]
  17. Applied associate-/r*0.2

    \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}}}, \frac{\sqrt[3]{1}}{\sqrt{2} \cdot y}, -\frac{1}{2} \cdot \frac{1}{x}\right) + \mathsf{fma}\left(-\frac{1}{2}, \frac{1}{x}, \frac{1}{2} \cdot \frac{1}{x}\right)\]
  18. Simplified0.2

    \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{\frac{1}{\sqrt{\sqrt{2}}}}}{\sqrt{\sqrt{2}}}, \frac{\sqrt[3]{1}}{\sqrt{2} \cdot y}, -\frac{1}{2} \cdot \frac{1}{x}\right) + \mathsf{fma}\left(-\frac{1}{2}, \frac{1}{x}, \frac{1}{2} \cdot \frac{1}{x}\right)\]
  19. Final simplification0.2

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

Reproduce

herbie shell --seed 2020114 +o rules:numerics
(FPCore (x y)
  :name "Linear.Projection:inversePerspective from linear-1.19.1.3, B"
  :precision binary64

  :herbie-target
  (- (/ 0.5 y) (/ 0.5 x))

  (/ (- x y) (* (* x 2) y)))