Profiling results ----------------- Total cpu time observed: 32686ms (out of 32928ms) Number of samples taken: 103 (once every 317ms) (Hiding functions with self<1.0% and local<2.0%: 1 of 92 hidden) =============================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =============================================================================== run [5] 50.0% [1] 32686(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [2] 50.0% run-improve47 [3] 38.8% prepare-points-intervals [7] 10.2% errors-score [4] 1.0% ------------------------------------------------------------------------------- ??? [1] 100.0% [2] 32686(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [5] 100.0% ------------------------------------------------------------------------------- ??? [1] 100.0% [3] 25350(77.6%) 0(0.0%) run-improve47 ...bie/master/src/mainloop.rkt:345:0 simplify! [6] 97.5% prepare-points-intervals [7] 1.4% for-loop [8] 1.2% ------------------------------------------------------------------------------- ??? [1] 100.0% [4] 686(2.1%) 356(1.1%) errors-score ...herbie/master/src/points.rkt:196:0 loop [64] 48.1% ------------------------------------------------------------------------------- profile-thunk16 [2] 100.0% [5] 32686(100.0%) 0(0.0%) run ...et-7.2/share/pkgs/profile-lib/main.rkt:39:2 ??? [1] 100.0% ------------------------------------------------------------------------------- run-improve47 [3] 100.0% [6] 24708(75.6%) 0(0.0%) simplify! .../herbie/master/src/mainloop.rkt:223:0 ??? [9] 100.0% ------------------------------------------------------------------------------- run-improve47 [3] 4.9% ??? [1] 95.1% [7] 6994(21.4%) 0(0.0%) prepare-points-intervals ...r/src/points.rkt:110:0 loop [10] 95.1% eval-prog [11] 4.9% ------------------------------------------------------------------------------- run-improve47 [3] 100.0% [8] 298(0.9%) 0(0.0%) for-loop ...s/herbie/master/src/mainloop.rkt:364:4 run-iter! [12] 100.0% ------------------------------------------------------------------------------- simplify! [6] 100.0% [9] 24708(75.6%) 0(0.0%) ??? ...es/herbie/master/src/core/simplify.rkt:26:0 for-loop [13] 100.0% ------------------------------------------------------------------------------- prepare-points-intervals [7] 100.0% [10] 6650(20.3%) 638(2.0%) loop ...ghtlies/herbie/master/src/points.rkt:123:4 ??? [14] 71.7% loop [15] 18.7% ------------------------------------------------------------------------------- prepare-points-intervals [7] 100.0% [11] 344(1.1%) 0(0.0%) eval-prog ...s/herbie/master/src/programs.rkt:83:0 loop [16] 100.0% ------------------------------------------------------------------------------- for-loop [8] 100.0% [12] 298(0.9%) 0(0.0%) run-iter! .../herbie/master/src/mainloop.rkt:326:0 gen-rewrites! [17] 100.0% ------------------------------------------------------------------------------- ??? [9] 100.0% [13] 24708(75.6%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:35:2 one-iter [18] 98.7% loop [22] 1.3% ------------------------------------------------------------------------------- loop [10] 100.0% [14] 4770(14.6%) 0(0.0%) ??? ...ightlies/herbie/master/src/points.rkt:106:2 ??? [33] 86.1% do-curry [67] 13.9% ------------------------------------------------------------------------------- loop [10] 100.0% [15] 1242(3.8%) 0(0.0%) loop ...ightlies/herbie/master/src/points.rkt:81:2 ??? [19] 76.5% ??? [51] 23.5% ------------------------------------------------------------------------------- loop [16] 33.3% expand-capturing-lifts [20] 33.3% eval-prog [11] 33.3% [16] 344(1.1%) 0(0.0%) loop (unknown source) expand-capturing-lifts [20] 33.3% loop [16] 33.3% for-loop [21] 33.3% ------------------------------------------------------------------------------- run-iter! [12] 100.0% [17] 298(0.9%) 0(0.0%) gen-rewrites! ...bie/master/src/mainloop.rkt:182:0 group-by61 [23] 100.0% ------------------------------------------------------------------------------- for-loop [13] 100.0% [18] 24398(74.6%) 0(0.0%) one-iter ...rbie/master/src/core/simplify.rkt:72:0 for-loop [24] 55.1% find-matches [25] 43.5% for-loop [29] 1.4% ------------------------------------------------------------------------------- loop [15] 100.0% [19] 950(2.9%) 0(0.0%) ??? ...htlies/herbie/master/src/programs.rkt:115:2 ??? [26] 100.0% ------------------------------------------------------------------------------- loop [16] 100.0% [20] 344(1.1%) 0(0.0%) expand-capturing-lifts (unknown source) loop [16] 100.0% ------------------------------------------------------------------------------- run-module-instance!125 [28] 50.0% loop [16] 50.0% [21] 344(1.1%) 0(0.0%) for-loop (unknown source) run-module-instance!125 [28] 50.0% temp37_0 [27] 50.0% ------------------------------------------------------------------------------- for-loop [13] 100.0% [22] 310(0.9%) 0(0.0%) loop ...herbie/master/src/core/extraction.rkt:25:2 for-loop [30] 100.0% ------------------------------------------------------------------------------- gen-rewrites! [17] 100.0% [23] 298(0.9%) 298(0.9%) group-by61 ...t-7.2/collects/racket/list.rkt:771:0 ------------------------------------------------------------------------------- one-iter [18] 100.0% [24] 13454(41.2%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:74:2 for-loop [31] 100.0% ------------------------------------------------------------------------------- one-iter [18] 100.0% [25] 10612(32.5%) 0(0.0%) find-matches .../master/src/core/simplify.rkt:62:0 for-loop [32] 100.0% ------------------------------------------------------------------------------- ??? [19] 100.0% [26] 950(2.9%) 0(0.0%) ??? ...t-7.2/collects/racket/private/kw.rkt:594:14 ??? [33] 68.6% ??? [37] 31.4% ------------------------------------------------------------------------------- for-loop [21] 100.0% [27] 344(1.1%) 0(0.0%) temp37_0 (unknown source) [running body] [34] 100.0% ------------------------------------------------------------------------------- for-loop [21] 100.0% [28] 344(1.1%) 0(0.0%) run-module-instance!125 (unknown source) for-loop [21] 100.0% ------------------------------------------------------------------------------- one-iter [18] 100.0% [29] 332(1.0%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:79:2 set-precompute! [35] 100.0% ------------------------------------------------------------------------------- loop [22] 100.0% [30] 310(0.9%) 0(0.0%) for-loop ...ie/master/src/core/extraction.rkt:29:4 for-loop [36] 100.0% ------------------------------------------------------------------------------- for-loop [24] 100.0% [31] 13454(41.2%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:77:4 merge-egraph-nodes! [39] 69.1% dedup-children! [63] 26.4% mk-enode! [43] 2.3% substitute-e [46] 2.2% ------------------------------------------------------------------------------- for-loop [32] 50.0% find-matches [25] 50.0% [32] 10612(32.5%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:64:8 for-loop [32] 50.0% match-e [38] 50.0% ------------------------------------------------------------------------------- ??? [26] 13.7% ??? [14] 86.3% [33] 4760(14.6%) 634(1.9%) ??? ...tract/private/arrow-higher-order.rkt:360:33 sample-multi-bounded [40] 80.1% ival-mult [42] 6.6% ------------------------------------------------------------------------------- temp37_0 [27] 100.0% [34] 344(1.1%) 344(1.1%) [running body] ...erbie/master/src/common.rkt":##f ------------------------------------------------------------------------------- for-loop [29] 100.0% [35] 332(1.0%) 0(0.0%) set-precompute! ...ster/src/core/simplify.rkt:86:0 for-loop [41] 100.0% ------------------------------------------------------------------------------- for-loop [30] 100.0% [36] 310(0.9%) 0(0.0%) for-loop ...e/master/src/core/extraction.rkt:37:16 for-loop [44] 100.0% ------------------------------------------------------------------------------- ??? [26] 100.0% [37] 298(0.9%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:364:33 ival-sub [45] 100.0% ------------------------------------------------------------------------------- for-loop [62] 31.9% for-loop [32] 68.1% [38] 10612(32.5%) 924(2.8%) match-e .../herbie/master/src/core/ematch.rkt:39:0 for-loop [47] 87.2% constant? [53] 5.6% ??? [51] 1.5% variable? [59] 0.9% ------------------------------------------------------------------------------- merge-egraph-nodes! [39] 12.4% for-loop [31] 87.6% [39] 9294(28.4%) 0(0.0%) merge-egraph-nodes! ...r/src/core/egraph.rkt:143:0 loop! [48] 47.4% update-leader! [50] 21.7% merge-egraph-nodes! [39] 12.4% dedup-children! [63] 8.1% enode-merge! [55] 3.7% for-loop [57] 3.6% for-loop [61] 3.1% ------------------------------------------------------------------------------- ??? [33] 100.0% [40] 3812(11.7%) 1036(3.2%) sample-multi-bounded ...master/src/points.rkt:15:0 random-ranges [49] 63.5% return/no-unsupplied [54] 9.3% ------------------------------------------------------------------------------- set-precompute! [35] 100.0% [41] 332(1.0%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:88:2 setfindf [56] 100.0% ------------------------------------------------------------------------------- ??? [33] 100.0% [42] 314(1.0%) 0(0.0%) ival-mult ...rbie/master/src/biginterval.rkt:111:0 bfmul [52] 100.0% ------------------------------------------------------------------------------- for-loop [31] 100.0% [43] 312(1.0%) 0(0.0%) mk-enode! ...erbie/master/src/core/egraph.rkt:97:0 new-enode [58] 100.0% ------------------------------------------------------------------------------- for-loop [36] 100.0% [44] 310(0.9%) 310(0.9%) for-loop ...e/master/src/core/extraction.rkt:41:23 ------------------------------------------------------------------------------- ??? [37] 100.0% [45] 298(0.9%) 0(0.0%) ival-sub ...herbie/master/src/biginterval.rkt:99:0 bfmul [52] 100.0% ------------------------------------------------------------------------------- for-loop [31] 33.3% for-loop [60] 66.7% [46] 294(0.9%) 0(0.0%) substitute-e ...ie/master/src/core/ematch.rkt:64:0 for-loop [60] 66.7% ??? [51] 33.3% ------------------------------------------------------------------------------- match-e [38] 100.0% [47] 9722(29.7%) 5578(17.1%) for-loop ...erbie/master/src/core/ematch.rkt:52:11 for-loop [62] 46.6% do-curry [67] 6.5% foldr [71] 3.7% procedure-reduce-keyword-arity-mask [75] 3.3% loop [64] 3.2% ------------------------------------------------------------------------------- loop [64] 25.1% merge-egraph-nodes! [39] 74.9% [48] 5238(16.0%) 626(1.9%) loop! ...es/herbie/master/src/core/enode.rkt:194:2 custom-set-union [80] 37.9% loop [64] 36.9% set [66] 16.1% update-en-expr [74] 3.1% ------------------------------------------------------------------------------- sample-multi-bounded [40] 100.0% [49] 2420(7.4%) 1218(3.7%) random-ranges ...erbie/master/src/common.rkt:183:0 cons/c [69] 37.2% build--> [77] 12.5% ------------------------------------------------------------------------------- merge-egraph-nodes! [39] 100.0% [50] 2168(6.6%) 0(0.0%) update-leader! ...master/src/core/egraph.rkt:211:0 for-loop [65] 86.3% for-loop [78] 13.7% ------------------------------------------------------------------------------- loop [15] 32.4% substitute-e [46] 32.7% match-e [38] 34.9% [51] 900(2.8%) 900(2.8%) ??? ...contract/private/arrow-val-first.rkt:390:18 ------------------------------------------------------------------------------- ival-sub [45] 48.7% ival-mult [42] 51.3% [52] 612(1.9%) 0(0.0%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:821:4 ??? [70] 100.0% ------------------------------------------------------------------------------- match-e [38] 100.0% [53] 598(1.8%) 0(0.0%) constant? ...ie/master/src/syntax/syntax.rkt:726:0 value? [68] 100.0% ------------------------------------------------------------------------------- sample-multi-bounded [40] 100.0% [54] 356(1.1%) 356(1.1%) return/no-unsupplied ...ct/private/arr-i.rkt:542:0 ------------------------------------------------------------------------------- merge-egraph-nodes! [39] 100.0% [55] 346(1.1%) 0(0.0%) enode-merge! ...ie/master/src/core/enode.rkt:131:0 adopt-enode! [72] 100.0% ------------------------------------------------------------------------------- for-loop [41] 100.0% [56] 332(1.0%) 0(0.0%) setfindf ...ies/herbie/master/src/common.rkt:142:0 for-loop [73] 100.0% ------------------------------------------------------------------------------- merge-egraph-nodes! [39] 100.0% [57] 332(1.0%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:197:4 dedup-children! [63] 100.0% ------------------------------------------------------------------------------- mk-enode! [43] 100.0% [58] 312(1.0%) 0(0.0%) new-enode ...erbie/master/src/core/enode.rkt:101:0 type-of-enode-expr [76] 100.0% ------------------------------------------------------------------------------- match-e [38] 100.0% [59] 302(0.9%) 0(0.0%) variable? ...ie/master/src/syntax/syntax.rkt:729:0 value? [68] 100.0% ------------------------------------------------------------------------------- substitute-e [46] 100.0% [60] 294(0.9%) 0(0.0%) for-loop ...erbie/master/src/core/ematch.rkt:73:24 substitute-e [46] 100.0% ------------------------------------------------------------------------------- merge-egraph-nodes! [39] 100.0% [61] 288(0.9%) 288(0.9%) for-loop ...lies/herbie/master/src/common.rkt:74:9 ------------------------------------------------------------------------------- for-loop [47] 100.0% [62] 7136(21.8%) 670(2.0%) for-loop ...erbie/master/src/core/ematch.rkt:58:37 match-e [38] 90.6% ------------------------------------------------------------------------------- for-loop [57] 6.9% merge-egraph-nodes! [39] 19.2% for-loop [31] 73.9% [63] 4808(14.7%) 0(0.0%) dedup-children! ...master/src/core/enode.rkt:202:0 loop [79] 93.8% loop [84] 6.2% ------------------------------------------------------------------------------- errors-score [4] 0.0% for-loop [47] 2.0% loop! [48] 2.1% loop [64] 95.9% [64] 3890(11.9%) 1256(3.8%) loop ...-7.2/collects/racket/private/map.rkt:40:19 loop [64] 95.9% loop! [48] 1.7% ------------------------------------------------------------------------------- update-leader! [50] 100.0% [65] 1870(5.7%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:216:6 hash-update! [85] 50.2% for-loop [81] 49.8% ------------------------------------------------------------------------------- loop! [48] 100.0% [66] 1684(5.2%) 1684(5.2%) set ...collects/racket/private/set-types.rkt:981:0 ------------------------------------------------------------------------------- ??? [14] 41.5% for-loop [47] 58.5% [67] 1596(4.9%) 1596(4.9%) do-curry ...-7.2/collects/racket/function.rkt:71:2 ------------------------------------------------------------------------------- variable? [59] 33.6% constant? [53] 66.4% [68] 900(2.8%) 900(2.8%) value? .../herbie/master/src/syntax/types.rkt:18:0 ------------------------------------------------------------------------------- random-ranges [49] 100.0% [69] 900(2.8%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:504:15 coerce-contract [82] 100.0% ------------------------------------------------------------------------------- bfmul [52] 100.0% [70] 612(1.9%) 612(1.9%) ??? /opt/racket-7.2/collects/ffi/unsafe.rkt:905:4 ------------------------------------------------------------------------------- for-loop [47] 100.0% [71] 358(1.1%) 358(1.1%) foldr ....2/collects/racket/private/list.rkt:242:4 ------------------------------------------------------------------------------- enode-merge! [55] 100.0% [72] 346(1.1%) 0(0.0%) adopt-enode! ...ie/master/src/core/enode.rkt:109:0 custom-set-union [80] 100.0% ------------------------------------------------------------------------------- setfindf [56] 100.0% [73] 332(1.0%) 332(1.0%) for-loop ...ies/herbie/master/src/common.rkt:143:2 ------------------------------------------------------------------------------- loop! [48] 100.0% [74] 324(1.0%) 324(1.0%) update-en-expr ...master/src/core/egraph.rkt:205:0 ------------------------------------------------------------------------------- for-loop [47] 100.0% [75] 324(1.0%) 324(1.0%) procedure-reduce-keyword-arity-mask ....rkt:1562:4 ------------------------------------------------------------------------------- new-enode [58] 100.0% [76] 312(1.0%) 0(0.0%) type-of-enode-expr ...ster/src/core/enode.rkt:66:0 table-ref [83] 100.0% ------------------------------------------------------------------------------- random-ranges [49] 100.0% [77] 302(0.9%) 302(0.9%) build--> ...act/private/arrow-val-first.rkt:1088:0 ------------------------------------------------------------------------------- update-leader! [50] 100.0% [78] 298(0.9%) 298(0.9%) for-loop ...erbie/master/src/core/egraph.rkt:226:6 ------------------------------------------------------------------------------- dedup-children! [63] 2.2% loop [79] 97.8% [79] 4510(13.8%) 4510(13.8%) loop ...racket-7.2/collects/racket/list.rkt:434:17 loop [79] 97.8% ------------------------------------------------------------------------------- adopt-enode! [72] 14.8% loop! [48] 85.2% [80] 2332(7.1%) 1302(4.0%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [86] 44.2% ------------------------------------------------------------------------------- for-loop [65] 100.0% [81] 932(2.9%) 302(0.9%) for-loop ...erbie/master/src/core/egraph.rkt:217:8 hash-update! [85] 67.6% ------------------------------------------------------------------------------- cons/c [69] 100.0% [82] 900(2.8%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:308:0 coerce-contract/f [87] 100.0% ------------------------------------------------------------------------------- type-of-enode-expr [76] 100.0% [83] 312(1.0%) 312(1.0%) table-ref ...ies/herbie/master/src/common.rkt:45:0 ------------------------------------------------------------------------------- dedup-children! [63] 100.0% [84] 298(0.9%) 298(0.9%) loop ...racket-7.2/collects/racket/list.rkt:417:34 ------------------------------------------------------------------------------- for-loop [81] 40.2% for-loop [65] 59.8% [85] 1568(4.8%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [88] 100.0% ------------------------------------------------------------------------------- custom-set-union [80] 100.0% [86] 1030(3.2%) 684(2.1%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [90] 33.6% ------------------------------------------------------------------------------- coerce-contract [82] 100.0% [87] 900(2.8%) 300(0.9%) coerce-contract/f ...ntract/private/guts.rkt:373:0 coerce-simple-value [89] 66.7% ------------------------------------------------------------------------------- hash-update! [85] 100.0% [88] 1568(4.8%) 0(0.0%) ??? ...es/herbie/master/src/core/egraph.rkt:219:24 for-loop [91] 100.0% ------------------------------------------------------------------------------- coerce-contract/f [87] 100.0% [89] 600(1.8%) 600(1.8%) coerce-simple-value ...ract/private/guts.rkt:386:0 ------------------------------------------------------------------------------- for-loop [86] 100.0% [90] 346(1.1%) 346(1.1%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------------------- ??? [88] 100.0% [91] 1568(4.8%) 1568(4.8%) for-loop ...rbie/master/src/core/egraph.rkt:220:26 -------------------------------------------------------------------------------