Profiling results ----------------- Total cpu time observed: 19828ms (out of 20020ms) Number of samples taken: 85 (once every 233ms) ==================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ==================================================================== ??? [7] 100.0% [1] 19828(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [4] 100.0% -------------------------------------------------------------------- ??? [7] 100.0% [2] 15054(75.9%) 0(0.0%) run-improve40 ...ie/develop/src/mainloop.rkt:336:0 simplify! [5] 100.0% -------------------------------------------------------------------- ??? [7] 100.0% [3] 210(1.1%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:212:0 for-loop [6] 100.0% -------------------------------------------------------------------- profile-thunk16 [1] 100.0% [4] 19828(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [7] 100.0% -------------------------------------------------------------------- run-improve40 [2] 100.0% [5] 15054(75.9%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:213:0 ??? [8] 100.0% -------------------------------------------------------------------- oracle-error [3] 100.0% [6] 210(1.1%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:213:2 loop [50] 100.0% -------------------------------------------------------------------- run [4] 50.0% [7] 19828(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 50.0% run-improve40 [2] 38.0% prepare-points-intervals [10] 9.8% errors [12] 0.6% eval-errors [13] 0.5% errors-score [14] 0.5% oracle-error [3] 0.5% -------------------------------------------------------------------- simplify! [5] 100.0% [8] 15054(75.9%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:26:0 for-loop [9] 95.8% loop [11] 4.2% -------------------------------------------------------------------- ??? [8] 100.0% [9] 14426(72.8%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:33:2 one-iter [15] 100.0% -------------------------------------------------------------------- ??? [7] 100.0% [10] 3896(19.6%) 0(0.0%) prepare-points-intervals ...p/src/points.rkt:133:0 loop [16] 100.0% -------------------------------------------------------------------- ??? [8] 100.0% [11] 628(3.2%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:143:2 for-loop [17] 100.0% -------------------------------------------------------------------- ??? [7] 100.0% [12] 240(1.2%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:228:0 for-loop [18] 100.0% -------------------------------------------------------------------- ??? [7] 100.0% [13] 216(1.1%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:203:0 for-loop [19] 100.0% -------------------------------------------------------------------- ??? [7] 100.0% [14] 212(1.1%) 0(0.0%) errors-score ...erbie/develop/src/points.rkt:220:0 loop [20] 100.0% -------------------------------------------------------------------- for-loop [9] 100.0% [15] 14426(72.8%) 0(0.0%) one-iter ...bie/develop/src/core/simplify.rkt:86:0 for-loop [21] 66.6% find-matches [22] 33.4% -------------------------------------------------------------------- prepare-points-intervals [10]100.0% [16] 3896(19.6%) 238(1.2%) loop ...htlies/herbie/develop/src/points.rkt:145:4 loop [23] 81.2% ??? [24] 12.7% -------------------------------------------------------------------- loop [11] 100.0% [17] 628(3.2%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:149:4 argmin [25] 66.6% loop [27] 33.4% -------------------------------------------------------------------- errors [12] 100.0% [18] 240(1.2%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:230:2 ??? [30] 100.0% -------------------------------------------------------------------- eval-errors [13] 100.0% [19] 216(1.1%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:205:2 ulp-difference [26] 100.0% -------------------------------------------------------------------- errors-score [14] 100.0% [20] 212(1.1%) 212(1.1%) loop .../racket-7.0/collects/racket/list.rkt:559:2 -------------------------------------------------------------------- one-iter [15] 100.0% [21] 9610(48.5%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:95:2 loop [28] 90.3% update-leader! [49] 9.7% -------------------------------------------------------------------- one-iter [15] 100.0% [22] 4816(24.3%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:56:0 for-loop [29] 100.0% -------------------------------------------------------------------- loop [16] 100.0% [23] 3164(16.0%) 494(2.5%) loop ...htlies/herbie/develop/src/points.rkt:104:2 ??? [30] 68.9% ??? [38] 8.2% ??? [60] 7.3% -------------------------------------------------------------------- loop [16] 100.0% [24] 494(2.5%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:129:2 ??? [38] 100.0% -------------------------------------------------------------------- for-loop [17] 100.0% [25] 418(2.1%) 0(0.0%) argmin ...acket-7.0/collects/racket/list.rkt:765:0 for-loop [31] 100.0% -------------------------------------------------------------------- for-loop [19] 100.0% [26] 216(1.1%) 216(1.1%) ulp-difference ...erbie/develop/src/float.rkt:14:0 -------------------------------------------------------------------- for-loop [17] 100.0% [27] 210(1.1%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 expression-cost [32] 100.0% -------------------------------------------------------------------- loop [28] 1.2% for-loop [21] 98.8% [28] 8674(43.7%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:100:4 apply-match [33] 98.8% loop [28] 1.2% -------------------------------------------------------------------- for-loop [29] 46.8% find-matches [22] 53.2% [29] 4816(24.3%) 308(1.6%) for-loop ...bie/develop/src/core/simplify.rkt:58:8 for-loop [29] 46.8% match-e [37] 46.8% -------------------------------------------------------------------- for-loop [18] 9.9% loop [23] 90.1% [30] 2420(12.2%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:146:2 ??? [34] 79.8% ??? [38] 20.2% -------------------------------------------------------------------- argmin [25] 100.0% [31] 418(2.1%) 418(2.1%) for-loop .../herbie/develop/src/programs.rkt:205:2 -------------------------------------------------------------------- loop [27] 100.0% [32] 210(1.1%) 0(0.0%) expression-cost .../develop/src/programs.rkt:204:0 compile [35] 100.0% -------------------------------------------------------------------- loop [28] 100.0% [33] 8674(43.7%) 0(0.0%) apply-match .../develop/src/core/simplify.rkt:65:0 for-loop [36] 76.9% match-e [37] 20.7% set [77] 2.4% -------------------------------------------------------------------- ??? [30] 100.0% [34] 1932(9.7%) 0(0.0%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [70] 52.8% ??? [38] 47.2% -------------------------------------------------------------------- expression-cost [32] 100.0% [35] 210(1.1%) 0(0.0%) compile ...s/herbie/develop/src/programs.rkt:181:0 hash-ref! [39] 100.0% -------------------------------------------------------------------- apply-match [33] 100.0% [36] 6672(33.6%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:78:2 merge-egraph-nodes! [41] 74.1% substitute-e [43] 11.8% dedup-children! [52] 10.8% mk-enode! [61] 3.3% -------------------------------------------------------------------- apply-match [33] 14.5% for-loop [48] 41.4% for-loop [29] 44.1% [37] 6302(31.8%) 978(4.9%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [40] 81.3% variable? [51] 6.1% ??? [60] 2.2% -------------------------------------------------------------------- loop [23] 12.0% ??? [30] 22.7% ??? [24] 23.0% ??? [34] 42.4% [38] 2152(10.9%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ival-mult [42] 42.4% ->flonum [44] 23.1% sample-multi-bounded [45] 23.0% mk-ival [46] 11.5% -------------------------------------------------------------------- compile [35] 33.3% ??? [47] 66.7% [39] 210(1.1%) 210(1.1%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [47] 66.7% -------------------------------------------------------------------- match-e [37] 100.0% [40] 5806(29.3%) 3044(15.4%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [48] 60.9% loop [50] 8.0% -------------------------------------------------------------------- merge-egraph-nodes! [41] 16.4% for-loop [36] 83.6% [41] 4946(24.9%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:145:0 update-leader! [49] 47.4% loop! [59] 31.6% merge-egraph-nodes! [41] 16.4% dedup-children! [52] 4.6% -------------------------------------------------------------------- ??? [38] 100.0% [42] 912(4.6%) 246(1.2%) ival-mult ...bie/develop/src/biginterval.rkt:105:0 classify-ival [54] 73.0% -------------------------------------------------------------------- for-loop [53] 20.9% for-loop [36] 79.1% [43] 790(4.0%) 0(0.0%) substitute-e ...e/develop/src/core/ematch.rkt:64:0 for-loop [53] 89.5% variable? [51] 10.5% -------------------------------------------------------------------- ??? [38] 100.0% [44] 498(2.5%) 0(0.0%) ->flonum ...s/herbie/develop/src/programs.rkt:38:0 return/no-unsupplied [55] 100.0% -------------------------------------------------------------------- ??? [38] 100.0% [45] 494(2.5%) 0(0.0%) sample-multi-bounded ...evelop/src/points.rkt:16:0 for-loop [56] 100.0% -------------------------------------------------------------------- ??? [38] 100.0% [46] 248(1.3%) 0(0.0%) mk-ival ...herbie/develop/src/biginterval.rkt:59:0 bf [57] 100.0% -------------------------------------------------------------------- hash-ref! [39] 100.0% [47] 210(1.1%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:189:5 hash-ref! [39] 100.0% -------------------------------------------------------------------- for-loop [40] 100.0% [48] 4624(23.3%) 240(1.2%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [37] 94.8% -------------------------------------------------------------------- for-loop [21] 25.4% merge-egraph-nodes! [41] 74.6% [49] 3680(18.6%) 456(2.3%) update-leader! ...evelop/src/core/egraph.rkt:213:0 for-loop [58] 87.6% -------------------------------------------------------------------- for-loop [40] 0.5% loop! [59] 3.9% for-loop [6] 10.9% loop [50] 84.6% [50] 1920(9.7%) 452(2.3%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [50] 84.6% loop! [59] 3.9% foldl [66] 0.1% -------------------------------------------------------------------- substitute-e [43] 17.6% match-e [37] 82.4% [51] 1408(7.1%) 204(1.0%) variable? .../develop/src/syntax/syntax.rkt:1159:0 ??? [60] 85.5% -------------------------------------------------------------------- merge-egraph-nodes! [41] 23.9% for-loop [36] 76.1% [52] 944(4.8%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:199:0 loop [62] 53.8% loop [63] 46.2% -------------------------------------------------------------------- substitute-e [43] 100.0% [53] 790(4.0%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:73:24 mk-enode! [61] 68.6% substitute-e [43] 31.4% -------------------------------------------------------------------- ival-mult [42] 100.0% [54] 666(3.4%) 242(1.2%) classify-ival ...develop/src/biginterval.rkt:310:0 force [67] 32.7% fold-binary-pred [68] 30.9% -------------------------------------------------------------------- ->flonum [44] 100.0% [55] 498(2.5%) 240(1.2%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 filter [64] 51.8% -------------------------------------------------------------------- sample-multi-bounded [45] 100.0% [56] 494(2.5%) 494(2.5%) for-loop ...ies/herbie/develop/src/points.rkt:26:4 -------------------------------------------------------------------- mk-ival [46] 100.0% [57] 248(1.3%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 ??? [65] 100.0% -------------------------------------------------------------------- update-leader! [49] 100.0% [58] 3224(16.3%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:218:6 for-loop [69] 65.6% hash-update! [76] 34.4% -------------------------------------------------------------------- loop [50] 33.2% merge-egraph-nodes! [41] 66.8% [59] 1976(10.0%) 448(2.3%) loop! ...s/herbie/develop/src/core/enode.rkt:191:2 custom-set-union [71] 39.0% loop [50] 33.2% set [77] 5.3% update-en-expr [88] 5.2% -------------------------------------------------------------------- loop [23] 12.5% match-e [37] 22.4% variable? [51] 65.1% [60] 1850(9.3%) 1850(9.3%) ??? ...contract/private/arrow-val-first.rkt:388:18 -------------------------------------------------------------------- for-loop [36] 28.7% for-loop [53] 71.3% [61] 760(3.8%) 298(1.5%) mk-enode! ...rbie/develop/src/core/egraph.rkt:99:0 new-enode [73] 32.1% hash-has-key? [75] 28.7% -------------------------------------------------------------------- dedup-children! [52] 14.3% loop [62] 85.7% [62] 508(2.6%) 206(1.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [62] 85.7% loop [72] 8.5% -------------------------------------------------------------------- dedup-children! [52] 5.9% loop [63] 94.1% [63] 436(2.2%) 436(2.2%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [63] 94.1% -------------------------------------------------------------------- return/no-unsupplied [55] 100.0% [64] 258(1.3%) 258(1.3%) filter ...0/collects/racket/private/list.rkt:256:2 -------------------------------------------------------------------- bf [57] 100.0% [65] 248(1.3%) 248(1.3%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 -------------------------------------------------------------------- loop [50] 100.0% [66] 224(1.1%) 0(0.0%) foldl ....0/collects/racket/private/list.rkt:229:4 merge2 [74] 100.0% -------------------------------------------------------------------- classify-ival [54] 100.0% [67] 218(1.1%) 218(1.1%) force ...collects/racket/private/promise.rkt:109:0 -------------------------------------------------------------------- classify-ival [54] 100.0% [68] 206(1.0%) 0(0.0%) fold-binary-pred ...gfloat/bigfloat-mpfr.rkt:117:0 ??? [70] 100.0% -------------------------------------------------------------------- for-loop [58] 100.0% [69] 2116(10.7%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:219:8 hash-update! [76] 100.0% -------------------------------------------------------------------- fold-binary-pred [68] 16.8% ??? [34] 83.2% [70] 1226(6.2%) 704(3.6%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-add [78] 42.6% -------------------------------------------------------------------- loop! [59] 100.0% [71] 1114(5.6%) 414(2.1%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [79] 44.0% for-loop [80] 18.9% -------------------------------------------------------------------- loop [62] 100.0% [72] 302(1.5%) 302(1.5%) loop (unknown source) -------------------------------------------------------------------- mk-enode! [61] 100.0% [73] 244(1.2%) 0(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:96:0 set [77] 100.0% -------------------------------------------------------------------- foldl [66] 100.0% [74] 224(1.1%) 224(1.1%) merge2 .../herbie/develop/src/core/ematch.rkt:24:0 -------------------------------------------------------------------- mk-enode! [61] 100.0% [75] 218(1.1%) 218(1.1%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 -------------------------------------------------------------------- for-loop [58] 34.4% for-loop [69] 65.6% [76] 3224(16.3%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [81] 100.0% -------------------------------------------------------------------- apply-match [33] 31.4% loop! [59] 31.7% new-enode [73] 36.9% [77] 662(3.3%) 454(2.3%) set ...collects/racket/private/set-types.rkt:981:0 for-loop [84] 31.4% -------------------------------------------------------------------- ??? [70] 100.0% [78] 522(2.6%) 0(0.0%) ival-add ...erbie/develop/src/biginterval.rkt:87:0 ??? [82] 100.0% -------------------------------------------------------------------- custom-set-union [71] 100.0% [79] 490(2.5%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [83] 100.0% -------------------------------------------------------------------- custom-set-union [71] 100.0% [80] 210(1.1%) 210(1.1%) for-loop ...cts/racket/private/set-types.rkt:152:2 -------------------------------------------------------------------- hash-update! [76] 100.0% [81] 3224(16.3%) 462(2.3%) ??? ...s/herbie/develop/src/core/egraph.rkt:221:24 for-loop [85] 85.7% -------------------------------------------------------------------- ival-add [78] 100.0% [82] 522(2.6%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfadd [86] 100.0% -------------------------------------------------------------------- for-loop [79] 100.0% [83] 490(2.5%) 490(2.5%) for-loop ...cts/racket/private/set-types.rkt:178:5 -------------------------------------------------------------------- set [77] 100.0% [84] 208(1.0%) 208(1.0%) for-loop ...cts/racket/private/set-types.rkt:937:4 -------------------------------------------------------------------- ??? [81] 100.0% [85] 2762(13.9%) 2526(12.7%) for-loop ...bie/develop/src/core/egraph.rkt:222:26 update-en-expr [88] 8.5% -------------------------------------------------------------------- ??? [82] 100.0% [86] 522(2.6%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [87] 100.0% -------------------------------------------------------------------- bfadd [86] 100.0% [87] 522(2.6%) 522(2.6%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 -------------------------------------------------------------------- loop! [59] 46.4% for-loop [85] 53.6% [88] 440(2.2%) 440(2.2%) update-en-expr ...evelop/src/core/egraph.rkt:207:0 --------------------------------------------------------------------