Average Error: 49.1 → 0
Time: 1.2s
Precision: 64
Internal Precision: 128
\[1.7 \cdot 10^{+308} \cdot t - 1.7 \cdot 10^{+308}\]
\[(\left( 1.7 \cdot 10^{+308} \right) \cdot t + \left(-1.7 \cdot 10^{+308}\right))_*\]

Error

Bits error versus t

Target

Original49.1
Target0
Herbie0
\[(\left( 1.7 \cdot 10^{+308} \right) \cdot t + \left(-1.7 \cdot 10^{+308}\right))_*\]

Derivation

  1. Initial program 49.1

    \[1.7 \cdot 10^{+308} \cdot t - 1.7 \cdot 10^{+308}\]
  2. Using strategy rm
  3. Applied fma-neg0

    \[\leadsto \color{blue}{(\left( 1.7 \cdot 10^{+308} \right) \cdot t + \left(-1.7 \cdot 10^{+308}\right))_*}\]
  4. Final simplification0

    \[\leadsto (\left( 1.7 \cdot 10^{+308} \right) \cdot t + \left(-1.7 \cdot 10^{+308}\right))_*\]

Reproduce

herbie shell --seed 2019010 +o rules:numerics
(FPCore (t)
  :name "fma_test2"
  :pre (<= 1.9 t 2.1)

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

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

Details

Time bar (total: 919.0ms)Debug log

sample41.0ms

Algorithm
intervals

simplify9.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
9.0ms
(- (* 1.7e+308 t) 1.7e+308)

prune4.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 49.3b

localize12.0ms

Local error

Found 1 expressions with local error:

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

rewrite2.0ms

Algorithm
rewrite-expression-head
Rules
add-log-exp
flip--
log1p-expm1-u
add-cube-cbrt
add-exp-log
fma-neg
add-cbrt-cube
flip3--
*-un-lft-identity
sub-neg
pow1
expm1-log1p-u
add-sqr-sqrt
Counts
1 → 14
Calls
1 calls:
Slowest
2.0ms
(- (* 1.7e+308 t) 1.7e+308)

series18.0ms

Counts
1 → 3
Calls
1 calls:
Slowest
18.0ms
(- (* 1.7e+308 t) 1.7e+308)

simplify14.0ms

Counts
3 → 17
Calls
3 calls:
Slowest
4.0ms
(- (* 1.7e+308 t) 1.7e+308)
4.0ms
(- (* 1.7e+308 t) 1.7e+308)
4.0ms
(- (* 1.7e+308 t) 1.7e+308)

prune43.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0b

localize12.0ms

Local error

Found 0 expressions with local error:

rewrite0.0ms

Algorithm
rewrite-expression-head
Rules
Counts
0 → 0
Calls
0 calls:
Slowest

series0.0ms

Counts
0 → 0
Calls
0 calls:
Slowest

simplify0.0ms

Counts
0 → 0
Calls
0 calls:
Slowest

prune3.0ms

Pruning

1 alts after pruning (0 fresh and 1 done)

Merged error: 0b

end0.0ms

sample761.0ms

Algorithm
intervals