


Bits error versus g



Bits error versus h



Bits error versus a
Results
if g < 1.5852886249971206e-162Initial program 36.2
rmApplied cbrt-prod32.8
Simplified32.8
rmApplied flip--32.6
Applied associate-*r/32.6
Applied cbrt-div32.6
Simplified32.6
if 1.5852886249971206e-162 < g Initial program 32.8
rmApplied cbrt-prod28.5
Simplified28.5
rmApplied flip-+28.4
Applied frac-times29.5
Applied cbrt-div29.4
Simplified28.8
Final simplification30.9
herbie shell --seed 2019016
(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: 48.0s)Debug log
| 952× | (pre true 80) |
| 695× | (body nan 80) |
| 97× | (body real 2560) |
| 57× | (body real 1280) |
| 28× | (body real 640) |
| 27× | (body real 5120) |
| 26× | (body real 320) |
| 17× | (body real 160) |
| 5× | (body real 80) |
| 275.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: 33.9b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 10.3b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 8.9b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 10× | cbrt-div |
| 8× | sqrt-prod |
| 8× | add-sqr-sqrt |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 4× | add-log-exp |
| 4× | flip-- |
| 4× | add-exp-log |
| 4× | associate-*r/ |
| 4× | sqrt-div |
| 4× | add-cbrt-cube |
| 4× | flip3-- |
| 4× | pow1 |
| 4× | frac-times |
| 2× | difference-of-squares |
| 2× | flip-+ |
| 2× | associate-*l/ |
| 2× | pow1/3 |
| 2× | pow1/2 |
| 2× | flip3-+ |
| 2× | rem-sqrt-square |
| 2× | cbrt-prod |
| 9.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 9.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 2.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (sqrt (- (* g g) (* h h))) |
| 273.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 269.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 34.0ms | (sqrt (- (* g g) (* h h))) |
| 28.0ms | (sqrt (- (* g g) (* h h))) |
| 646.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 559.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 543.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 457.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 298.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
18 alts after pruning (18 fresh and 0 done)
Merged error: 29.4b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 8.9b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.2b | (- (* g g) (* h h)) |
| 8× | sqrt-prod |
| 8× | add-sqr-sqrt |
| 6× | add-log-exp |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 5× | flip-- |
| 5× | flip3-- |
| 5× | cbrt-div |
| 4× | add-exp-log |
| 4× | sqrt-div |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | difference-of-squares |
| 2× | associate-*r/ |
| 2× | pow1/2 |
| 2× | rem-sqrt-square |
| 2× | frac-times |
| 1× | associate-*l/ |
| 1× | diff-log |
| 1× | pow1/3 |
| 1× | sub-neg |
| 1× | cbrt-prod |
| 13.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.0ms | (sqrt (- (* g g) (* h h))) |
| 4.0ms | (sqrt (- (* g g) (* h h))) |
| 3.0ms | (- (* g g) (* h h)) |
| 290.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 40.0ms | (sqrt (- (* g g) (* h h))) |
| 35.0ms | (sqrt (- (* g g) (* h h))) |
| 28.0ms | (- (* g g) (* h h)) |
| 562.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 327.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 309.0ms | (* (exp (* 1/3 (- (+ (log 2) (log (/ 1 a))) (log (/ 1 g))))) (cbrt -1/2)) |
| 259.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log 1/2) (log (/ -1 a)))) (* 2 (log (/ -1 h)))))) (cbrt -1/2)) |
| 257.0ms | (cbrt (* (/ 1 (* 2 a)) (- (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
21 alts after pruning (21 fresh and 0 done)
Merged error: 28.9b
Found 4 expressions with local error:
| 28.9b | (sqrt (* (- g h) (+ g h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 8.9b | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.2b | (- (* g g) (* h h)) |
| 10× | sqrt-div |
| 7× | flip-- |
| 7× | flip3-- |
| 6× | add-log-exp |
| 6× | frac-times |
| 6× | add-sqr-sqrt |
| 5× | sqrt-prod |
| 5× | add-cube-cbrt |
| 5× | *-un-lft-identity |
| 5× | cbrt-div |
| 4× | add-exp-log |
| 4× | associate-*r/ |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | flip-+ |
| 3× | associate-*l/ |
| 3× | flip3-+ |
| 2× | difference-of-squares |
| 2× | pow1/2 |
| 1× | diff-log |
| 1× | pow1/3 |
| 1× | sub-neg |
| 1× | rem-sqrt-square |
| 1× | cbrt-prod |
| 21.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.0ms | (sqrt (- (* g g) (* h h))) |
| 3.0ms | (sqrt (* (- g h) (+ g h))) |
| 2.0ms | (- (* g g) (* h h)) |
| 259.0ms | (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h)))))) |
| 35.0ms | (sqrt (- (* g g) (* h h))) |
| 31.0ms | (sqrt (* (- g h) (+ g h))) |
| 26.0ms | (- (* g g) (* h h)) |
| 787.0ms | (sqrt (* (- (* g g) (* h h)) (+ g h))) |
| 601.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 488.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 392.0ms | (* (exp (* 1/3 (- (+ (log (/ -1 g)) (+ (log 1/2) (log (/ -1 a)))) (* 2 (log (/ -1 h)))))) (cbrt -1/2)) |
| 379.0ms | (sqrt (* (- (pow g 3) (pow h 3)) (+ g h))) |
22 alts after pruning (22 fresh and 0 done)
Merged error: 28.9b
Found 4 expressions with local error:
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 28.9b | (sqrt (- (* g g) (* h h))) |
| 10.3b | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 4.2b | (- (* g g) (* h h)) |
| 8× | sqrt-prod |
| 8× | add-sqr-sqrt |
| 6× | add-log-exp |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 5× | cbrt-div |
| 4× | add-exp-log |
| 4× | sqrt-div |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | difference-of-squares |
| 3× | flip-- |
| 3× | flip3-- |
| 2× | flip-+ |
| 2× | associate-*r/ |
| 2× | pow1/2 |
| 2× | flip3-+ |
| 2× | rem-sqrt-square |
| 2× | frac-times |
| 1× | associate-*l/ |
| 1× | diff-log |
| 1× | pow1/3 |
| 1× | sub-neg |
| 1× | cbrt-prod |
| 7.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 2.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (sqrt (- (* g g) (* h h))) |
| 2.0ms | (- (* g g) (* h h)) |
| 285.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) |
| 30.0ms | (sqrt (- (* g g) (* h h))) |
| 29.0ms | (sqrt (- (* g g) (* h h))) |
| 27.0ms | (- (* g g) (* h h)) |
| 615.0ms | (cbrt (* 1 (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 422.0ms | (cbrt (* (/ 1 (* 2 a)) (- (* (- g) (- g)) (* (sqrt (- (* g g) (* h h))) (sqrt (- (* g g) (* h h))))))) |
| 322.0ms | (cbrt (* (/ 1 (* 2 a)) (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 221.0ms | (cbrt (* 1 (+ (pow (- g) 3) (pow (sqrt (- (* g g) (* h h))) 3)))) |
| 171.0ms | (* (cbrt 1/2) (exp (* 1/3 (- (+ (log (/ 1 a)) (+ (log (/ 1 g)) (log -1/2))) (* 2 (log (/ 1 h))))))) |
22 alts after pruning (22 fresh and 0 done)
Merged error: 28.8b
44.7% (2.0b remaining)
Error of 30.9b against oracle of 28.8b and baseline of 32.5b
| 32517× | (pre true 80) |
| 24517× | (body nan 80) |
| 2580× | (body real 2560) |
| 1981× | (body real 1280) |
| 1123× | (body real 5120) |
| 1065× | (body real 640) |
| 590× | (body real 320) |
| 502× | (body real 160) |
| 159× | (body real 80) |