Average Error: 0.5 → 0.6
Time: 1.1m
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(\frac{\frac{1 - \left(\left(v \cdot v\right) \cdot 5\right) \cdot \left(\left(v \cdot v\right) \cdot 5\right)}{\left(v \cdot v\right) \cdot 5 + 1}}{v \cdot v - 1}\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.5

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

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

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

Reproduce

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

Details

Time bar (total: 1.1m)Debug log

sample303.0ms

Algorithm
intervals

simplify533.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune9.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.4b

localize34.0ms

Local error

Found 4 expressions with local error:

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

rewrite16.0ms

Algorithm
rewrite-expression-head
Counts
4 → 64
Calls

4 calls. Slowest were:

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

series86.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

37.0ms
(- 1 (* 5 (* v v)))
25.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
18.0ms
(* 5 (* v v))
6.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

simplify4.8s

Counts
49 → 76
Calls

49 calls. Slowest were:

739.0ms
(/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1)))
525.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
231.0ms
(- (* 1 1) (* (* 5 (* v v)) (* 5 (* v v))))

prune565.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.4b

localize18.0ms

Local error

Found 4 expressions with local error:

0.5b
(asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))
0.2b
(* 5 (* v v))
0.0b
(- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
0.0b
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))

rewrite22.0ms

Algorithm
rewrite-expression-head
Counts
4 → 68
Calls

4 calls. Slowest were:

10.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
8.0ms
(- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
2.0ms
(* 5 (* v v))

series129.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

60.0ms
(- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
42.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
21.0ms
(* 5 (* v v))
6.0ms
(asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

simplify7.4s

Counts
54 → 80
Calls

54 calls. Slowest were:

760.0ms
(/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1)))
472.0ms
(- (sqrt (/ PI 2)) (sqrt (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
431.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

prune811.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.4b

localize61.0ms

Local error

Found 4 expressions with local error:

2.2b
(+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
1.0b
(pow (/ PI 2) 3)
1.0b
(pow (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) 3)
1.0b
(/ (- (pow (/ PI 2) 3) (pow (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) 3)) (+ (* (/ PI 2) (/ PI 2)) (+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))

rewrite72.0ms

Algorithm
rewrite-expression-head
Counts
4 → 151
Calls

4 calls. Slowest were:

49.0ms
(/ (- (pow (/ PI 2) 3) (pow (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) 3)) (+ (* (/ PI 2) (/ PI 2)) (+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))
12.0ms
(+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
1.0ms
(pow (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) 3)

series558.0ms

Counts
4 → 10
Calls

4 calls. Slowest were:

436.0ms
(/ (- (pow (/ PI 2) 3) (pow (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) 3)) (+ (* (/ PI 2) (/ PI 2)) (+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))
78.0ms
(+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
44.0ms
(pow (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) 3)
0.0ms
(pow (/ PI 2) 3)

simplify39.3s

Counts
173 → 161
Calls

173 calls. Slowest were:

850.0ms
(cbrt (+ (* (/ PI 2) (/ PI 2)) (+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))
606.0ms
(/ (pow 1 3) (* (cbrt (+ (* (/ PI 2) (/ PI 2)) (+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))) (cbrt (+ (* (/ PI 2) (/ PI 2)) (+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))))
594.0ms
(/ (sqrt (- (pow (/ PI 2) 3) (pow (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) 3))) (sqrt (+ (* (/ PI 2) (/ PI 2)) (+ (* (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (* (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))))

prune2.7s

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 0.4b

localize24.0ms

Local error

Found 4 expressions with local error:

0.4b
(acos (/ (/ (- (* 1 1) (* (* 5 (* v v)) (* 5 (* v v)))) (+ 1 (* 5 (* v v)))) (- (* v v) 1)))
0.2b
(* 5 (* v v))
0.2b
(* 5 (* v v))
0.2b
(* 5 (* v v))

rewrite4.0ms

Algorithm
rewrite-expression-head
Counts
4 → 35
Calls

4 calls. Slowest were:

1.0ms
(* 5 (* v v))
1.0ms
(* 5 (* v v))
1.0ms
(* 5 (* v v))

series46.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

17.0ms
(* 5 (* v v))
12.0ms
(* 5 (* v v))
11.0ms
(* 5 (* v v))
5.0ms
(acos (/ (/ (- (* 1 1) (* (* 5 (* v v)) (* 5 (* v v)))) (+ 1 (* 5 (* v v)))) (- (* v v) 1)))

simplify588.0ms

Counts
12 → 47
Calls

12 calls. Slowest were:

221.0ms
(acos (/ (- 1 (* 25 (pow v 4))) (* (- (pow v 2) 1) (+ (* 5 (pow v 2)) 1))))
160.0ms
(acos (/ (- 1 (* 25 (pow v 4))) (* (- (pow v 2) 1) (+ (* 5 (pow v 2)) 1))))
131.0ms
(acos (/ (- 1 (* 25 (pow v 4))) (* (+ (* 5 (pow v 2)) 1) (- (pow v 2) 1))))

prune430.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.4b

regimes261.0ms

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms

end0.0ms

sample7.6s

Algorithm
intervals