Average Error: 1.0 → 0.0
Time: 4.5m
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{\sqrt[3]{\frac{\frac{\frac{\frac{\frac{64}{27}}{\pi}}{\pi \cdot \pi}}{1 - v \cdot v}}{\left(1 - v \cdot v\right) \cdot \left(1 - v \cdot v\right)}}}{\sqrt{(-6 \cdot \left(v \cdot v\right) + 2)_*}}\]

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 add-cbrt-cube0.0

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

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

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

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

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

Reproduce

herbie shell --seed 2019016 +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: 4.5m)Debug log

sample98.0ms

Algorithm
intervals
Results
524×(pre true 80)
268×(body nan 80)
256×(body real 80)

simplify131.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
131.0ms
(/ 4 (* (* (* 3 PI) (- 1 (* v v))) (sqrt (- 2 (* 6 (* v v))))))

prune90.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.0b

localize40.0ms

Local error

Found 3 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)))

rewrite28.0ms

Algorithm
rewrite-expression-head
Rules
204×times-frac
106×add-cube-cbrt
106×*-un-lft-identity
106×add-sqr-sqrt
57×sqrt-prod
35×div-inv
22×associate-/l*
16×associate-/r/
10×add-exp-log
10×add-cbrt-cube
associate-/r*
flip--
flip3--
div-exp
cbrt-undiv
add-log-exp
log1p-expm1-u
frac-2neg
clear-num
pow1
expm1-log1p-u
associate-/l/
Counts
3 → 197
Calls
3 calls:
Slowest
14.0ms
(/ (/ (/ 4/3 PI) (- 1 (* v v))) (sqrt (fma -6 (* v v) 2)))
7.0ms
(/ (/ 4/3 PI) (- 1 (* v v)))
0.0ms
(/ 4/3 PI)

series262.0ms

Counts
3 → 7
Calls
3 calls:
Slowest
197.0ms
(/ (/ (/ 4/3 PI) (- 1 (* v v))) (sqrt (fma -6 (* v v) 2)))
65.0ms
(/ (/ 4/3 PI) (- 1 (* v v)))
0.0ms
(/ 4/3 PI)

simplify23.8s

Counts
284 → 204
Calls
284 calls:
Slowest
792.0ms
(- (+ (* 4/3 (/ 1 (* (pow v 2) PI))) (+ (* 4/3 (/ 1 (* (pow v 4) PI))) (* 4/3 (/ 1 (* (pow v 6) PI))))))
790.0ms
(- (+ (* 4/3 (/ 1 (* (pow v 2) PI))) (+ (* 4/3 (/ 1 (* (pow v 4) PI))) (* 4/3 (/ 1 (* (pow v 6) PI))))))
591.0ms
(/ (+ (* 1 1) (+ (* (* v v) (* v v)) (* 1 (* v v)))) (sqrt (fma -6 (* v v) 2)))
490.0ms
(/ (/ (/ 4/3 PI) (- (pow 1 3) (pow (* v v) 3))) (sqrt 1))
386.0ms
(/ (/ (/ 4/3 PI) (- (pow 1 3) (pow (* v v) 3))) (sqrt (sqrt (fma -6 (* v v) 2))))

prune2.1s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize39.0ms

Local error

Found 4 expressions with local error:

1.0b
(cbrt (/ (/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v))) (* (- 1 (* v v)) (- 1 (* v v)))))
0.0b
(* (- 1 (* v v)) (- 1 (* v v)))
0.0b
(/ (cbrt (/ (/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v))) (* (- 1 (* v v)) (- 1 (* v v))))) (sqrt (fma -6 (* v v) 2)))
0.0b
(/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v)))

rewrite40.0ms

Algorithm
rewrite-expression-head
Rules
838×times-frac
336×cbrt-prod
250×add-cube-cbrt
250×*-un-lft-identity
250×add-sqr-sqrt
138×sqrt-prod
82×associate-/r/
74×div-inv
63×flip--
63×flip3--
53×associate-/l*
36×frac-times
18×associate-*r/
18×associate-*l/
13×add-exp-log
12×add-cbrt-cube
associate-/r*
pow1
add-log-exp
log1p-expm1-u
div-exp
cbrt-undiv
expm1-log1p-u
associate-*l*
associate-*r*
associate-/l/
distribute-lft-in
frac-2neg
sub-neg
clear-num
cbrt-div
distribute-rgt-in
cbrt-unprod
pow-prod-up
*-commutative
prod-exp
pow-prod-down
pow1/3
pow-plus
pow2
Counts
4 → 477
Calls
4 calls:
Slowest
11.0ms
(/ (cbrt (/ (/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v))) (* (- 1 (* v v)) (- 1 (* v v))))) (sqrt (fma -6 (* v v) 2)))
6.0ms
(/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v)))
5.0ms
(cbrt (/ (/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v))) (* (- 1 (* v v)) (- 1 (* v v)))))
5.0ms
(* (- 1 (* v v)) (- 1 (* v v)))

series540.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
270.0ms
(/ (cbrt (/ (/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v))) (* (- 1 (* v v)) (- 1 (* v v))))) (sqrt (fma -6 (* v v) 2)))
137.0ms
(/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v)))
120.0ms
(cbrt (/ (/ (/ (/ 64/27 PI) (* PI PI)) (- 1 (* v v))) (* (- 1 (* v v)) (- 1 (* v v)))))
13.0ms
(* (- 1 (* v v)) (- 1 (* v v)))

simplify2.1m

Counts
740 → 489
Calls
740 calls:
Slowest
1.3s
(/ (cbrt (/ (/ (sqrt (/ (/ 64/27 PI) (* PI PI))) (- 1 (* v v))) (- 1 (* v v)))) (sqrt (fma -6 (* v v) 2)))
1.3s
(/ (cbrt (/ (/ (cbrt (/ (/ 64/27 PI) (* PI PI))) (- 1 (* v v))) (- 1 (* v v)))) (sqrt (fma -6 (* v v) 2)))
1.2s
(/ (cbrt (/ (/ (sqrt (/ (/ 64/27 PI) (* PI PI))) (- 1 (* v v))) (- 1 (* v v)))) (sqrt (fma -6 (* v v) 2)))
1.1s
(* (+ (* 1 1) (+ (* (* v v) (* v v)) (* 1 (* v v)))) (+ (* 1 1) (+ (* (* v v) (* v v)) (* 1 (* v v)))))
1.1s
(/ (cbrt (/ (/ (cbrt (/ (/ 64/27 PI) (* PI PI))) (- 1 (* v v))) (- 1 (* v v)))) (sqrt (fma -6 (* v v) 2)))

prune5.0s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize24.0ms

Local error

Found 3 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))) (/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v))))

rewrite44.0ms

Algorithm
rewrite-expression-head
Rules
1092×times-frac
465×add-cube-cbrt
465×*-un-lft-identity
465×add-sqr-sqrt
183×sqrt-prod
122×div-inv
91×associate-/r/
27×associate-/r*
25×flip--
25×flip3--
24×associate-/l*
20×flip-+
20×flip3-+
17×add-exp-log
17×add-cbrt-cube
div-exp
cbrt-undiv
add-log-exp
log1p-expm1-u
frac-2neg
clear-num
pow1
expm1-log1p-u
associate-/l/
Counts
3 → 551
Calls
3 calls:
Slowest
15.0ms
(/ (/ (/ 4/3 PI) (- 1 (pow v 4))) (/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v))))
6.0ms
(/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v)))
0.0ms
(/ 4/3 PI)

series304.0ms

Counts
3 → 7
Calls
3 calls:
Slowest
225.0ms
(/ (/ (/ 4/3 PI) (- 1 (pow v 4))) (/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v))))
79.0ms
(/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v)))
0.0ms
(/ 4/3 PI)

simplify1.7m

Counts
970 → 558
Calls
970 calls:
Slowest
661.0ms
(/ (/ 1 (* (cbrt (- 1 (pow v 4))) (cbrt (- 1 (pow v 4))))) (/ (sqrt (fma -6 (* v v) 2)) (+ (pow 1 3) (pow (* v v) 3))))
584.0ms
(/ (+ (* 1 1) (+ (* (pow v 4) (pow v 4)) (* 1 (pow v 4)))) (/ 1 (+ 1 (* v v))))
515.0ms
(/ (/ (sqrt (/ 4/3 PI)) (* (cbrt (- 1 (pow v 4))) (cbrt (- 1 (pow v 4))))) (/ (sqrt (sqrt (fma -6 (* v v) 2))) (* (cbrt (+ 1 (* v v))) (cbrt (+ 1 (* v v))))))
501.0ms
(/ (/ (/ 1 PI) (cbrt (- 1 (pow v 4)))) (/ (sqrt (fma -6 (* v v) 2)) (+ 1 (* v v))))
429.0ms
(/ (cbrt (/ (/ 4/3 PI) (- 1 (pow v 4)))) (+ (* 1 1) (- (* (* v v) (* v v)) (* 1 (* v v)))))

prune5.5s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes36.0ms

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms

end0.0ms

sample2.0s

Algorithm
intervals
Results
16013×(pre true 80)
8012×(body nan 80)
8001×(body real 80)