(FPCore (x y) :precision binary64 (- (+ x y) x))
(FPCore (x y) :precision binary64 (- (- y)))
double code(double x, double y) {
return (x + y) - x;
}
double code(double x, double y) {
return -(-y);
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = (x + y) - x
end function
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = -(-y)
end function
public static double code(double x, double y) {
return (x + y) - x;
}
public static double code(double x, double y) {
return -(-y);
}
def code(x, y): return (x + y) - x
def code(x, y): return -(-y)
function code(x, y) return Float64(Float64(x + y) - x) end
function code(x, y) return Float64(-Float64(-y)) end
function tmp = code(x, y) tmp = (x + y) - x; end
function tmp = code(x, y) tmp = -(-y); end
code[x_, y_] := N[(N[(x + y), $MachinePrecision] - x), $MachinePrecision]
code[x_, y_] := (-(-y))
\left(x + y\right) - x
-\left(-y\right)
Results
| Original | 29.3 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 29.3
Simplified0
herbie shell --seed 2023010
(FPCore (x y)
:name "Graphics.Rendering.Chart.Plot.Pie:renderPie from Chart-1.5.3"
:precision binary64
:herbie-target
(- y 0.0)
(- (+ x y) x))