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

    \[\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{1 - 5 \cdot \left(v \cdot v\right)}{\color{blue}{\frac{\left(v \cdot v\right) \cdot \left(v \cdot v\right) - 1 \cdot 1}{v \cdot v + 1}}}\right)\]
  4. Final simplification0.6

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

Reproduce

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

Details

Time bar (total: 53.2s)Debug log

sample294.0ms

Algorithm
intervals

simplify485.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

484.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

localize21.0ms

Local error

Found 4 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))
0.0b
(- (* v v) 1)

rewrite9.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

5.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
2.0ms
(- (* v v) 1)
1.0ms
(* 5 (* v v))

series85.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

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

simplify5.3s

Counts
50 → 77
Calls

50 calls. Slowest were:

838.0ms
(/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1)))
394.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
276.0ms
(- (* 1 1) (* (* 5 (* v v)) (* 5 (* v v))))

prune600.0ms

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.3b

localize21.0ms

Local error

Found 4 expressions with local error:

0.3b
(acos (/ (- 1 (* 5 (* v v))) (/ (- (* (* v v) (* v v)) (* 1 1)) (+ (* v v) 1))))
0.2b
(* 5 (* v v))
0.1b
(* (* v v) (* v v))
0.0b
(/ (- (* (* v v) (* v v)) (* 1 1)) (+ (* v v) 1))

rewrite24.0ms

Algorithm
rewrite-expression-head
Counts
4 → 71
Calls

4 calls. Slowest were:

17.0ms
(/ (- (* (* v v) (* v v)) (* 1 1)) (+ (* v v) 1))
4.0ms
(* (* v v) (* v v))
1.0ms
(* 5 (* v v))

series132.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

79.0ms
(/ (- (* (* v v) (* v v)) (* 1 1)) (+ (* v v) 1))
24.0ms
(* (* v v) (* v v))
19.0ms
(* 5 (* v v))
9.0ms
(acos (/ (- 1 (* 5 (* v v))) (/ (- (* (* v v) (* v v)) (* 1 1)) (+ (* v v) 1))))

simplify5.4s

Counts
57 → 83
Calls

57 calls. Slowest were:

895.0ms
(/ (* (* (- (* (* v v) (* v v)) (* 1 1)) (- (* (* v v) (* v v)) (* 1 1))) (- (* (* v v) (* v v)) (* 1 1))) (* (* (+ (* v v) 1) (+ (* v v) 1)) (+ (* v v) 1)))
375.0ms
(acos (/ (* (+ (pow v 2) 1) (- 1 (* 5 (pow v 2)))) (- (pow v 4) 1)))
319.0ms
(acos (/ (* (+ (pow v 2) 1) (- 1 (* 5 (pow v 2)))) (- (pow v 4) 1)))

prune853.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.3b

localize16.0ms

Local error

Found 4 expressions with local error:

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

rewrite16.0ms

Algorithm
rewrite-expression-head
Counts
4 → 62
Calls

4 calls. Slowest were:

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

series59.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

24.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
24.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
8.0ms
(* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
3.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

simplify14.0s

Counts
42 → 74
Calls

42 calls. Slowest were:

772.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
541.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
540.0ms
(* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))

prune851.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.3b

localize21.0ms

Local error

Found 4 expressions with local error:

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

rewrite31.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

26.0ms
(* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (sqrt (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))
1.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
1.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))

series59.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

18.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
17.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
14.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
8.0ms
(* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (sqrt (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))

simplify16.3s

Counts
50 → 79
Calls

50 calls. Slowest were:

531.0ms
(sqrt (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
521.0ms
(sqrt (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
504.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))

prune823.0ms

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 0.3b

regimes230.0ms

Accuracy

0% (0.0b remaining)

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

bsearch3.0ms

end0.0ms

sample7.6s

Algorithm
intervals