Average Error: 0.6 → 0.6
Time: 40.3s
Precision: 64
Internal Precision: 128
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[e^{\log \left(\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)\right)}\]

Error

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.6

    \[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
  2. Using strategy rm
  3. Applied add-exp-log0.6

    \[\leadsto \color{blue}{e^{\log \left(\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\right)}}\]
  4. Final simplification0.6

    \[\leadsto e^{\log \left(\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)\right)}\]

Reproduce

herbie shell --seed 2019008 
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 1"
  (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))

Details

Time bar (total: 39.6s)Debug log

sample241.0ms

Algorithm
intervals

simplify468.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

468.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

prune9.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.5b

localize33.0ms

Local error

Found 3 expressions with local error:

0.5b
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
0.2b
(* 5 (* v v))
0.0b
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))

rewrite14.0ms

Algorithm
rewrite-expression-head
Counts
3 → 53
Calls

3 calls. Slowest were:

10.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
2.0ms
(* 5 (* v v))
1.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

series71.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

45.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
20.0ms
(* 5 (* v v))
6.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

simplify5.0s

Counts
46 → 62
Calls

46 calls. Slowest were:

830.0ms
(/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1)))
446.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
280.0ms
(- (* 1 1) (* (* 5 (* v v)) (* 5 (* v v))))

prune401.0ms

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0.5b

localize12.0ms

Local error

Found 4 expressions with local error:

0.5b
(acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))
0.2b
(* 5 (* v v))
0.0b
(/ (* 5 (* v v)) (- (* v v) 1))
0.0b
(- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))

rewrite27.0ms

Algorithm
rewrite-expression-head
Counts
4 → 61
Calls

4 calls. Slowest were:

12.0ms
(- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))
8.0ms
(/ (* 5 (* v v)) (- (* v v) 1))
5.0ms
(acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))

series63.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

29.0ms
(- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))
19.0ms
(/ (* 5 (* v v)) (- (* v v) 1))
11.0ms
(* 5 (* v v))
4.0ms
(acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))

simplify5.7s

Counts
45 → 73
Calls

45 calls. Slowest were:

435.0ms
(/ (exp (/ 1 (- (* v v) 1))) (exp (/ (* 5 (* v v)) (- (* v v) 1))))
407.0ms
(- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))
377.0ms
(- (/ 1 (- (* (* v v) (* v v)) (* 1 1))) (/ (* 5 (* v v)) (- (* (* v v) (* v v)) (* 1 1))))

prune636.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.5b

localize14.0ms

Local error

Found 4 expressions with local error:

0.5b
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
0.2b
(* 5 (* v v))
0.0b
(exp (log (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
0.0b
(log (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 44
Calls

4 calls. Slowest were:

4.0ms
(exp (log (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
2.0ms
(* 5 (* v v))
2.0ms
(log (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))

series103.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

78.0ms
(log (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
16.0ms
(* 5 (* v v))
6.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
3.0ms
(exp (log (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))

simplify4.7s

Counts
24 → 56
Calls

24 calls. Slowest were:

443.0ms
(exp (log (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))
432.0ms
(exp (sqrt (log (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))
428.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

prune517.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.5b

localize14.0ms

Local error

Found 4 expressions with local error:

1.0b
(cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))
1.0b
(cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))
1.0b
(cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))
1.0b
(* (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))) (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))))

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
4 → 61
Calls

4 calls. Slowest were:

9.0ms
(* (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))) (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))))
1.0ms
(cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))
1.0ms
(cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))

series910.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

263.0ms
(cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))
246.0ms
(* (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))) (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))))
204.0ms
(cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))
197.0ms
(cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))

simplify12.1s

Counts
41 → 73
Calls

41 calls. Slowest were:

835.0ms
(* (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))) (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))
536.0ms
(cbrt (* (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))) (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))))
532.0ms
(cbrt (* (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1))))) (cbrt (acos (- (/ 1 (- (* v v) 1)) (/ (* 5 (* v v)) (- (* v v) 1)))))))

prune519.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.5b

regimes161.0ms

Accuracy

0% (0.0b remaining)

Error of 0.6b against oracle of 0.6b and baseline of 0.6b

bsearch1.0ms

end0.0ms

sample7.8s

Algorithm
intervals