?

Average Error: 64.0 → 64.0
Time: 2.0s
Precision: binary64
Cost: 64

?

\[1.9 \leq t \land t \leq 2.1\]
\[1.7 \cdot 10^{+308} \cdot t - 1.7 \cdot 10^{+308} \]
\[-1.7 \cdot 10^{+308} \]
(FPCore (t) :precision binary64 (- (* 1.7e+308 t) 1.7e+308))
(FPCore (t) :precision binary64 -1.7e+308)
double code(double t) {
	return (1.7e+308 * t) - 1.7e+308;
}
double code(double t) {
	return -1.7e+308;
}
real(8) function code(t)
    real(8), intent (in) :: t
    code = (1.7d+308 * t) - 1.7d+308
end function
real(8) function code(t)
    real(8), intent (in) :: t
    code = -1.7d+308
end function
public static double code(double t) {
	return (1.7e+308 * t) - 1.7e+308;
}
public static double code(double t) {
	return -1.7e+308;
}
def code(t):
	return (1.7e+308 * t) - 1.7e+308
def code(t):
	return -1.7e+308
function code(t)
	return Float64(Float64(1.7e+308 * t) - 1.7e+308)
end
function code(t)
	return -1.7e+308
end
function tmp = code(t)
	tmp = (1.7e+308 * t) - 1.7e+308;
end
function tmp = code(t)
	tmp = -1.7e+308;
end
code[t_] := N[(N[(1.7e+308 * t), $MachinePrecision] - 1.7e+308), $MachinePrecision]
code[t_] := -1.7e+308
1.7 \cdot 10^{+308} \cdot t - 1.7 \cdot 10^{+308}
-1.7 \cdot 10^{+308}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original64.0
Target0.3
Herbie64.0
\[\mathsf{fma}\left(1.7 \cdot 10^{+308}, t, -1.7 \cdot 10^{+308}\right) \]

Derivation?

  1. Initial program 64.0

    \[1.7 \cdot 10^{+308} \cdot t - 1.7 \cdot 10^{+308} \]
  2. Taylor expanded in t around 0 64.0

    \[\leadsto \color{blue}{-1.7 \cdot 10^{+308}} \]
  3. Final simplification64.0

    \[\leadsto -1.7 \cdot 10^{+308} \]

Reproduce?

herbie shell --seed 2023092 
(FPCore (t)
  :name "fma_test2"
  :precision binary64
  :pre (and (<= 1.9 t) (<= t 2.1))

  :herbie-target
  (fma 1.7e+308 t (- 1.7e+308))

  (- (* 1.7e+308 t) 1.7e+308))