Average Error: 0.5 → 0.1
Time: 51.6s
Precision: 64
Internal Precision: 128
\[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
\[\frac{\frac{\frac{(\left(v \cdot v\right) \cdot -5 + 1)_*}{\pi}}{\sqrt{(\left(v \cdot v\right) \cdot -3 + 1)_* \cdot 2}}}{\left(1 - v \cdot v\right) \cdot t}\]

Error

Bits error versus v

Bits error versus t

Derivation

  1. Initial program 0.5

    \[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
  2. Simplified0.3

    \[\leadsto \color{blue}{\frac{\frac{(\left(v \cdot v\right) \cdot -5 + 1)_*}{\pi}}{\sqrt{2 \cdot (\left(v \cdot v\right) \cdot -3 + 1)_*} \cdot \left(t \cdot \left(1 - v \cdot v\right)\right)}}\]
  3. Using strategy rm
  4. Applied associate-/r*0.1

    \[\leadsto \color{blue}{\frac{\frac{\frac{(\left(v \cdot v\right) \cdot -5 + 1)_*}{\pi}}{\sqrt{2 \cdot (\left(v \cdot v\right) \cdot -3 + 1)_*}}}{t \cdot \left(1 - v \cdot v\right)}}\]
  5. Final simplification0.1

    \[\leadsto \frac{\frac{\frac{(\left(v \cdot v\right) \cdot -5 + 1)_*}{\pi}}{\sqrt{(\left(v \cdot v\right) \cdot -3 + 1)_* \cdot 2}}}{\left(1 - v \cdot v\right) \cdot t}\]

Reproduce

herbie shell --seed 2019004 +o rules:numerics
(FPCore (v t)
  :name "Falkner and Boettcher, Equation (20:1,3)"
  (/ (- 1 (* 5 (* v v))) (* (* (* PI t) (sqrt (* 2 (- 1 (* 3 (* v v)))))) (- 1 (* v v)))))

Details

Time bar (total: 50.7s)Debug log

sample210.0ms

Algorithm
intervals

simplify120.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

120.0ms
(/ (- 1 (* 5 (* v v))) (* (* (* PI t) (sqrt (* 2 (- 1 (* 3 (* v v)))))) (- 1 (* v v))))

prune30.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.1b

localize61.0ms

Local error

Found 4 expressions with local error:

0.5b
(* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v))))
0.5b
(/ (/ (fma (* v v) -5 1) PI) (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v)))))
0.0b
(* t (- 1 (* v v)))
0.0b
(/ (fma (* v v) -5 1) PI)

rewrite35.0ms

Algorithm
rewrite-expression-head
Counts
4 → 90
Calls

4 calls. Slowest were:

16.0ms
(/ (/ (fma (* v v) -5 1) PI) (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v)))))
14.0ms
(* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v))))
3.0ms
(/ (fma (* v v) -5 1) PI)

series737.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

375.0ms
(/ (/ (fma (* v v) -5 1) PI) (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v)))))
196.0ms
(* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v))))
118.0ms
(/ (fma (* v v) -5 1) PI)
48.0ms
(* t (- 1 (* v v)))

simplify6.2s

Counts
59 → 102
Calls

59 calls. Slowest were:

438.0ms
(- (* t (sqrt 2)) (* 5/2 (* t (* (sqrt 2) (pow v 2)))))
427.0ms
(- (log (/ (fma (* v v) -5 1) PI)) (+ (log (sqrt (* 2 (fma (* v v) -3 1)))) (log (* t (- 1 (* v v))))))
351.0ms
(- (/ 1 (* t (* (sqrt 2) PI))) (+ (* 53/8 (/ (pow v 4) (* t (* (sqrt 2) PI)))) (* 5/2 (/ (pow v 2) (* t (* (sqrt 2) PI))))))

prune1.5s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.0b

localize8.0ms

Local error

Found 4 expressions with local error:

0.1b
(/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- 1 (* v v))))
0.0b
(/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1))))
0.0b
(* t (- 1 (* v v)))
0.0b
(/ (fma (* v v) -5 1) PI)

rewrite43.0ms

Algorithm
rewrite-expression-head
Counts
4 → 133
Calls

4 calls. Slowest were:

23.0ms
(/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- 1 (* v v))))
10.0ms
(/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1))))
5.0ms
(/ (fma (* v v) -5 1) PI)

series697.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

321.0ms
(/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- 1 (* v v))))
201.0ms
(/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1))))
134.0ms
(/ (fma (* v v) -5 1) PI)
40.0ms
(* t (- 1 (* v v)))

simplify9.3s

Counts
132 → 145
Calls

132 calls. Slowest were:

358.0ms
(- (/ 1 (* t (* (sqrt 2) PI))) (+ (* 53/8 (/ (pow v 4) (* t (* (sqrt 2) PI)))) (* 5/2 (/ (pow v 2) (* t (* (sqrt 2) PI))))))
281.0ms
(- (log (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1))))) (log (* t (- 1 (* v v)))))
262.0ms
(/ (/ (/ (fma (* v v) -5 1) PI) (cbrt (sqrt (* 2 (fma (* v v) -3 1))))) (- 1 (* v v)))

prune2.0s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0b

localize16.0ms

Local error

Found 4 expressions with local error:

1.0b
(/ 1 (sqrt (fma -6 (* v v) 2)))
0.5b
(* (/ 1 (sqrt (fma -6 (* v v) 2))) (/ (/ (fma (* v v) -5 1) PI) (* t (- 1 (* v v)))))
0.3b
(/ (/ (fma (* v v) -5 1) PI) (* t (- 1 (* v v))))
0.0b
(* t (- 1 (* v v)))

rewrite20.0ms

Algorithm
rewrite-expression-head
Counts
4 → 101
Calls

4 calls. Slowest were:

7.0ms
(* (/ 1 (sqrt (fma -6 (* v v) 2))) (/ (/ (fma (* v v) -5 1) PI) (* t (- 1 (* v v)))))
6.0ms
(/ (/ (fma (* v v) -5 1) PI) (* t (- 1 (* v v))))
3.0ms
(* t (- 1 (* v v)))

series773.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

575.0ms
(* (/ 1 (sqrt (fma -6 (* v v) 2))) (/ (/ (fma (* v v) -5 1) PI) (* t (- 1 (* v v)))))
104.0ms
(/ (/ (fma (* v v) -5 1) PI) (* t (- 1 (* v v))))
62.0ms
(/ 1 (sqrt (fma -6 (* v v) 2)))
33.0ms
(* t (- 1 (* v v)))

simplify6.6s

Counts
69 → 113
Calls

69 calls. Slowest were:

474.0ms
(+ (- (log (sqrt (fma -6 (* v v) 2)))) (- (log (/ (fma (* v v) -5 1) PI)) (log (* t (- 1 (* v v))))))
411.0ms
(* 1 (/ (/ (fma (* v v) -5 1) PI) (* t (- 1 (* v v)))))
355.0ms
(+ (log (/ 1 (sqrt (fma -6 (* v v) 2)))) (log (/ (/ (fma (* v v) -5 1) PI) (* t (- 1 (* v v))))))

prune1.5s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0b

localize74.0ms

Local error

Found 4 expressions with local error:

0.4b
(* (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* -6 v) 2)))) (- 1 (* v v))))
0.3b
(/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t)
0.0b
(sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* -6 v) 2))))
0.0b
(/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* -6 v) 2)))

rewrite57.0ms

Algorithm
rewrite-expression-head
Counts
4 → 256
Calls

4 calls. Slowest were:

12.0ms
(* (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* -6 v) 2)))) (- 1 (* v v))))
11.0ms
(/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* -6 v) 2)))
10.0ms
(/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t)

series1.4s

Counts
4 → 12
Calls

4 calls. Slowest were:

668.0ms
(/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t)
313.0ms
(sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* -6 v) 2))))
227.0ms
(* (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* -6 v) 2)))) (- 1 (* v v))))
161.0ms
(/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* -6 v) 2)))

simplify8.9s

Counts
246 → 268
Calls

246 calls. Slowest were:

571.0ms
(/ (* (* (/ (fma v (* v -5) 1) PI) (/ (fma v (* v -5) 1) PI)) (/ (fma v (* v -5) 1) PI)) (* (* (sqrt (fma v (* -6 v) 2)) (sqrt (fma v (* -6 v) 2))) (sqrt (fma v (* -6 v) 2))))
308.0ms
(- (* 1/8 (/ (exp (* 1/4 (+ (* 2 (log (/ -1 v))) (log -1/6)))) (* (pow v 3) (* (pow (sqrt (/ -5 PI)) 3) (pow PI 2))))) (+ (* 1/2 (/ (exp (* 1/4 (+ (* 2 (log (/ -1 v))) (log -1/6)))) (* v (* (sqrt (/ -5 PI)) PI)))) (+ (* 5/288 (/ (* (exp (* 1/4 (+ (* 2 (log (/ -1 v))) (log -1/6)))) (sqrt (/ -5 PI))) (pow v 3))) (+ (* 1/24 (/ (exp (* 1/4 (+ (* 2 (log (/ -1 v))) (log -1/6)))) (* (pow v 3) (* (sqrt (/ -5 PI)) PI)))) (+ (* 1/12 (/ (* (exp (* 1/4 (+ (* 2 (log (/ -1 v))) (log -1/6)))) (sqrt (/ -5 PI))) v)) (* (exp (* 1/4 (+ (* 2 (log (/ -1 v))) (log -1/6)))) (* v (sqrt (/ -5 PI)))))))))
300.0ms
(- (+ (* v (* (sqrt (/ -5 PI)) (exp (* 1/4 (+ (log -1/6) (* 2 (log (/ 1 v)))))))) (+ (* 1/24 (/ (exp (* 1/4 (+ (log -1/6) (* 2 (log (/ 1 v)))))) (* (pow v 3) (* (sqrt (/ -5 PI)) PI)))) (+ (* 1/12 (/ (* (sqrt (/ -5 PI)) (exp (* 1/4 (+ (log -1/6) (* 2 (log (/ 1 v))))))) v)) (+ (* 1/2 (/ (exp (* 1/4 (+ (log -1/6) (* 2 (log (/ 1 v)))))) (* v (* (sqrt (/ -5 PI)) PI)))) (* 5/288 (/ (* (sqrt (/ -5 PI)) (exp (* 1/4 (+ (log -1/6) (* 2 (log (/ 1 v))))))) (pow v 3))))))) (* 1/8 (/ (exp (* 1/4 (+ (log -1/6) (* 2 (log (/ 1 v)))))) (* (pow v 3) (* (pow (sqrt (/ -5 PI)) 3) (pow PI 2))))))

prune6.0s

Pruning

3 alts after pruning (0 fresh and 3 done)

Merged error: 0b

regimes121.0ms

Accuracy

0% (0.1b remaining)

Error of 0.1b against oracle of 0.0b and baseline of 0.1b

bsearch2.0ms

end0.0ms

sample4.5s

Algorithm
intervals