Average Error: 20.2 → 2.0
Time: 8.3s
Precision: binary64
\[[x, y]=\mathsf{sort}([x, y])\]
\[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}\]
\[\begin{array}{l} \mathbf{if}\;y \leq -2.925834951620488 \cdot 10^{+94}:\\ \;\;\;\;\frac{\frac{y}{x} - \left(\frac{y}{x \cdot x} + 2 \cdot \left(\frac{y}{x} \cdot \frac{y}{x}\right)\right)}{y + x}\\ \mathbf{elif}\;y \leq 1.927226550392451 \cdot 10^{+154}:\\ \;\;\;\;\frac{\left(\left(y + x\right) - 1\right) \cdot \left(\left(x \cdot \frac{1}{y + x}\right) \cdot \frac{y}{\left(y + x\right) \cdot \left(y + x\right) - 1}\right)}{y + x}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{y} - \left(\frac{x}{y \cdot y} + 2 \cdot \left(\frac{x}{y} \cdot \frac{x}{y}\right)\right)}{y + x}\\ \end{array}\]
\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}
\begin{array}{l}
\mathbf{if}\;y \leq -2.925834951620488 \cdot 10^{+94}:\\
\;\;\;\;\frac{\frac{y}{x} - \left(\frac{y}{x \cdot x} + 2 \cdot \left(\frac{y}{x} \cdot \frac{y}{x}\right)\right)}{y + x}\\

\mathbf{elif}\;y \leq 1.927226550392451 \cdot 10^{+154}:\\
\;\;\;\;\frac{\left(\left(y + x\right) - 1\right) \cdot \left(\left(x \cdot \frac{1}{y + x}\right) \cdot \frac{y}{\left(y + x\right) \cdot \left(y + x\right) - 1}\right)}{y + x}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{y} - \left(\frac{x}{y \cdot y} + 2 \cdot \left(\frac{x}{y} \cdot \frac{x}{y}\right)\right)}{y + x}\\

\end{array}
(FPCore (x y)
 :precision binary64
 (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1.0))))
(FPCore (x y)
 :precision binary64
 (if (<= y -2.925834951620488e+94)
   (/ (- (/ y x) (+ (/ y (* x x)) (* 2.0 (* (/ y x) (/ y x))))) (+ y x))
   (if (<= y 1.927226550392451e+154)
     (/
      (*
       (- (+ y x) 1.0)
       (* (* x (/ 1.0 (+ y x))) (/ y (- (* (+ y x) (+ y x)) 1.0))))
      (+ y x))
     (/ (- (/ x y) (+ (/ x (* y y)) (* 2.0 (* (/ x y) (/ x y))))) (+ y x)))))
double code(double x, double y) {
	return (x * y) / (((x + y) * (x + y)) * ((x + y) + 1.0));
}
double code(double x, double y) {
	double tmp;
	if (y <= -2.925834951620488e+94) {
		tmp = ((y / x) - ((y / (x * x)) + (2.0 * ((y / x) * (y / x))))) / (y + x);
	} else if (y <= 1.927226550392451e+154) {
		tmp = (((y + x) - 1.0) * ((x * (1.0 / (y + x))) * (y / (((y + x) * (y + x)) - 1.0)))) / (y + x);
	} else {
		tmp = ((x / y) - ((x / (y * y)) + (2.0 * ((x / y) * (x / y))))) / (y + x);
	}
	return tmp;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original20.2
Target0.1
Herbie2.0
\[\frac{\frac{\frac{x}{\left(y + 1\right) + x}}{y + x}}{\frac{1}{\frac{y}{y + x}}}\]

Derivation

  1. Split input into 3 regimes
  2. if y < -2.9258349516204878e94

    1. Initial program 63.1

      \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}\]
    2. Using strategy rm
    3. Applied flip-+_binary6463.1

      \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \color{blue}{\frac{\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1}{\left(x + y\right) - 1}}}\]
    4. Applied associate-*r/_binary6463.1

      \[\leadsto \frac{x \cdot y}{\color{blue}{\frac{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1\right)}{\left(x + y\right) - 1}}}\]
    5. Applied associate-/r/_binary6463.1

      \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1\right)} \cdot \left(\left(x + y\right) - 1\right)}\]
    6. Simplified29.0

      \[\leadsto \color{blue}{\left(\frac{x}{x + y} \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}\right)} \cdot \left(\left(x + y\right) - 1\right)\]
    7. Using strategy rm
    8. Applied associate-*l/_binary6429.0

      \[\leadsto \color{blue}{\frac{x \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}}{x + y}} \cdot \left(\left(x + y\right) - 1\right)\]
    9. Applied associate-*l/_binary6429.0

      \[\leadsto \color{blue}{\frac{\left(x \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}\right) \cdot \left(\left(x + y\right) - 1\right)}{x + y}}\]
    10. Simplified29.0

      \[\leadsto \frac{\color{blue}{\left(\left(y + x\right) - 1\right) \cdot \left(x \cdot \frac{y}{{\left(y + x\right)}^{3} - \left(y + x\right)}\right)}}{x + y}\]
    11. Taylor expanded around inf 30.8

      \[\leadsto \frac{\color{blue}{\frac{y}{x} - \left(\frac{y}{{x}^{2}} + 2 \cdot \frac{{y}^{2}}{{x}^{2}}\right)}}{x + y}\]
    12. Simplified1.6

      \[\leadsto \frac{\color{blue}{\frac{y}{x} - \left(\frac{y}{x \cdot x} + 2 \cdot \left(\frac{y}{x} \cdot \frac{y}{x}\right)\right)}}{x + y}\]

    if -2.9258349516204878e94 < y < 1.92722655039245092e154

    1. Initial program 16.7

      \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}\]
    2. Using strategy rm
    3. Applied flip-+_binary6416.7

      \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \color{blue}{\frac{\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1}{\left(x + y\right) - 1}}}\]
    4. Applied associate-*r/_binary6419.4

      \[\leadsto \frac{x \cdot y}{\color{blue}{\frac{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1\right)}{\left(x + y\right) - 1}}}\]
    5. Applied associate-/r/_binary6420.7

      \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1\right)} \cdot \left(\left(x + y\right) - 1\right)}\]
    6. Simplified7.0

      \[\leadsto \color{blue}{\left(\frac{x}{x + y} \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}\right)} \cdot \left(\left(x + y\right) - 1\right)\]
    7. Using strategy rm
    8. Applied associate-*l/_binary647.0

      \[\leadsto \color{blue}{\frac{x \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}}{x + y}} \cdot \left(\left(x + y\right) - 1\right)\]
    9. Applied associate-*l/_binary645.9

      \[\leadsto \color{blue}{\frac{\left(x \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}\right) \cdot \left(\left(x + y\right) - 1\right)}{x + y}}\]
    10. Simplified5.9

      \[\leadsto \frac{\color{blue}{\left(\left(y + x\right) - 1\right) \cdot \left(x \cdot \frac{y}{{\left(y + x\right)}^{3} - \left(y + x\right)}\right)}}{x + y}\]
    11. Using strategy rm
    12. Applied *-un-lft-identity_binary645.9

      \[\leadsto \frac{\left(\left(y + x\right) - 1\right) \cdot \left(x \cdot \frac{y}{{\left(y + x\right)}^{3} - \color{blue}{1 \cdot \left(y + x\right)}}\right)}{x + y}\]
    13. Applied unpow3_binary645.9

      \[\leadsto \frac{\left(\left(y + x\right) - 1\right) \cdot \left(x \cdot \frac{y}{\color{blue}{\left(\left(y + x\right) \cdot \left(y + x\right)\right) \cdot \left(y + x\right)} - 1 \cdot \left(y + x\right)}\right)}{x + y}\]
    14. Applied distribute-rgt-out--_binary645.9

      \[\leadsto \frac{\left(\left(y + x\right) - 1\right) \cdot \left(x \cdot \frac{y}{\color{blue}{\left(y + x\right) \cdot \left(\left(y + x\right) \cdot \left(y + x\right) - 1\right)}}\right)}{x + y}\]
    15. Applied *-un-lft-identity_binary645.9

      \[\leadsto \frac{\left(\left(y + x\right) - 1\right) \cdot \left(x \cdot \frac{\color{blue}{1 \cdot y}}{\left(y + x\right) \cdot \left(\left(y + x\right) \cdot \left(y + x\right) - 1\right)}\right)}{x + y}\]
    16. Applied times-frac_binary643.6

      \[\leadsto \frac{\left(\left(y + x\right) - 1\right) \cdot \left(x \cdot \color{blue}{\left(\frac{1}{y + x} \cdot \frac{y}{\left(y + x\right) \cdot \left(y + x\right) - 1}\right)}\right)}{x + y}\]
    17. Applied associate-*r*_binary641.1

      \[\leadsto \frac{\left(\left(y + x\right) - 1\right) \cdot \color{blue}{\left(\left(x \cdot \frac{1}{y + x}\right) \cdot \frac{y}{\left(y + x\right) \cdot \left(y + x\right) - 1}\right)}}{x + y}\]

    if 1.92722655039245092e154 < y

    1. Initial program 24.9

      \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}\]
    2. Using strategy rm
    3. Applied flip-+_binary6424.9

      \[\leadsto \frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \color{blue}{\frac{\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1}{\left(x + y\right) - 1}}}\]
    4. Applied associate-*r/_binary6424.9

      \[\leadsto \frac{x \cdot y}{\color{blue}{\frac{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1\right)}{\left(x + y\right) - 1}}}\]
    5. Applied associate-/r/_binary6424.9

      \[\leadsto \color{blue}{\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) \cdot \left(x + y\right) - 1 \cdot 1\right)} \cdot \left(\left(x + y\right) - 1\right)}\]
    6. Simplified10.6

      \[\leadsto \color{blue}{\left(\frac{x}{x + y} \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}\right)} \cdot \left(\left(x + y\right) - 1\right)\]
    7. Using strategy rm
    8. Applied associate-*l/_binary6410.6

      \[\leadsto \color{blue}{\frac{x \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}}{x + y}} \cdot \left(\left(x + y\right) - 1\right)\]
    9. Applied associate-*l/_binary6410.6

      \[\leadsto \color{blue}{\frac{\left(x \cdot \frac{y}{{\left(x + y\right)}^{3} + \left(-\left(x + y\right)\right)}\right) \cdot \left(\left(x + y\right) - 1\right)}{x + y}}\]
    10. Simplified10.6

      \[\leadsto \frac{\color{blue}{\left(\left(y + x\right) - 1\right) \cdot \left(x \cdot \frac{y}{{\left(y + x\right)}^{3} - \left(y + x\right)}\right)}}{x + y}\]
    11. Taylor expanded around inf 14.4

      \[\leadsto \frac{\color{blue}{\frac{x}{y} - \left(\frac{x}{{y}^{2}} + 2 \cdot \frac{{x}^{2}}{{y}^{2}}\right)}}{x + y}\]
    12. Simplified5.1

      \[\leadsto \frac{\color{blue}{\frac{x}{y} - \left(\frac{x}{y \cdot y} + 2 \cdot \left(\frac{x}{y} \cdot \frac{x}{y}\right)\right)}}{x + y}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification2.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \leq -2.925834951620488 \cdot 10^{+94}:\\ \;\;\;\;\frac{\frac{y}{x} - \left(\frac{y}{x \cdot x} + 2 \cdot \left(\frac{y}{x} \cdot \frac{y}{x}\right)\right)}{y + x}\\ \mathbf{elif}\;y \leq 1.927226550392451 \cdot 10^{+154}:\\ \;\;\;\;\frac{\left(\left(y + x\right) - 1\right) \cdot \left(\left(x \cdot \frac{1}{y + x}\right) \cdot \frac{y}{\left(y + x\right) \cdot \left(y + x\right) - 1}\right)}{y + x}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{x}{y} - \left(\frac{x}{y \cdot y} + 2 \cdot \left(\frac{x}{y} \cdot \frac{x}{y}\right)\right)}{y + x}\\ \end{array}\]

Reproduce

herbie shell --seed 2021173 
(FPCore (x y)
  :name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, A"
  :precision binary64

  :herbie-target
  (/ (/ (/ x (+ (+ y 1.0) x)) (+ y x)) (/ 1.0 (/ y (+ y x))))

  (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1.0))))