


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < -7.631475342809927e-212Initial program 33.3
Simplified33.3
rmApplied *-un-lft-identity33.3
Applied times-frac33.3
Applied cbrt-prod30.0
if -7.631475342809927e-212 < g Initial program 35.5
Simplified35.5
rmApplied associate-*l/35.5
Applied cbrt-div31.7
Taylor expanded around inf 31.6
Final simplification30.8
herbie shell --seed 2019010
(FPCore (g h a)
:name "2-ancestry mixing, positive discriminant"
(+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))
Time bar (total: 49.1s)Debug log
| 267.0ms | (+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 36.8b
Found 4 expressions with local error:
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 9.3b | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 8.3b | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 16× | sqrt-div |
| 10× | frac-times |
| 8× | flip-+ |
| 8× | flip3-+ |
| 8× | cbrt-prod |
| 6× | flip-- |
| 6× | add-cube-cbrt |
| 6× | associate-*r/ |
| 6× | flip3-- |
| 6× | *-un-lft-identity |
| 6× | cbrt-div |
| 6× | add-sqr-sqrt |
| 5× | associate-*l/ |
| 4× | add-log-exp |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | times-frac |
| 2× | sqrt-prod |
| 2× | pow1/3 |
| 2× | pow1/2 |
| 1× | div-inv |
| 4.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 3.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 2.0ms | (sqrt (* (+ g h) (- g h))) |
| 2.0ms | (sqrt (* (+ g h) (- g h))) |
| 303.0ms | (cbrt (* (/ -1/2 a) (+ g (sqrt (* (+ g h) (- g h)))))) |
| 214.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 50.0ms | (sqrt (* (+ g h) (- g h))) |
| 31.0ms | (sqrt (* (+ g h) (- g h))) |
| 619.0ms | (- (+ (* 1/18 (* (cbrt 1/2) (* (exp (* 1/3 (- (log (/ 1 (sqrt -1))) (+ (* 5 (log h)) (log a))))) (pow g 2)))) (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (sqrt -1)) (log h)) (log a)))))) (* 1/3 (* (cbrt 1/2) (* g (exp (* 1/3 (- (log -1) (+ (* 2 (log h)) (log a))))))))) |
| 446.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 371.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 303.0ms | (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log (/ -1 a)) (log -1/2))) (* 2 (log (/ -1 h))))))) |
| 281.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
21 alts after pruning (21 fresh and 0 done)
Merged error: 32.1b
Found 4 expressions with local error:
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 9.3b | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 1.3b | (+ g (sqrt (* (+ g h) (- g h)))) |
| 16× | sqrt-div |
| 8× | frac-times |
| 7× | flip-+ |
| 7× | flip3-+ |
| 7× | cbrt-prod |
| 6× | flip-- |
| 6× | add-cube-cbrt |
| 6× | flip3-- |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | add-exp-log |
| 4× | associate-*r/ |
| 4× | associate-*l/ |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | times-frac |
| 2× | sqrt-prod |
| 2× | pow1/2 |
| 1× | div-inv |
| 1× | pow1/3 |
| 1× | cbrt-div |
| 1× | +-commutative |
| 2.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
| 1.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
| 230.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 52.0ms | (sqrt (* (+ g h) (- g h))) |
| 39.0ms | (sqrt (* (+ g h) (- g h))) |
| 37.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
| 384.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 356.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 304.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
| 294.0ms | (- (+ (* 1/18 (* (cbrt 1/2) (* (exp (* 1/3 (- (log (/ 1 (sqrt -1))) (+ (* 5 (log h)) (log a))))) (pow g 2)))) (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (sqrt -1)) (log h)) (log a)))))) (* 1/3 (* (cbrt 1/2) (* g (exp (* 1/3 (- (log -1) (+ (* 2 (log h)) (log a))))))))) |
| 284.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
23 alts after pruning (23 fresh and 0 done)
Merged error: 31.5b
Found 4 expressions with local error:
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 9.3b | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 1.3b | (+ g (sqrt (* (+ g h) (- g h)))) |
| 16× | sqrt-div |
| 8× | frac-times |
| 7× | flip-+ |
| 7× | flip3-+ |
| 7× | cbrt-prod |
| 6× | flip-- |
| 6× | add-cube-cbrt |
| 6× | flip3-- |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | add-exp-log |
| 4× | associate-*r/ |
| 4× | associate-*l/ |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | times-frac |
| 2× | sqrt-prod |
| 2× | pow1/2 |
| 1× | div-inv |
| 1× | pow1/3 |
| 1× | cbrt-div |
| 1× | +-commutative |
| 2.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
| 1.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
| 241.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 60.0ms | (+ g (sqrt (* (+ g h) (- g h)))) |
| 38.0ms | (sqrt (* (+ g h) (- g h))) |
| 37.0ms | (sqrt (* (+ g h) (- g h))) |
| 382.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 305.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 295.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- (pow g 3) (pow h 3)))) |
| 286.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
| 253.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
24 alts after pruning (24 fresh and 0 done)
Merged error: 31.5b
Found 4 expressions with local error:
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 31.8b | (sqrt (* (+ g h) (- g h))) |
| 9.3b | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 2.9b | (exp (log (+ g (sqrt (* (+ g h) (- g h)))))) |
| 16× | sqrt-div |
| 8× | add-cube-cbrt |
| 8× | *-un-lft-identity |
| 8× | frac-times |
| 8× | add-sqr-sqrt |
| 7× | flip-+ |
| 7× | flip3-+ |
| 7× | cbrt-prod |
| 6× | flip-- |
| 6× | flip3-- |
| 5× | pow1 |
| 4× | add-log-exp |
| 4× | add-exp-log |
| 4× | associate-*r/ |
| 4× | associate-*l/ |
| 4× | add-cbrt-cube |
| 4× | exp-prod |
| 3× | exp-sum |
| 3× | times-frac |
| 3× | log-prod |
| 2× | sqrt-prod |
| 2× | exp-diff |
| 2× | pow1/2 |
| 2× | log-div |
| 1× | rem-exp-log |
| 1× | div-inv |
| 1× | log-pow |
| 1× | pow1/3 |
| 1× | cbrt-div |
| 4.0ms | (exp (log (+ g (sqrt (* (+ g h) (- g h)))))) |
| 2.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
| 1.0ms | (sqrt (* (+ g h) (- g h))) |
| 233.0ms | (cbrt (/ (- (sqrt (* (+ g h) (- g h))) g) (* a 2))) |
| 42.0ms | (exp (log (+ g (sqrt (* (+ g h) (- g h)))))) |
| 31.0ms | (sqrt (* (+ g h) (- g h))) |
| 31.0ms | (sqrt (* (+ g h) (- g h))) |
| 371.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 369.0ms | (sqrt (* (+ g h) (- (* g g) (* h h)))) |
| 308.0ms | (- (+ (* 1/18 (* (cbrt 1/2) (* (exp (* 1/3 (- (log (/ 1 (sqrt -1))) (+ (* 5 (log h)) (log a))))) (pow g 2)))) (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (sqrt -1)) (log h)) (log a)))))) (* 1/3 (* (cbrt 1/2) (* g (exp (* 1/3 (- (log -1) (+ (* 2 (log h)) (log a))))))))) |
| 301.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
| 287.0ms | (sqrt (* (+ (pow g 3) (pow h 3)) (- g h))) |
26 alts after pruning (26 fresh and 0 done)
Merged error: 31.5b
60.3% (1.2b remaining)
Error of 30.8b against oracle of 29.6b and baseline of 32.6b