Average Error: 0.1 → 0.1
Time: 6.8s
Precision: binary64
Cost: 6848
\[x + \frac{\left|y - x\right|}{2} \]
\[x + \frac{\left|y - x\right|}{2} \]
(FPCore (x y) :precision binary64 (+ x (/ (fabs (- y x)) 2.0)))
(FPCore (x y) :precision binary64 (+ x (/ (fabs (- y x)) 2.0)))
double code(double x, double y) {
	return x + (fabs((y - x)) / 2.0);
}
double code(double x, double y) {
	return x + (fabs((y - x)) / 2.0);
}
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = x + (abs((y - x)) / 2.0d0)
end function
real(8) function code(x, y)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    code = x + (abs((y - x)) / 2.0d0)
end function
public static double code(double x, double y) {
	return x + (Math.abs((y - x)) / 2.0);
}
public static double code(double x, double y) {
	return x + (Math.abs((y - x)) / 2.0);
}
def code(x, y):
	return x + (math.fabs((y - x)) / 2.0)
def code(x, y):
	return x + (math.fabs((y - x)) / 2.0)
function code(x, y)
	return Float64(x + Float64(abs(Float64(y - x)) / 2.0))
end
function code(x, y)
	return Float64(x + Float64(abs(Float64(y - x)) / 2.0))
end
function tmp = code(x, y)
	tmp = x + (abs((y - x)) / 2.0);
end
function tmp = code(x, y)
	tmp = x + (abs((y - x)) / 2.0);
end
code[x_, y_] := N[(x + N[(N[Abs[N[(y - x), $MachinePrecision]], $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision]
code[x_, y_] := N[(x + N[(N[Abs[N[(y - x), $MachinePrecision]], $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision]
x + \frac{\left|y - x\right|}{2}
x + \frac{\left|y - x\right|}{2}

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[x + \frac{\left|y - x\right|}{2} \]
  2. Final simplification0.1

    \[\leadsto x + \frac{\left|y - x\right|}{2} \]

Alternatives

Alternative 1
Error11.1
Cost6984
\[\begin{array}{l} \mathbf{if}\;x \leq -1.2395166976361062 \cdot 10^{-41}:\\ \;\;\;\;0.5 \cdot \left(x + y\right)\\ \mathbf{elif}\;x \leq 8.004423619829554 \cdot 10^{-153}:\\ \;\;\;\;\left|y - x\right| \cdot 0.5\\ \mathbf{else}:\\ \;\;\;\;y \cdot -0.5 + x \cdot 1.5\\ \end{array} \]
Alternative 2
Error14.7
Cost1108
\[\begin{array}{l} t_0 := y \cdot -0.5 + x \cdot 1.5\\ t_1 := 0.5 \cdot \left(x + y\right)\\ \mathbf{if}\;y \leq -5.195679525116286 \cdot 10^{-94}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y \leq -9.472994429882696 \cdot 10^{-138}:\\ \;\;\;\;x \cdot 0.5\\ \mathbf{elif}\;y \leq 4.129353252843629 \cdot 10^{-264}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y \leq 2.8677781854245986 \cdot 10^{-166}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y \leq 3.1910702688282724 \cdot 10^{-105}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 3
Error25.4
Cost456
\[\begin{array}{l} \mathbf{if}\;y \leq -9.48430830912618 \cdot 10^{-92}:\\ \;\;\;\;y \cdot -0.5\\ \mathbf{elif}\;y \leq 21707196.634316623:\\ \;\;\;\;x \cdot 0.5\\ \mathbf{else}:\\ \;\;\;\;y \cdot 0.5\\ \end{array} \]
Alternative 4
Error19.3
Cost452
\[\begin{array}{l} \mathbf{if}\;y \leq -9.48430830912618 \cdot 10^{-92}:\\ \;\;\;\;y \cdot -0.5\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \left(x + y\right)\\ \end{array} \]
Alternative 5
Error43.4
Cost324
\[\begin{array}{l} \mathbf{if}\;y \leq -4.265806440427589 \cdot 10^{-219}:\\ \;\;\;\;y \cdot -0.5\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array} \]
Alternative 6
Error34.8
Cost324
\[\begin{array}{l} \mathbf{if}\;y \leq -9.48430830912618 \cdot 10^{-92}:\\ \;\;\;\;y \cdot -0.5\\ \mathbf{else}:\\ \;\;\;\;x \cdot 0.5\\ \end{array} \]
Alternative 7
Error56.8
Cost64
\[x \]

Error

Reproduce

herbie shell --seed 2022310 
(FPCore (x y)
  :name "Graphics.Rendering.Chart.Plot.AreaSpots:renderSpotLegend from Chart-1.5.3"
  :precision binary64
  (+ x (/ (fabs (- y x)) 2.0)))