Average Error: 62.0 → 62.0
Time: 2.4s
Precision: 64
Internal Precision: 128
\[\frac{x - lo}{hi - lo}\]
\[\frac{x - lo}{hi - lo}\]

Error

Bits error versus lo

Bits error versus hi

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 62.0

    \[\frac{x - lo}{hi - lo}\]
  2. Final simplification62.0

    \[\leadsto \frac{x - lo}{hi - lo}\]

Reproduce

herbie shell --seed 2019010 +o rules:numerics
(FPCore (lo hi x)
  :name "(/ (- x lo) (- hi lo))"
  :pre (and (< lo -1e+308) (> hi 1e+308))
  (/ (- x lo) (- hi lo)))

Details

Time bar (total: 2.2s)Debug log

sample24.0ms

Algorithm
intervals

simplify8.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
8.0ms
(/ (- x lo) (- hi lo))

prune5.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 62.0b

localize16.0ms

Local error

Found 1 expressions with local error:

62.0b
(/ (- x lo) (- hi lo))

rewrite4.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
times-frac
*-un-lft-identity
add-sqr-sqrt
associate-/l*
add-exp-log
add-cbrt-cube
associate-/r*
associate-/l/
flip--
associate-/r/
flip3--
add-log-exp
div-inv
log1p-expm1-u
div-exp
div-sub
frac-2neg
clear-num
cbrt-undiv
pow1
expm1-log1p-u
Counts
1 → 34
Calls
1 calls:
Slowest
4.0ms
(/ (- x lo) (- hi lo))

series32.0ms

Counts
1 → 3
Calls
1 calls:
Slowest
32.0ms
(/ (- x lo) (- hi lo))

simplify455.0ms

Counts
33 → 37
Calls
33 calls:
Slowest
171.0ms
(/ (* (* (- x lo) (- x lo)) (- x lo)) (* (* (- hi lo) (- hi lo)) (- hi lo)))
36.0ms
(/ (* (cbrt (- x lo)) (cbrt (- x lo))) (* (cbrt (- hi lo)) (cbrt (- hi lo))))
34.0ms
(/ (* (cbrt (- x lo)) (cbrt (- x lo))) 1)
32.0ms
(+ (* hi hi) (+ (* lo lo) (* hi lo)))
22.0ms
(- (* x x) (* lo lo))

prune295.0ms

Pruning

1 alts after pruning (0 fresh and 1 done)

Merged error: 62.0b

end0.0ms

sample1.3s

Algorithm
intervals