Average Error: 1.0 → 1.0
Time: 11.5s
Precision: 64
Internal Precision: 128
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[\log_* (1 + (e^{\cos \left((\frac{2}{3} \cdot \pi + \left(\log \left(e^{\frac{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}{\frac{3}{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}}}\right)\right))_*\right)} - 1)^*) \cdot 2\]

Error

Bits error versus g

Bits error versus h

Derivation

  1. Initial program 1.0

    \[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
  2. Simplified1.0

    \[\leadsto \color{blue}{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right) \cdot 2}\]
  3. Using strategy rm
  4. Applied add-log-exp1.0

    \[\leadsto \cos \left((\frac{2}{3} \cdot \pi + \color{blue}{\left(\log \left(e^{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}}\right)\right)})_*\right) \cdot 2\]
  5. Using strategy rm
  6. Applied log1p-expm1-u1.0

    \[\leadsto \color{blue}{\log_* (1 + (e^{\cos \left((\frac{2}{3} \cdot \pi + \left(\log \left(e^{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}}\right)\right))_*\right)} - 1)^*)} \cdot 2\]
  7. Using strategy rm
  8. Applied add-sqr-sqrt1.0

    \[\leadsto \log_* (1 + (e^{\cos \left((\frac{2}{3} \cdot \pi + \left(\log \left(e^{\frac{\color{blue}{\sqrt{\cos^{-1} \left(\frac{-g}{h}\right)} \cdot \sqrt{\cos^{-1} \left(\frac{-g}{h}\right)}}}{3}}\right)\right))_*\right)} - 1)^*) \cdot 2\]
  9. Applied associate-/l*1.0

    \[\leadsto \log_* (1 + (e^{\cos \left((\frac{2}{3} \cdot \pi + \left(\log \left(e^{\color{blue}{\frac{\sqrt{\cos^{-1} \left(\frac{-g}{h}\right)}}{\frac{3}{\sqrt{\cos^{-1} \left(\frac{-g}{h}\right)}}}}}\right)\right))_*\right)} - 1)^*) \cdot 2\]
  10. Final simplification1.0

    \[\leadsto \log_* (1 + (e^{\cos \left((\frac{2}{3} \cdot \pi + \left(\log \left(e^{\frac{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}{\frac{3}{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}}}\right)\right))_*\right)} - 1)^*) \cdot 2\]

Reproduce

herbie shell --seed 2019022 +o rules:numerics
(FPCore (g h)
  :name "2-ancestry mixing, negative discriminant"
  (* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))

Details

Time bar (total: 10.7s)Debug log

sample97.0ms

Algorithm
intervals
Results
43.0ms293×body80nan
36.0ms256×body80valid

simplify24.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
24.0ms
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3))))

prune20.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 1.0b

localize61.0ms

Local error

Found 3 expressions with local error:

1.0b
(cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3)))
1.0b
(/ (acos (/ (- g) h)) 3)
0.0b
(fma 2/3 PI (/ (acos (/ (- g) h)) 3))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-log-exp
associate-/l*
log1p-expm1-u
add-exp-log
add-cbrt-cube
pow1
expm1-log1p-u
fma-udef
div-sub
div-inv
distribute-frac-neg
frac-2neg
clear-num
cos-sum
acos-neg
acos-asin
Counts
3 → 37
Calls
3 calls:
Slowest
7.0ms
(/ (acos (/ (- g) h)) 3)
4.0ms
(cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3)))
0.0ms
(fma 2/3 PI (/ (acos (/ (- g) h)) 3))

series157.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
113.0ms
(cos (fma 2/3 PI (/ (acos (/ (- g) h)) 3)))
33.0ms
(fma 2/3 PI (/ (acos (/ (- g) h)) 3))
11.0ms
(/ (acos (/ (- g) h)) 3)

simplify301.0ms

Counts
14 → 46
Calls
14 calls:
Slowest
46.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
39.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
35.0ms
(+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI))
34.0ms
(+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI))
32.0ms
(+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI))

prune590.0ms

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.9b

localize16.0ms

Local error

Found 4 expressions with local error:

1.0b
(cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))
1.0b
(/ (acos (/ (- g) h)) 3)
0.0b
(fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3))))
0.0b
(log (exp (/ (acos (/ (- g) h)) 3)))

rewrite19.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
log-pow
pow1
add-log-exp
log1p-expm1-u
add-exp-log
div-sub
add-cbrt-cube
exp-prod
expm1-log1p-u
associate-/l*
log-prod
div-inv
fma-udef
distribute-frac-neg
exp-diff
log-div
acos-neg
acos-asin
rem-log-exp
frac-2neg
clear-num
cos-sum
Counts
4 → 57
Calls
4 calls:
Slowest
8.0ms
(cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))
7.0ms
(/ (acos (/ (- g) h)) 3)
3.0ms
(log (exp (/ (acos (/ (- g) h)) 3)))
0.0ms
(fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3))))

series128.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
78.0ms
(cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))
31.0ms
(fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3))))
12.0ms
(log (exp (/ (acos (/ (- g) h)) 3)))
7.0ms
(/ (acos (/ (- g) h)) 3)

simplify402.0ms

Counts
27 → 69
Calls
27 calls:
Slowest
40.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
38.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
37.0ms
(+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI))
33.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
28.0ms
(* 1/3 (acos (* -1 (/ g h))))

prune966.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.9b

localize17.0ms

Local error

Found 4 expressions with local error:

1.0b
(cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))
1.0b
(log1p (expm1 (cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))))
1.0b
(/ (acos (/ (- g) h)) 3)
0.9b
(expm1 (cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3))))))

rewrite16.0ms

Algorithm
rewrite-expression-head
Rules
log1p-expm1-u
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-log-exp
add-exp-log
add-cbrt-cube
pow1
expm1-log1p-u
associate-/l*
div-sub
expm1-udef
div-inv
fma-udef
distribute-frac-neg
log1p-expm1
frac-2neg
clear-num
expm1-log1p
log1p-udef
cos-sum
acos-neg
acos-asin
Counts
4 → 49
Calls
4 calls:
Slowest
8.0ms
(cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))
6.0ms
(/ (acos (/ (- g) h)) 3)
1.0ms
(expm1 (cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3))))))
0.0ms
(log1p (expm1 (cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))))

series357.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
132.0ms
(log1p (expm1 (cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))))
124.0ms
(expm1 (cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3))))))
89.0ms
(cos (fma 2/3 PI (log (exp (/ (acos (/ (- g) h)) 3)))))
12.0ms
(/ (acos (/ (- g) h)) 3)

simplify393.0ms

Counts
19 → 61
Calls
19 calls:
Slowest
41.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
41.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
39.0ms
(- (exp (cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))) 1)
39.0ms
(- (exp (cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))) 1)
31.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))

prune823.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.9b

localize60.0ms

Local error

Found 4 expressions with local error:

1.0b
(cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h)))))))))
1.0b
(log1p (expm1 (cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h)))))))))))
0.9b
(expm1 (cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h))))))))))
0.9b
(sqrt (acos (/ (- g) h)))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
log1p-expm1-u
add-cube-cbrt
*-un-lft-identity
add-log-exp
add-exp-log
add-cbrt-cube
pow1
expm1-log1p-u
sqrt-prod
expm1-udef
fma-udef
log1p-expm1
pow1/2
expm1-log1p
log1p-udef
cos-sum
rem-sqrt-square
Counts
4 → 46
Calls
4 calls:
Slowest
9.0ms
(cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h)))))))))
1.0ms
(sqrt (acos (/ (- g) h)))
1.0ms
(expm1 (cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h))))))))))
0.0ms
(log1p (expm1 (cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h)))))))))))

series415.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
162.0ms
(log1p (expm1 (cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h)))))))))))
134.0ms
(expm1 (cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h))))))))))
107.0ms
(cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h)))))))))
12.0ms
(sqrt (acos (/ (- g) h)))

simplify455.0ms

Counts
19 → 58
Calls
19 calls:
Slowest
39.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
39.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
38.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
37.0ms
(cos (+ (* 1/3 (acos (* -1 (/ g h)))) (* 2/3 PI)))
34.0ms
(cos (fma 2/3 PI (log (exp (/ (sqrt (acos (/ (- g) h))) (/ 3 (sqrt (acos (/ (- g) h)))))))))

prune1.0s

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 0.9b

regimes354.0ms

Accuracy

0% (0.0b remaining)

Error of 1.0b against oracle of 1.0b and baseline of 1.0b

bsearch2.0ms

end0.0ms

sample4.0s

Algorithm
intervals
Results
2.1s8000×body80valid
1.6s7998×body80nan