Average Error: 0.0 → 0.0
Time: 6.4s
Precision: binary64
Cost: 704
\[x - \frac{y}{1 + \frac{x \cdot y}{2}} \]
\[x - \frac{y}{1 + \frac{x}{\frac{2}{y}}} \]
(FPCore (x y) :precision binary64 (- x (/ y (+ 1.0 (/ (* x y) 2.0)))))
(FPCore (x y) :precision binary64 (- x (/ y (+ 1.0 (/ x (/ 2.0 y))))))
double code(double x, double y) {
	return x - (y / (1.0 + ((x * y) / 2.0)));
}
double code(double x, double y) {
	return x - (y / (1.0 + (x / (2.0 / y))));
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = x - (y / (1.0d0 + ((x * y) / 2.0d0)))
end function
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = x - (y / (1.0d0 + (x / (2.0d0 / y))))
end function
public static double code(double x, double y) {
	return x - (y / (1.0 + ((x * y) / 2.0)));
}
public static double code(double x, double y) {
	return x - (y / (1.0 + (x / (2.0 / y))));
}
def code(x, y):
	return x - (y / (1.0 + ((x * y) / 2.0)))
def code(x, y):
	return x - (y / (1.0 + (x / (2.0 / y))))
function code(x, y)
	return Float64(x - Float64(y / Float64(1.0 + Float64(Float64(x * y) / 2.0))))
end
function code(x, y)
	return Float64(x - Float64(y / Float64(1.0 + Float64(x / Float64(2.0 / y)))))
end
function tmp = code(x, y)
	tmp = x - (y / (1.0 + ((x * y) / 2.0)));
end
function tmp = code(x, y)
	tmp = x - (y / (1.0 + (x / (2.0 / y))));
end
code[x_, y_] := N[(x - N[(y / N[(1.0 + N[(N[(x * y), $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_, y_] := N[(x - N[(y / N[(1.0 + N[(x / N[(2.0 / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
x - \frac{y}{1 + \frac{x \cdot y}{2}}
x - \frac{y}{1 + \frac{x}{\frac{2}{y}}}

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[x - \frac{y}{1 + \frac{x \cdot y}{2}} \]
  2. Applied egg-rr0.1

    \[\leadsto x - \frac{y}{1 + \color{blue}{{\left(\frac{\frac{2}{y}}{x}\right)}^{-1}}} \]
  3. Applied egg-rr0.0

    \[\leadsto x - \frac{y}{1 + \color{blue}{\frac{x}{\frac{2}{y}}}} \]
  4. Final simplification0.0

    \[\leadsto x - \frac{y}{1 + \frac{x}{\frac{2}{y}}} \]

Alternatives

Alternative 1
Error10.8
Cost852
\[\begin{array}{l} \mathbf{if}\;x \leq -2.0187850557347824 \cdot 10^{-7}:\\ \;\;\;\;x\\ \mathbf{elif}\;x \leq -2.1235475122703711 \cdot 10^{-137}:\\ \;\;\;\;x - y\\ \mathbf{elif}\;x \leq -6.118223240744509 \cdot 10^{-180}:\\ \;\;\;\;\frac{-2}{x}\\ \mathbf{elif}\;x \leq 7.45075017487164 \cdot 10^{-131}:\\ \;\;\;\;x - y\\ \mathbf{elif}\;x \leq 0.0004258148981429629:\\ \;\;\;\;\frac{-2}{x}\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \]
Alternative 2
Error13.6
Cost588
\[\begin{array}{l} \mathbf{if}\;x \leq -4.8029439222061005 \cdot 10^{-101}:\\ \;\;\;\;x\\ \mathbf{elif}\;x \leq 7.45075017487164 \cdot 10^{-131}:\\ \;\;\;\;-y\\ \mathbf{elif}\;x \leq 0.0004258148981429629:\\ \;\;\;\;\frac{-2}{x}\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \]
Alternative 3
Error5.4
Cost584
\[\begin{array}{l} t_0 := x + \frac{-2}{x}\\ \mathbf{if}\;y \leq -2.240382356883211 \cdot 10^{+111}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y \leq 1.5097020792532763 \cdot 10^{+88}:\\ \;\;\;\;x - y\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 4
Error13.2
Cost392
\[\begin{array}{l} \mathbf{if}\;x \leq -4.8029439222061005 \cdot 10^{-101}:\\ \;\;\;\;x\\ \mathbf{elif}\;x \leq 1.1866633050319534 \cdot 10^{-100}:\\ \;\;\;\;-y\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \]
Alternative 5
Error23.5
Cost64
\[x \]

Error

Reproduce

herbie shell --seed 2022300 
(FPCore (x y)
  :name "Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, B"
  :precision binary64
  (- x (/ y (+ 1.0 (/ (* x y) 2.0)))))