Average Error: 0.5 → 0.5
Time: 1.6m
Precision: 64
Internal Precision: 128
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\sqrt[3]{\left(\sqrt{\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)} \cdot \sqrt{\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)}\right) \cdot \left(\left(\sqrt{\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)} \cdot \sqrt{\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)}\right) \cdot \left(\sqrt{\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)} \cdot \sqrt{\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)}\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.5

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

    \[\leadsto \color{blue}{\sqrt{\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)} \cdot \sqrt{\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)}}\]
  4. Using strategy rm
  5. Applied add-cbrt-cube0.5

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

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

Reproduce

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

Details

Time bar (total: 1.6m)Debug log

sample240.0ms

Algorithm
intervals
Results
89.0ms95×body2560valid
82.0ms89×body1280valid
25.0ms246×body80nan
17.0ms35×body640valid
7.0ms21×body320valid
3.0ms11×body160valid
1.0msbody80valid

simplify427.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
427.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

prune5.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.3b

localize28.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))

rewrite13.0ms

Algorithm
rewrite-expression-head
Rules
12×add-cube-cbrt
12×times-frac
12×*-un-lft-identity
12×add-sqr-sqrt
add-exp-log
add-cbrt-cube
difference-of-sqr-1
associate-/r*
add-log-exp
associate-/l*
pow1
associate-/l/
flip--
associate-/r/
flip3--
div-inv
*-commutative
associate-*r*
div-exp
div-sub
frac-2neg
clear-num
cbrt-undiv
acos-asin
Counts
3 → 53
Calls
3 calls:
Slowest
9.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
2.0ms
(* 5 (* v v))
1.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

series67.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
41.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
20.0ms
(* 5 (* v v))
6.0ms
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))

simplify5.1s

Counts
46 → 62
Calls
46 calls:
Slowest
767.0ms
(/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1)))
471.0ms
(- (log (- 1 (* 5 (* v v)))) (log (- (* v v) 1)))
435.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
211.0ms
(- (* 1 1) (* (* 5 (* v v)) (* 5 (* v v))))
197.0ms
(acos (/ (- 1 (* 5 (pow v 2))) (- (pow v 2) 1)))

prune517.0ms

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.3b

localize18.0ms

Local error

Found 3 expressions with local error:

0.3b
(acos (+ -1 (* (+ (* v v) (pow v 4)) 4)))
0.0b
(* (+ (* v v) (pow v 4)) 4)
0.0b
(+ (* v v) (pow v 4))

rewrite9.0ms

Algorithm
rewrite-expression-head
Rules
add-log-exp
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-exp-log
associate-*l*
add-cbrt-cube
pow1
flip-+
associate-*l/
flip3-+
*-commutative
sum-log
+-commutative
acos-asin
Counts
3 → 32
Calls
3 calls:
Slowest
5.0ms
(* (+ (* v v) (pow v 4)) 4)
2.0ms
(+ (* v v) (pow v 4))
1.0ms
(acos (+ -1 (* (+ (* v v) (pow v 4)) 4)))

series93.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
49.0ms
(+ (* v v) (pow v 4))
39.0ms
(* (+ (* v v) (pow v 4)) 4)
4.0ms
(acos (+ -1 (* (+ (* v v) (pow v 4)) 4)))

simplify994.0ms

Counts
14 → 41
Calls
14 calls:
Slowest
510.0ms
(* (- (* (* v v) (* v v)) (* (pow v 4) (pow v 4))) 4)
274.0ms
(* (+ (pow (* v v) 3) (pow (pow v 4) 3)) 4)
54.0ms
(acos (- (+ (* 4 (pow v 4)) (* 4 (pow v 2))) 1))
35.0ms
(acos (- (+ (* 4 (pow v 4)) (* 4 (pow v 2))) 1))
30.0ms
(acos (- (+ (* 4 (pow v 4)) (* 4 (pow v 2))) 1))

prune370.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.3b

localize6.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)))

rewrite7.0ms

Algorithm
rewrite-expression-head
Rules
12×sqrt-prod
12×add-sqr-sqrt
10×add-cube-cbrt
10×*-un-lft-identity
pow1
add-exp-log
associate-*l*
associate-*r*
pow1/2
add-cbrt-cube
add-log-exp
pow-prod-up
pow-prod-down
rem-sqrt-square
cbrt-unprod
*-commutative
prod-exp
sqrt-unprod
pow-plus
rem-square-sqrt
acos-asin
pow2
Counts
4 → 62
Calls
4 calls:
Slowest
5.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))))
1.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))

series46.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
22.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
17.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
4.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)))

simplify12.8s

Counts
42 → 74
Calls
42 calls:
Slowest
497.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
488.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
478.0ms
(sqrt (cbrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
470.0ms
(/ (- 1 (* 5 (* v v))) (- (* v v) 1))
466.0ms
(* (* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))

prune727.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.3b

localize36.0ms

Local error

Found 4 expressions with local error:

1.0b
(cbrt (* (* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (* (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)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (* (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)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
1.0b
(* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))

rewrite176.0ms

Algorithm
rewrite-expression-head
Rules
337×pow1
174×pow-prod-up
133×pow-prod-down
81×pow-plus
49×add-exp-log
49×add-cbrt-cube
44×pow1/2
43×pow2
33×cbrt-unprod
33×prod-exp
13×associate-*l*
13×associate-*r*
12×sqrt-prod
12×add-cube-cbrt
12×*-un-lft-identity
12×add-sqr-sqrt
sqrt-unprod
add-log-exp
*-commutative
pow3
rem-square-sqrt
rem-cbrt-cube
pow1/3
cbrt-prod
Counts
4 → 203
Calls
4 calls:
Slowest
90.0ms
(* (* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))
73.0ms
(cbrt (* (* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))
5.0ms
(* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
4.0ms
(* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))

series69.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
50.0ms
(* (* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))
7.0ms
(* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
6.0ms
(* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
6.0ms
(cbrt (* (* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))

simplify1.1m

Counts
259 → 215
Calls
259 calls:
Slowest
908.0ms
(* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
807.0ms
(sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
767.0ms
(+ (+ (log (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (log (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))) (log (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))
561.0ms
(* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))
550.0ms
(* (* (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (* (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) (sqrt (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))

prune1.4s

Pruning

5 alts after pruning (3 fresh and 2 done)

Merged error: 0.3b

regimes96.0ms

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms

end0.0ms

sample5.2s

Algorithm
intervals
Results
2.0s2979×body2560valid
1.5s2497×body1280valid
833.0ms7999×body80nan
425.0ms1281×body640valid
198.0ms636×body320valid
64.0ms399×body160valid
36.0ms208×body80valid