Average Error: 62.0 → 62.0
Time: 2.1s
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 2019021 
(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: 1.9s)Debug log

sample25.0ms

Algorithm
intervals
Results
9.0ms256×body80valid
6.0ms256×pre80true

simplify7.0ms

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

prune4.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 62.0b

localize12.0ms

Local error

Found 1 expressions with local error:

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

rewrite6.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
div-exp
div-sub
frac-2neg
clear-num
cbrt-undiv
pow1
Counts
1 → 32
Calls
1 calls:
Slowest
5.0ms
(/ (- x lo) (- hi lo))

series43.0ms

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

simplify795.0ms

Counts
33 → 35
Calls
33 calls:
Slowest
512.0ms
(/ (* (* (- x lo) (- x lo)) (- x lo)) (* (* (- hi lo) (- hi lo)) (- hi lo)))
25.0ms
(- (log (- x lo)) (log (- hi lo)))
25.0ms
(+ (* hi hi) (+ (* lo lo) (* hi lo)))
21.0ms
(/ (* (cbrt (- x lo)) (cbrt (- x lo))) (* (cbrt (- hi lo)) (cbrt (- hi lo))))
19.0ms
(/ (* (cbrt (- x lo)) (cbrt (- x lo))) 1)

prune250.0ms

Pruning

1 alts after pruning (0 fresh and 1 done)

Merged error: 62.0b

end0.0ms

sample728.0ms

Algorithm
intervals
Results
413.0ms8000×body80valid
229.0ms8000×pre80true