Average Error: 0.6 → 0.6
Time: 52.8s
Precision: 64
Internal Precision: 128
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\cos^{-1} \left(\log \left(e^{\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-log-exp0.6

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

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

Reproduce

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

Details

Time bar (total: 52.4s)Debug log

sample235.0ms

Algorithm
intervals

simplify622.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune9.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.3b

localize32.0ms

Local error

Found 3 expressions with local error:

0.3b
(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:

9.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
2.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
2.0ms
(* 5 (* v v))

series77.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

49.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
19.0ms
(* 5 (* v v))
8.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

simplify4.8s

Counts
46 → 62
Calls

46 calls. Slowest were:

762.0ms
(/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1)))
368.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
306.0ms
(- (* 1 1) (* (* 5 (* v v)) (* 5 (* v v))))

prune472.0ms

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0.3b

localize13.0ms

Local error

Found 4 expressions with local error:

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

rewrite18.0ms

Algorithm
rewrite-expression-head
Counts
4 → 84
Calls

4 calls. Slowest were:

7.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
7.0ms
(log (exp (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
1.0ms
(acos (log (exp (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))

series82.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

36.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
24.0ms
(log (exp (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
16.0ms
(* 5 (* v v))
6.0ms
(acos (log (exp (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))

simplify10.7s

Counts
72 → 96
Calls

72 calls. Slowest were:

893.0ms
(/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1)))
610.0ms
(sqrt (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
597.0ms
(log (* (cbrt (exp (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (cbrt (exp (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))

prune987.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.3b

localize19.0ms

Local error

Found 4 expressions with local error:

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

rewrite30.0ms

Algorithm
rewrite-expression-head
Counts
4 → 51
Calls

4 calls. Slowest were:

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

series57.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

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

simplify12.2s

Counts
34 → 63
Calls

34 calls. Slowest were:

622.0ms
(* (* (* (* (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (* (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (* (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
607.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
603.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

prune589.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.3b

localize18.0ms

Local error

Found 4 expressions with local error:

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

rewrite32.0ms

Algorithm
rewrite-expression-head
Counts
4 → 51
Calls

4 calls. Slowest were:

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

series42.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

31.0ms
(* (* (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
4.0ms
(cbrt (* (* (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
3.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
3.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

simplify12.2s

Counts
34 → 63
Calls

34 calls. Slowest were:

612.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
585.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
584.0ms
(* (* (* (* (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (* (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (* (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))

prune683.0ms

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0.3b

regimes135.0ms

Accuracy

0% (0.0b remaining)

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

bsearch3.0ms

end0.0ms

sample8.2s

Algorithm
intervals