Average Error: 1.0 → 0.0
Time: 37.1s
Precision: 64
Internal Precision: 128
\[\frac{4}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
\[\frac{\frac{\frac{\frac{4}{3}}{\pi}}{1 - {v}^{4}}}{\frac{\sqrt{(-6 \cdot \left(v \cdot v\right) + 2)_*}}{v \cdot v + 1}}\]

Error

Bits error versus v

Derivation

  1. Initial program 1.0

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

    \[\leadsto \color{blue}{\frac{\frac{\frac{\frac{4}{3}}{\pi}}{1 - v \cdot v}}{\sqrt{(-6 \cdot \left(v \cdot v\right) + 2)_*}}}\]
  3. Using strategy rm
  4. Applied flip--0.0

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

    \[\leadsto \frac{\color{blue}{\frac{\frac{\frac{4}{3}}{\pi}}{1 \cdot 1 - \left(v \cdot v\right) \cdot \left(v \cdot v\right)} \cdot \left(1 + v \cdot v\right)}}{\sqrt{(-6 \cdot \left(v \cdot v\right) + 2)_*}}\]
  6. Applied associate-/l*0.0

    \[\leadsto \color{blue}{\frac{\frac{\frac{\frac{4}{3}}{\pi}}{1 \cdot 1 - \left(v \cdot v\right) \cdot \left(v \cdot v\right)}}{\frac{\sqrt{(-6 \cdot \left(v \cdot v\right) + 2)_*}}{1 + v \cdot v}}}\]
  7. Simplified0.0

    \[\leadsto \frac{\color{blue}{\frac{\frac{\frac{4}{3}}{\pi}}{1 - {v}^{4}}}}{\frac{\sqrt{(-6 \cdot \left(v \cdot v\right) + 2)_*}}{1 + v \cdot v}}\]
  8. Final simplification0.0

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

Reproduce

herbie shell --seed 2019008 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Equation (22+)"
  (/ 4 (* (* (* 3 PI) (- 1 (* v v))) (sqrt (- 2 (* 6 (* v v)))))))

Details

Time bar (total: 36.8s)Debug log

sample150.0ms

Algorithm
intervals

simplify126.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

126.0ms
(/ 4 (* (* (* 3 PI) (- 1 (* v v))) (sqrt (- 2 (* 6 (* v v))))))

prune20.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize41.0ms

Local error

Found 4 expressions with local error:

1.0b
(/ 4/3 PI)
0.0b
(/ (/ 4/3 PI) (- 1 (* v v)))
0.0b
(/ (/ (/ 4/3 PI) (- 1 (* v v))) (sqrt (fma -6 (* v v) 2)))
0.0b
(fma -6 (* v v) 2)

rewrite37.0ms

Algorithm
rewrite-expression-head
Counts
4 → 207
Calls

4 calls. Slowest were:

16.0ms
(/ (/ 4/3 PI) (- 1 (* v v)))
14.0ms
(/ (/ (/ 4/3 PI) (- 1 (* v v))) (sqrt (fma -6 (* v v) 2)))
0.0ms
(/ 4/3 PI)

series316.0ms

Counts
4 → 10
Calls

4 calls. Slowest were:

210.0ms
(/ (/ (/ 4/3 PI) (- 1 (* v v))) (sqrt (fma -6 (* v v) 2)))
77.0ms
(/ (/ 4/3 PI) (- 1 (* v v)))
29.0ms
(fma -6 (* v v) 2)
0.0ms
(/ 4/3 PI)

simplify23.4s

Counts
287 → 217
Calls

287 calls. Slowest were:

849.0ms
(- (+ (* 4/3 (/ 1 (* (pow v 2) PI))) (+ (* 4/3 (/ 1 (* (pow v 4) PI))) (* 4/3 (/ 1 (* (pow v 6) PI))))))
668.0ms
(- (+ (* 4/3 (/ 1 (* (pow v 2) PI))) (+ (* 4/3 (/ 1 (* (pow v 4) PI))) (* 4/3 (/ 1 (* (pow v 6) PI))))))
642.0ms
(/ (/ (/ 1 PI) (- 1 (* v v))) (sqrt (sqrt (fma -6 (* v v) 2))))

prune2.2s

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0b

localize18.0ms

Local error

Found 4 expressions with local error:

1.0b
(/ 4/3 PI)
0.0b
(/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v)))
0.0b
(/ (/ 4/3 PI) (- 1 (pow v 4)))
0.0b
(fma -6 (* v v) 2)

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 101
Calls

4 calls. Slowest were:

4.0ms
(/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v)))
4.0ms
(/ (/ 4/3 PI) (- 1 (pow v 4)))
0.0ms
(fma -6 (* v v) 2)

series337.0ms

Counts
4 → 10
Calls

4 calls. Slowest were:

210.0ms
(/ (/ 4/3 PI) (- 1 (pow v 4)))
92.0ms
(/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v)))
35.0ms
(fma -6 (* v v) 2)
0.0ms
(/ 4/3 PI)

simplify5.8s

Counts
91 → 111
Calls

91 calls. Slowest were:

1.3s
(- (+ (* 4/3 (/ 1 (* (pow v 4) PI))) (+ (* 4/3 (/ 1 (* (pow v 8) PI))) (* 4/3 (/ 1 (* (pow v 12) PI))))))
1.2s
(- (+ (* 4/3 (/ 1 (* (pow v 4) PI))) (+ (* 4/3 (/ 1 (* (pow v 8) PI))) (* 4/3 (/ 1 (* (pow v 12) PI))))))
391.0ms
(- (+ (/ 1 (* (pow v 5) (sqrt -6))) (+ (* 1/2 (/ 1 (* (pow v 5) (pow (sqrt -6) 3)))) (/ (sqrt -6) (pow v 3)))) (+ (/ 1 (* (pow v 3) (sqrt -6))) (+ (/ (sqrt -6) v) (/ (sqrt -6) (pow v 5)))))

prune1.4s

Pruning

1 alts after pruning (0 fresh and 1 done)

Merged error: 0b

end0.0ms

sample2.9s

Algorithm
intervals