Profiling results ----------------- Total cpu time observed: 666302ms (out of 668968ms) Number of samples taken: 2010 (once every 331ms) (Hiding functions with self<1.0% and local<2.0%: 16 of 208 hidden) =========================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =========================================================================== ??? [39] 100.0% [1] 514506(77.2%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [10] 100.0% --------------------------------------------------------------------------- ??? [39] 100.0% [2] 488146(73.3%) 0(0.0%) run-improve50 ...ie/develop/src/mainloop.rkt:234:0 for-loop [11] 99.1% prepare-points [50] 0.5% setup-alt-simplified [15] 0.3% ??? [35] 0.1% --------------------------------------------------------------------------- ??? [47] 100.0% [3] 149778(22.5%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:237:2 pass [12] 100.0% --------------------------------------------------------------------------- rewriter [48] 100.0% [4] 30040(4.5%) 642(0.1%) *rules* ...rbie/develop/src/syntax/rules.rkt:565:0 for-loop [13] 94.6% ormap [22] 3.3% --------------------------------------------------------------------------- pattern-match [17] 5.1% matcher [64] 16.7% substitute-e [87] 24.6% match-e [80] 53.6% [5] 12120(1.8%) 1034(0.2%) variable? ...e/develop/src/syntax/syntax.rkt:665:0 ??? [35] 91.5% --------------------------------------------------------------------------- for-loop [14] 17.3% rewriter [48] 82.7% [6] 11534(1.7%) 0(0.0%) expression->type ...evelop/src/type-check.rkt:45:0 for-loop [14] 100.0% --------------------------------------------------------------------------- matcher [64] 100.0% [7] 2236(0.3%) 0(0.0%) for-loop ...bie/develop/src/core/matcher.rkt:159:6 pattern-match [17] 42.3% foldl [143] 29.3% pattern-substitute [16] 28.4% --------------------------------------------------------------------------- parse-loop12 [124] 4.4% loop [8] 95.6% [8] 1316(0.2%) 320(0.0%) loop ...cket/collects/racket/private/map.rkt:36:19 loop [8] 95.6% ??? [31] 1.3% --------------------------------------------------------------------------- ??? [47] 100.0% [9] 324(0.0%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:346:33 pattern-substitute [16] 100.0% --------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [10] 514506(77.2%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [39] 100.0% --------------------------------------------------------------------------- run-improve50 [2] 100.0% [11] 483960(72.6%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:249:10 run-iter! [18] 100.0% --------------------------------------------------------------------------- loop [3] 100.0% [12] 149778(22.5%) 302(0.0%) pass ...herbie/develop/src/core/simplify.rkt:227:2 for-loop [19] 99.6% --------------------------------------------------------------------------- merge-egraph-nodes! [88] 4.4% *rules* [4] 94.5% [13] 30068(4.5%) 8684(1.3%) for-loop ...ies/herbie/develop/src/common.rkt:99:9 loop [21] 24.9% ormap [22] 21.6% flag-set? [30] 17.0% list-member? [91] 5.4% curried [142] 1.2% curry* [103] 1.1% --------------------------------------------------------------------------- expression->type [6] 100.0% [14] 11534(1.7%) 0(0.0%) for-loop ...herbie/develop/src/type-check.rkt:52:5 f176 [20] 82.7% expression->type [6] 17.3% --------------------------------------------------------------------------- run-improve50 [2] 100.0% [15] 1634(0.2%) 0(0.0%) setup-alt-simplified .../develop/src/glue.rkt:49:0 simplify-alt [23] 100.0% --------------------------------------------------------------------------- ??? [9] 11.3% for-loop [7] 19.2% pattern-substitute [16] 69.5% [16] 958(0.1%) 308(0.0%) pattern-substitute ...op/src/core/matcher.rkt:73:0 pattern-substitute [16] 69.5% ??? [35] 19.8% --------------------------------------------------------------------------- for-loop [24] 32.7% for-loop [7] 67.3% [17] 946(0.1%) 0(0.0%) pattern-match ...develop/src/core/matcher.rkt:48:0 for-loop [24] 67.3% variable? [5] 32.7% --------------------------------------------------------------------------- for-loop [11] 100.0% [18] 483960(72.6%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:215:0 simplify! [25] 76.9% gen-rewrites! [27] 16.4% finalize-iter! [28] 6.2% --------------------------------------------------------------------------- pass [12] 100.0% [19] 149170(22.4%) 2520(0.4%) for-loop ...e/develop/src/core/simplify.rkt:230:29 argmin [26] 82.9% loop [29] 12.2% for-loop [32] 3.1% --------------------------------------------------------------------------- eval-prog [77] 2.8% eval-const-expr [153] 4.9% f176 [20] 12.3% for-loop [14] 27.0% rewriter [48] 53.0% [20] 42796(6.4%) 1274(0.2%) f176 .../collects/racket/match/compiler.rkt:507:40 ??? [136] 27.7% ??? [47] 27.2% ??? [35] 17.4% f176 [20] 12.3% ...velop/src/common.rkt:47:2 [137] 10.0% ??? [31] 2.8% --------------------------------------------------------------------------- for-loop [13] 100.0% [21] 7484(1.1%) 632(0.1%) loop ...ket/collects/racket/private/map.rkt:112:23 flag-set? [30] 82.8% curried [142] 8.8% --------------------------------------------------------------------------- *rules* [4] 13.2% for-loop [13] 86.8% [22] 7464(1.1%) 1584(0.2%) ormap ...et/collects/racket/private/map.rkt:105:13 flag-set? [30] 74.6% curried [142] 4.2% --------------------------------------------------------------------------- setup-alt-simplified [15] 100.0% [23] 1634(0.2%) 0(0.0%) simplify-alt ...s/herbie/develop/src/glue.rkt:76:0 ??? [47] 100.0% --------------------------------------------------------------------------- pattern-match [17] 100.0% [24] 946(0.1%) 328(0.0%) for-loop ...rbie/develop/src/core/matcher.rkt:66:9 pattern-match [17] 65.3% --------------------------------------------------------------------------- run-iter! [18] 100.0% [25] 372356(55.9%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:155:0 for-loop [33] 100.0% --------------------------------------------------------------------------- for-loop [19] 100.0% [26] 123590(18.5%) 1316(0.2%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [34] 88.6% expression-cost [37] 10.4% --------------------------------------------------------------------------- run-iter! [18] 100.0% [27] 79330(11.9%) 0(0.0%) gen-rewrites! ...ie/develop/src/mainloop.rkt:142:0 for-loop [36] 100.0% --------------------------------------------------------------------------- run-iter! [18] 100.0% [28] 29950(4.5%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:169:0 ??? [35] 100.0% --------------------------------------------------------------------------- for-loop [19] 100.0% [29] 18178(2.7%) 320(0.0%) loop ...hare/racket/collects/racket/list.rkt:729:4 for-loop [34] 89.2% expression-cost [37] 9.0% --------------------------------------------------------------------------- for-loop [13] 30.3% ormap [22] 33.0% loop [21] 36.7% [30] 16874(2.5%) 5824(0.9%) flag-set? ...es/herbie/develop/src/config.rkt:34:0 return/no-unsupplied [162] 40.5% ??? [161] 25.0% --------------------------------------------------------------------------- ??? [158] 3.4% ??? [45] 7.0% loop [8] 10.3% for-loop [76] 13.9% f176 [20] 65.5% [31] 9640(1.4%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [47] 64.9% ...velop/src/common.rkt:47:2 [137] 14.2% ??? [176] 14.0% best-alt [38] 7.0% --------------------------------------------------------------------------- for-loop [19] 100.0% [32] 4572(0.7%) 4572(0.7%) for-loop ...e/develop/src/core/simplify.rkt:217:13 --------------------------------------------------------------------------- simplify! [25] 100.0% [33] 372356(55.9%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:159:6 ??? [39] 100.0% --------------------------------------------------------------------------- loop [29] 12.9% argmin [26] 87.1% [34] 125676(18.9%) 4548(0.7%) for-loop .../herbie/develop/src/programs.rkt:210:2 ??? [47] 73.3% ...velop/src/common.rkt:47:2 [137] 20.4% ??? [136] 2.6% --------------------------------------------------------------------------- run-improve50 [2] 0.4% ??? [176] 0.6% pattern-substitute [16] 0.8% substitute-e [87] 2.4% f176 [20] 9.0% match-e [80] 12.6% variable? [5] 13.4% get-sigs [129] 24.5% finalize-iter! [28] 35.6% [35] 82814(12.4%) 20338(3.1%) ??? ...contract/private/arrow-val-first.rkt:357:18 hash-has-key? [41] 37.9% for-loop [42] 34.5% atab-add-altns [44] 1.4% ??? [45] 0.8% ??? [176] 0.8% --------------------------------------------------------------------------- gen-rewrites! [27] 100.0% [36] 79330(11.9%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:147:11 ??? [40] 100.0% --------------------------------------------------------------------------- loop [29] 11.3% argmin [26] 88.7% [37] 14456(2.2%) 0(0.0%) expression-cost .../develop/src/programs.rkt:209:0 compile [43] 100.0% --------------------------------------------------------------------------- ??? [31] 100.0% [38] 672(0.1%) 0(0.0%) best-alt ...tlies/herbie/develop/src/glue.rkt:71:0 argmins [46] 100.0% --------------------------------------------------------------------------- for-loop [33] 18.9% run [10] 29.8% [39] 656090(98.5%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 ??? [47] 40.3% profile-thunk16 [1] 29.8% run-improve50 [2] 27.8% prepare-points [50] 2.1% --------------------------------------------------------------------------- for-loop [36] 100.0% [40] 79330(11.9%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:88:0 rewriter [48] 99.6% foldl [143] 0.4% --------------------------------------------------------------------------- mk-enode! [93] 4.0% ??? [35] 96.0% [41] 33204(5.0%) 6254(0.9%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [54] 78.3% ??? [59] 2.9% --------------------------------------------------------------------------- ??? [35] 100.0% [42] 28936(4.3%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [49] 100.0% --------------------------------------------------------------------------- expression-cost [37] 100.0% [43] 14456(2.2%) 334(0.1%) compile ...s/herbie/develop/src/programs.rkt:186:0 hash-ref! [109] 97.7% --------------------------------------------------------------------------- ??? [35] 100.0% [44] 1326(0.2%) 0(0.0%) atab-add-altns ...elop/src/core/alt-table.rkt:50:0 atab-add-altn [49] 100.0% --------------------------------------------------------------------------- ??? [35] 100.0% [45] 672(0.1%) 0(0.0%) ??? .../herbie/develop/src/core/alt-table.rkt:54:0 ??? [31] 100.0% --------------------------------------------------------------------------- best-alt [38] 100.0% [46] 672(0.1%) 0(0.0%) argmins ...ies/herbie/develop/src/common.rkt:152:0 composed [51] 100.0% --------------------------------------------------------------------------- simplify-alt [23] 0.1% ??? [31] 1.1% f176 [20] 2.1% get-sigs [129] 2.6% for-loop [34] 5.8% ??? [47] 15.3% for-loop [53] 28.9% ??? [39] 43.8% [47] 534114(80.2%) 41458(6.2%) ??? ...llects/racket/private/norm-define.rkt:53:83 iterate-egraph!13 [52] 32.7% for-loop [53] 28.9% ??? [47] 15.3% loop [3] 11.1% ??? [54] 7.3% mk-egraph [58] 0.3% ??? [161] 0.3% ??? [159] 0.2% return/no-unsupplied [162] 0.2% ??? [61] 0.1% ??? [59] 0.1% dict? [184] 0.0% extract-smallest [62] 0.0% ??? [9] 0.0% --------------------------------------------------------------------------- ??? [40] 13.9% matcher [64] 86.1% [48] 79006(11.9%) 7244(1.1%) rewriter ...bie/develop/src/core/matcher.rkt:131:2 for-loop [55] 87.4% *rules* [4] 5.0% f176 [20] 3.6% expression->type [6] 2.7% --------------------------------------------------------------------------- atab-add-altns [44] 4.4% for-loop [42] 95.6% [49] 30262(4.5%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:208:0 best-and-tied-at-points [56] 97.7% override-at-pnts [60] 2.3% --------------------------------------------------------------------------- run-improve50 [2] 7.5% ??? [39] 92.5% [50] 29844(4.5%) 324(0.0%) prepare-points ...bie/develop/src/points.rkt:214:0 loop [57] 37.3% make-exacts* [67] 31.9% loop [68] 29.7% --------------------------------------------------------------------------- argmins [46] 100.0% [51] 672(0.1%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 errors [66] 100.0% --------------------------------------------------------------------------- ??? [47] 100.0% [52] 363258(54.5%) 0(0.0%) iterate-egraph!13 ...p/src/core/simplify.rkt:105:0 one-iter [63] 97.5% map-enodes [69] 2.5% --------------------------------------------------------------------------- ??? [47] 100.0% [53] 334986(50.3%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:66:12 ??? [47] 100.0% --------------------------------------------------------------------------- hash-has-key? [41] 21.1% ??? [47] 78.9% [54] 123176(18.5%) 50112(7.5%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [65] 43.8% ??? [75] 14.2% ??? [159] 1.0% arrow-higher-order:lnp [186] 0.3% --------------------------------------------------------------------------- rewriter [48] 100.0% [55] 78694(11.8%) 1298(0.2%) for-loop ...ie/develop/src/core/matcher.rkt:134:10 matcher [64] 99.8% --------------------------------------------------------------------------- atab-add-altn [49] 100.0% [56] 29572(4.4%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [66] 99.0% --------------------------------------------------------------------------- prepare-points [50] 100.0% [57] 11128(1.7%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:158:2 make-exacts* [67] 62.0% loop [68] 38.0% --------------------------------------------------------------------------- ??? [47] 100.0% [58] 3214(0.5%) 0(0.0%) mk-egraph ...bie/develop/src/core/egraph.rkt:131:0 mk-enode-rec! [70] 78.7% mk-enode! [93] 21.3% --------------------------------------------------------------------------- ??? [47] 49.4% hash-has-key? [41] 50.6% [59] 1884(0.3%) 1884(0.3%) ??? ...ects/racket/contract/private/hash.rkt:245:7 --------------------------------------------------------------------------- atab-add-altn [49] 100.0% [60] 690(0.1%) 0(0.0%) override-at-pnts ...p/src/core/alt-table.rkt:145:0 errors [66] 100.0% --------------------------------------------------------------------------- ??? [47] 100.0% [61] 318(0.0%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:60:15 ??? [141] 100.0% --------------------------------------------------------------------------- ??? [47] 100.0% [62] 308(0.0%) 0(0.0%) extract-smallest ...op/src/core/simplify.rkt:213:0 hash-keys [71] 100.0% --------------------------------------------------------------------------- iterate-egraph!13 [52] 100.0% [63] 354036(53.1%) 2956(0.4%) one-iter ...ie/develop/src/core/simplify.rkt:116:0 for-loop [72] 75.1% for-loop [73] 24.0% --------------------------------------------------------------------------- for-loop [74] 24.3% matcher [64] 25.8% for-loop [55] 49.9% [64] 78694(11.8%) 1316(0.2%) matcher ...rbie/develop/src/core/matcher.rkt:167:2 rewriter [48] 49.3% matcher [64] 25.8% for-loop [74] 24.3% for-loop [7] 0.2% variable? [5] 0.2% --------------------------------------------------------------------------- ??? [54] 100.0% [65] 53950(8.1%) 27876(4.2%) for-loop ...acket/contract/private/list.rkt:743:12 ??? [75] 29.2% for-loop [147] 18.0% ??? [166] 0.6% ??? [176] 0.6% --------------------------------------------------------------------------- composed [51] 2.2% override-at-pnts [60] 2.3% best-and-tied-at-points [56] 95.6% [66] 30626(4.6%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:271:0 for-loop [76] 74.1% eval-prog [77] 25.9% --------------------------------------------------------------------------- loop [57] 42.0% prepare-points [50] 58.0% [67] 16428(2.5%) 0(0.0%) make-exacts* ...erbie/develop/src/points.rkt:138:0 loop [130] 71.0% eval-prog [77] 29.0% --------------------------------------------------------------------------- loop [57] 32.3% prepare-points [50] 67.7% [68] 13092(2.0%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:141:4 loop [130] 100.0% --------------------------------------------------------------------------- iterate-egraph!13 [52] 100.0% [69] 9222(1.4%) 0(0.0%) map-enodes ...ie/develop/src/core/egraph.rkt:140:0 loop [130] 89.5% for-loop [139] 10.5% --------------------------------------------------------------------------- mk-egraph [58] 16.2% mk-enode-rec! [70] 83.8% [70] 2528(0.4%) 0(0.0%) mk-enode-rec! ...develop/src/core/egraph.rkt:122:0 mk-enode-rec! [70] 83.8% mk-enode! [93] 16.2% --------------------------------------------------------------------------- extract-smallest [62] 100.0% [71] 308(0.0%) 0(0.0%) hash-keys .../collects/racket/private/hash.rkt:2:2 loop [78] 100.0% --------------------------------------------------------------------------- one-iter [63] 100.0% [72] 265710(39.9%) 2234(0.3%) for-loop ...ie/develop/src/core/simplify.rkt:166:2 for-loop [79] 90.2% match-e [80] 8.3% reduce-to-single! [83] 0.5% update-leader! [95] 0.1% --------------------------------------------------------------------------- for-loop [73] 49.2% one-iter [63] 50.8% [73] 85038(12.8%) 17532(2.6%) for-loop ...e/develop/src/core/simplify.rkt:126:12 for-loop [73] 49.2% match-e [80] 39.5% ??? [112] 0.2% --------------------------------------------------------------------------- matcher [64] 100.0% [74] 75768(11.4%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:183:21 matcher [64] 100.0% --------------------------------------------------------------------------- for-loop [65] 47.3% ??? [54] 52.7% [75] 33328(5.0%) 16780(2.5%) ??? ...private/unconstrained-domain-arrow.rkt:74:4 make-keyword-procedure [82] 49.7% --------------------------------------------------------------------------- errors [66] 100.0% [76] 22686(3.4%) 312(0.0%) for-loop ...es/herbie/develop/src/points.rkt:274:4 ??? [81] 86.9% ??? [31] 5.9% ulp-difference [84] 5.9% --------------------------------------------------------------------------- make-exacts* [67] 37.5% errors [66] 62.5% [77] 12700(1.9%) 300(0.0%) eval-prog ...herbie/develop/src/programs.rkt:150:0 f176 [20] 49.7% hash-ref! [109] 40.1% ??? [85] 2.8% parse-lambda [86] 2.5% ??? [167] 2.5% --------------------------------------------------------------------------- hash-keys [71] 33.3% loop [78] 66.7% [78] 308(0.0%) 308(0.0%) loop ...acket/collects/racket/private/hash.rkt:3:4 loop [78] 66.7% --------------------------------------------------------------------------- for-loop [72] 100.0% [79] 239656(36.0%) 1304(0.2%) for-loop ...e/develop/src/core/simplify.rkt:148:10 mk-enode! [93] 33.7% substitute-e [87] 30.3% merge-egraph-nodes! [88] 23.8% loop! [107] 9.5% list-member? [91] 2.2% --------------------------------------------------------------------------- for-loop [72] 16.6% for-loop [94] 24.5% for-loop [73] 59.0% [80] 89262(13.4%) 34238(5.1%) match-e ...herbie/develop/src/core/ematch.rkt:46:0 for-loop [89] 40.4% for-loop [94] 11.0% ??? [35] 6.0% variable? [5] 3.0% custom-in-set [125] 2.1% loop [130] 2.0% list-cartesian-product [96] 1.9% filter [172] 0.6% --------------------------------------------------------------------------- for-loop [76] 44.3% loop [130] 55.7% [81] 44470(6.7%) 304(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:156:4 ??? [90] 99.3% --------------------------------------------------------------------------- ??? [75] 100.0% [82] 16548(2.5%) 16548(2.5%) make-keyword-procedure ...ket/private/kw.rkt:260:4 --------------------------------------------------------------------------- for-loop [72] 100.0% [83] 1358(0.2%) 324(0.0%) reduce-to-single! ...lop/src/core/egraph.rkt:325:0 make-sequence [154] 50.7% for-loop [92] 25.5% --------------------------------------------------------------------------- for-loop [76] 100.0% [84] 1328(0.2%) 654(0.1%) ulp-difference ...erbie/develop/src/float.rkt:19:0 return/no-unsupplied [162] 26.4% ??? [161] 24.4% --------------------------------------------------------------------------- eval-prog [77] 100.0% [85] 360(0.1%) 360(0.1%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 --------------------------------------------------------------------------- eval-prog [77] 100.0% [86] 320(0.0%) 320(0.0%) parse-lambda ...llects/racket/private/kw.rkt:437:2 --------------------------------------------------------------------------- substitute-e [87] 4.4% for-loop [79] 95.6% [87] 72506(10.9%) 1282(0.2%) substitute-e ...e/develop/src/core/ematch.rkt:71:0 mk-enode! [93] 91.3% substitute-e [87] 4.4% variable? [5] 1.6% ??? [35] 1.1% --------------------------------------------------------------------------- for-loop [98] 5.7% merge-egraph-nodes! [88] 7.5% for-loop [79] 86.8% [88] 56984(8.6%) 920(0.1%) merge-egraph-nodes! ...p/src/core/egraph.rkt:153:0 update-leader! [95] 53.7% loop! [107] 14.5% for-loop [99] 11.2% merge-egraph-nodes! [88] 7.5% for-loop [98] 6.9% for-loop [13] 1.7% enode-merge! [104] 1.7% make-sequence [154] 1.2% --------------------------------------------------------------------------- match-e [80] 100.0% [89] 48714(7.3%) 12826(1.9%) for-loop ...rbie/develop/src/core/ematch.rkt:59:11 for-loop [94] 55.1% list-cartesian-product [96] 12.1% loop [130] 6.5% foldl [143] 1.4% curry* [103] 1.0% filter [172] 0.7% curried [142] 0.7% --------------------------------------------------------------------------- ??? [81] 100.0% [90] 44166(6.6%) 18930(2.8%) ??? ...acket/collects/racket/private/kw.rkt:444:14 ??? [110] 22.1% bf* [97] 17.2% ??? [101] 7.5% ??? [102] 6.5% parse-loop12 [124] 1.6% ??? [178] 0.7% --------------------------------------------------------------------------- for-loop [13] 23.3% for-loop [79] 76.7% [91] 6998(1.1%) 1950(0.3%) list-member? ...llects/racket/private/set.rkt:24:0 loop [100] 67.1% member [105] 5.0% --------------------------------------------------------------------------- reduce-to-single! [83] 100.0% [92] 346(0.1%) 346(0.1%) for-loop ...rbie/develop/src/core/egraph.rkt:326:8 --------------------------------------------------------------------------- mk-egraph [58] 0.5% mk-enode-rec! [70] 1.7% substitute-e [87] 44.1% for-loop [79] 53.8% [93] 150218(22.5%) 10956(1.6%) mk-enode! ...bie/develop/src/core/egraph.rkt:102:0 new-enode [106] 91.6% hash-has-key? [41] 0.9% --------------------------------------------------------------------------- match-e [80] 36.2% for-loop [89] 63.8% [94] 44886(6.7%) 3706(0.6%) for-loop ...rbie/develop/src/core/ematch.rkt:65:37 match-e [80] 89.8% ??? [112] 3.0% --------------------------------------------------------------------------- for-loop [72] 1.1% merge-egraph-nodes! [88] 98.9% [95] 35386(5.3%) 4912(0.7%) update-leader! ...evelop/src/core/egraph.rkt:218:0 for-loop [108] 73.3% update-en-expr [163] 3.7% custom-set-union! [113] 3.6% make-sequence [154] 2.6% hash-ref! [109] 0.9% --------------------------------------------------------------------------- match-e [80] 22.0% list-cartesian-product [96] 26.4% for-loop [89] 51.6% [96] 9430(1.4%) 7640(1.1%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [96] 26.4% for-loop [111] 15.3% --------------------------------------------------------------------------- ??? [90] 100.0% [97] 7592(1.1%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [110] 100.0% --------------------------------------------------------------------------- merge-egraph-nodes! [88] 100.0% [98] 7466(1.1%) 0(0.0%) for-loop ...bie/develop/src/core/egraph.rkt:201:10 merge-egraph-nodes! [88] 88.8% loop! [107] 11.2% --------------------------------------------------------------------------- merge-egraph-nodes! [88] 100.0% [99] 6410(1.0%) 6052(0.9%) for-loop ...rbie/develop/src/core/egraph.rkt:233:6 update-en-expr [163] 5.6% --------------------------------------------------------------------------- list-member? [91] 100.0% [100] 4698(0.7%) 4698(0.7%) loop (unknown source) --------------------------------------------------------------------------- ??? [90] 100.0% [101] 3326(0.5%) 2014(0.3%) ??? ...herbie/develop/src/syntax/syntax.rkt:156:17 ??? [161] 20.3% return/no-unsupplied [162] 19.1% --------------------------------------------------------------------------- ??? [90] 100.0% [102] 2856(0.4%) 2856(0.4%) ??? ...rivate/unconstrained-domain-arrow.rkt:40:13 --------------------------------------------------------------------------- for-loop [13] 33.7% for-loop [89] 66.3% [103] 986(0.1%) 642(0.1%) curry* ...racket/collects/racket/function.rkt:44:2 procedure-arity [115] 34.9% --------------------------------------------------------------------------- merge-egraph-nodes! [88] 100.0% [104] 964(0.1%) 0(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:129:0 adopt-enode! [114] 65.4% custom-set-intersect! [116] 34.6% --------------------------------------------------------------------------- list-member? [91] 100.0% [105] 350(0.1%) 350(0.1%) member (unknown source) --------------------------------------------------------------------------- mk-enode! [93] 100.0% [106] 137628(20.7%) 628(0.1%) new-enode ...erbie/develop/src/core/enode.rkt:97:0 type-of-enode-expr [117] 97.9% set [122] 1.0% --------------------------------------------------------------------------- for-loop [98] 2.4% merge-egraph-nodes! [88] 20.7% loop [130] 32.0% for-loop [79] 44.8% [107] 34412(5.2%) 7920(1.2%) loop! ...s/herbie/develop/src/core/enode.rkt:192:2 custom-set-union [120] 36.2% loop [130] 34.1% set [122] 11.4% update-en-expr [163] 5.2% --------------------------------------------------------------------------- update-leader! [95] 100.0% [108] 25954(3.9%) 654(0.1%) for-loop ...rbie/develop/src/core/egraph.rkt:223:6 for-loop [118] 97.5% --------------------------------------------------------------------------- update-leader! [95] 1.6% ??? [144] 5.9% eval-prog [77] 6.2% loop [130] 17.8% compile [43] 28.5% ??? [119] 38.1% [109] 21202(3.2%) 12836(1.9%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [119] 60.4% parse-loop12 [124] 7.8% bigfloat-hash [123] 5.9% --------------------------------------------------------------------------- bf* [97] 43.8% ??? [90] 56.2% [110] 17342(2.6%) 3806(0.6%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfmul [121] 74.1% bfneg [126] 4.0% --------------------------------------------------------------------------- list-cartesian-product [96] 100.0% [111] 1790(0.3%) 1790(0.3%) for-loop ...erbie/develop/src/core/ematch.rkt:24:8 --------------------------------------------------------------------------- for-loop [73] 20.0% for-loop [94] 80.0% [112] 1666(0.3%) 1010(0.2%) ??? ...ies/herbie/develop/src/core/ematch.rkt:50:5 custom-in-set [125] 20.0% for-loop [128] 19.3% --------------------------------------------------------------------------- update-leader! [95] 100.0% [113] 1268(0.2%) 944(0.1%) custom-set-union! ...t/private/set-types.rkt:245:0 for-loop [127] 25.6% --------------------------------------------------------------------------- enode-merge! [104] 100.0% [114] 630(0.1%) 0(0.0%) adopt-enode! ...e/develop/src/core/enode.rkt:105:0 custom-set-union [120] 100.0% --------------------------------------------------------------------------- curry* [103] 100.0% [115] 344(0.1%) 344(0.1%) procedure-arity ...ket/private/norm-arity.rkt:7:27 --------------------------------------------------------------------------- enode-merge! [104] 100.0% [116] 334(0.1%) 334(0.1%) custom-set-intersect! ...ivate/set-types.rkt:269:0 --------------------------------------------------------------------------- new-enode [106] 100.0% [117] 134708(20.2%) 2606(0.4%) type-of-enode-expr ...elop/src/core/enode.rkt:68:0 get-sigs [129] 98.1% --------------------------------------------------------------------------- for-loop [108] 100.0% [118] 25300(3.8%) 680(0.1%) for-loop ...rbie/develop/src/core/egraph.rkt:224:8 hash-update! [131] 97.3% --------------------------------------------------------------------------- hash-ref! [109] 100.0% [119] 17338(2.6%) 1954(0.3%) ??? ...tlies/herbie/develop/src/programs.rkt:194:5 hash-ref! [109] 65.1% loop [130] 29.4% --------------------------------------------------------------------------- adopt-enode! [114] 4.3% loop! [107] 95.7% [120] 14766(2.2%) 4618(0.7%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [132] 52.9% for-loop [134] 15.8% --------------------------------------------------------------------------- ??? [110] 100.0% [121] 12844(1.9%) 8032(1.2%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [141] 37.5% --------------------------------------------------------------------------- new-enode [106] 14.1% loop! [107] 85.9% [122] 9410(1.4%) 9410(1.4%) set ...collects/racket/private/set-types.rkt:981:0 --------------------------------------------------------------------------- hash-ref! [109] 100.0% [123] 4760(0.7%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:165:0 bfcanonicalize [133] 73.0% sig+exp->bigfloat [135] 27.0% --------------------------------------------------------------------------- ??? [90] 29.8% hash-ref! [109] 70.2% [124] 2354(0.4%) 702(0.1%) parse-loop12 ...s/racket/match/compiler.rkt:418:15 loop [130] 58.0% loop [8] 12.1% --------------------------------------------------------------------------- ??? [112] 14.9% match-e [80] 85.1% [125] 2238(0.3%) 2238(0.3%) custom-in-set ...acket/private/set-types.rkt:577:0 --------------------------------------------------------------------------- ??? [110] 100.0% [126] 692(0.1%) 322(0.0%) bfneg ...-lib/math/private/bigfloat/mpfr.rkt:616:4 ??? [141] 53.5% --------------------------------------------------------------------------- custom-set-union! [113] 100.0% [127] 324(0.0%) 324(0.0%) for-loop ...cts/racket/private/set-types.rkt:253:4 --------------------------------------------------------------------------- ??? [112] 100.0% [128] 322(0.0%) 322(0.0%) for-loop ...erbie/develop/src/core/ematch.rkt:51:7 --------------------------------------------------------------------------- type-of-enode-expr [117] 100.0% [129] 132102(19.8%) 1668(0.3%) get-sigs .../herbie/develop/src/type-check.rkt:5:0 ??? [136] 36.8% ??? [47] 32.1% ??? [35] 15.3% ...velop/src/common.rkt:47:2 [137] 14.6% --------------------------------------------------------------------------- make-exacts* [67] 0.4% loop [68] 0.6% map-enodes [69] 1.3% parse-loop12 [124] 2.0% match-e [80] 2.0% for-loop [89] 5.0% ??? [119] 7.5% loop! [107] 10.8% loop [130] 70.4% [130] 67590(10.1%) 4298(0.6%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [130] 70.4% loop! [107] 10.6% hash-ref! [109] 7.5% ??? [144] 2.0% curried [142] 1.6% foldl [143] 1.5% for-loop [139] 1.2% ??? [81] 1.0% --------------------------------------------------------------------------- for-loop [118] 100.0% [131] 24620(3.7%) 644(0.1%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [138] 97.4% --------------------------------------------------------------------------- custom-set-union [120] 100.0% [132] 7816(1.2%) 1662(0.2%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [140] 78.7% --------------------------------------------------------------------------- bigfloat-hash [123] 100.0% [133] 3476(0.5%) 2260(0.3%) bfcanonicalize .../private/bigfloat/mpfr.rkt:155:0 bigfloat->sig+exp [145] 35.0% --------------------------------------------------------------------------- custom-set-union [120] 100.0% [134] 2332(0.3%) 2332(0.3%) for-loop ...cts/racket/private/set-types.rkt:152:2 --------------------------------------------------------------------------- bigfloat-hash [123] 100.0% [135] 1284(0.2%) 288(0.0%) sig+exp->bigfloat ...ivate/bigfloat/mpfr.rkt:385:0 integer->mpz [146] 53.6% ??? [141] 24.0% --------------------------------------------------------------------------- for-loop [34] 5.1% f176 [20] 18.6% get-sigs [129] 76.2% [136] 63680(9.6%) 6526(1.0%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 for-loop [147] 44.1% ??? [148] 38.0% get/build-late-neg-projection [181] 7.7% --------------------------------------------------------------------------- ??? [31] 2.7% f176 [20] 8.5% get-sigs [129] 38.0% for-loop [34] 50.8% [137] 50588(7.6%) 16522(2.5%) ...velop/src/common.rkt:47:2 ...e/arr-i.rkt:906:19 ??? [150] 33.2% ??? [151] 32.2% --------------------------------------------------------------------------- hash-update! [131] 100.0% [138] 23976(3.6%) 360(0.1%) ??? ...s/herbie/develop/src/core/egraph.rkt:226:24 for-loop [149] 97.2% make-sequence [154] 1.3% --------------------------------------------------------------------------- map-enodes [69] 10.9% loop [130] 89.1% [139] 8888(1.3%) 2580(0.4%) for-loop ...ie/develop/src/core/simplify.rkt:195:2 setfindf [152] 34.0% eval-const-expr [153] 32.9% compose [157] 4.1% --------------------------------------------------------------------------- for-loop [132] 100.0% [140] 6154(0.9%) 6154(0.9%) for-loop ...cts/racket/private/set-types.rkt:178:5 --------------------------------------------------------------------------- sig+exp->bigfloat [135] 5.3% ??? [61] 5.5% bfneg [126] 6.4% bfmul [121] 82.9% [141] 5808(0.9%) 5808(0.9%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 --------------------------------------------------------------------------- ormap [22] 10.5% for-loop [89] 10.8% for-loop [13] 11.6% loop [21] 21.9% loop [130] 45.3% [142] 2992(0.4%) 2992(0.4%) curried ...cket/collects/racket/function.rkt:71:18 --------------------------------------------------------------------------- ??? [40] 11.0% for-loop [7] 22.2% for-loop [89] 23.4% loop [130] 43.4% [143] 2952(0.4%) 1344(0.2%) foldl ...et/collects/racket/private/list.rkt:229:4 merge2 [155] 43.5% ??? [158] 11.0% --------------------------------------------------------------------------- loop [130] 100.0% [144] 1652(0.2%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 hash-ref! [109] 100.0% --------------------------------------------------------------------------- bfcanonicalize [133] 100.0% [145] 1216(0.2%) 0(0.0%) bigfloat->sig+exp ...ivate/bigfloat/mpfr.rkt:370:0 size+limbs->integer [156] 100.0% --------------------------------------------------------------------------- sig+exp->bigfloat [135] 100.0% [146] 688(0.1%) 688(0.1%) integer->mpz ...math/private/bigfloat/gmp.rkt:87:0 --------------------------------------------------------------------------- for-loop [65] 25.6% ??? [136] 74.4% [147] 37792(5.7%) 5766(0.9%) for-loop ...racket/contract/private/hash.rkt:239:6 ??? [159] 80.4% ??? [178] 4.3% --------------------------------------------------------------------------- ??? [136] 100.0% [148] 24172(3.6%) 982(0.1%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [160] 95.9% --------------------------------------------------------------------------- ??? [138] 100.0% [149] 23294(3.5%) 19934(3.0%) for-loop ...bie/develop/src/core/egraph.rkt:227:26 update-en-expr [163] 14.4% --------------------------------------------------------------------------- ...velop/src/common.rkt:47:2 [137] 100.0% [150] 16788(2.5%) 4096(0.6%) ??? ...s/racket/contract/private/arr-i.rkt:1268:39 ??? [161] 36.5% return/no-unsupplied [162] 21.4% assoc-ref [164] 17.7% --------------------------------------------------------------------------- for-loop [173] 9.2% ??? [159] 12.9% ...velop/src/common.rkt:47:2 [137] 77.9% [151] 16268(2.4%) 4878(0.7%) ??? ...ects/racket/contract/private/list.rkt:342:4 ??? [159] 65.8% ??? [176] 10.2% ??? [166] 5.9% --------------------------------------------------------------------------- for-loop [139] 100.0% [152] 3018(0.5%) 1704(0.3%) setfindf ...es/herbie/develop/src/common.rkt:186:0 for-loop [165] 43.5% --------------------------------------------------------------------------- for-loop [139] 100.0% [153] 2928(0.4%) 0(0.0%) eval-const-expr .../develop/src/programs.rkt:168:0 f176 [20] 77.4% ??? [167] 22.6% --------------------------------------------------------------------------- ??? [138] 12.4% merge-egraph-nodes! [88] 25.3% reduce-to-single! [83] 26.5% update-leader! [95] 35.8% [154] 2594(0.4%) 2270(0.3%) make-sequence ...ects/racket/private/for.rkt:509:2 ??? [168] 12.5% --------------------------------------------------------------------------- foldl [143] 100.0% [155] 1284(0.2%) 1284(0.2%) merge2 .../herbie/develop/src/core/ematch.rkt:31:0 --------------------------------------------------------------------------- bigfloat->sig+exp [145] 100.0% [156] 1216(0.2%) 1216(0.2%) size+limbs->integer ...vate/bigfloat/gmp.rkt:103:0 --------------------------------------------------------------------------- for-loop [139] 100.0% [157] 362(0.1%) 362(0.1%) compose ...collects/racket/private/list.rkt:385:12 --------------------------------------------------------------------------- foldl [143] 100.0% [158] 324(0.0%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:66:9 ??? [31] 100.0% --------------------------------------------------------------------------- ??? [54] 2.5% ??? [47] 5.9% ??? [151] 29.1% for-loop [147] 61.9% [159] 49132(7.4%) 10312(1.5%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [169] 59.2% for-loop [173] 10.0% ??? [151] 8.6% ??? [176] 0.7% ??? [178] 0.6% --------------------------------------------------------------------------- ??? [148] 100.0% [160] 23190(3.5%) 638(0.1%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [170] 97.2% --------------------------------------------------------------------------- ulp-difference [84] 2.1% ??? [101] 4.3% flag-set? [30] 26.7% ??? [47] 28.1% ??? [150] 38.8% [161] 15764(2.4%) 2906(0.4%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [171] 67.3% ??? [176] 14.3% --------------------------------------------------------------------------- ulp-difference [84] 2.6% ??? [101] 4.8% ??? [47] 14.5% ??? [150] 26.9% flag-set? [30] 51.2% [162] 13368(2.0%) 9804(1.5%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 filter [172] 26.7% --------------------------------------------------------------------------- for-loop [99] 4.2% update-leader! [95] 15.2% for-loop [149] 39.2% loop! [107] 41.4% [163] 8570(1.3%) 8570(1.3%) update-en-expr ...evelop/src/core/egraph.rkt:212:0 --------------------------------------------------------------------------- ??? [150] 100.0% [164] 2970(0.4%) 2970(0.4%) assoc-ref ...collects/racket/private/dict.rkt:56:0 --------------------------------------------------------------------------- setfindf [152] 100.0% [165] 1314(0.2%) 1314(0.2%) for-loop ...es/herbie/develop/src/common.rkt:187:2 --------------------------------------------------------------------------- for-loop [65] 24.1% ??? [151] 75.9% [166] 1262(0.2%) 304(0.0%) ??? ...ects/racket/contract/private/hash.rkt:222:6 check-hash/c [175] 75.9% --------------------------------------------------------------------------- eval-prog [77] 32.2% eval-const-expr [153] 67.8% [167] 976(0.1%) 0(0.0%) ??? ...cket/collects/racket/private/kw.rkt:1633:36 unpack245 [174] 100.0% --------------------------------------------------------------------------- make-sequence [154] 100.0% [168] 324(0.0%) 324(0.0%) ??? ...acket/collects/racket/private/for.rkt:429:7 --------------------------------------------------------------------------- ??? [159] 100.0% [169] 29096(4.4%) 2012(0.3%) ??? ...ects/racket/contract/private/list.rkt:686:7 ??? [176] 86.5% ??? [178] 6.6% --------------------------------------------------------------------------- ??? [160] 100.0% [170] 22552(3.4%) 336(0.1%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [177] 98.5% --------------------------------------------------------------------------- ??? [161] 100.0% [171] 10602(1.6%) 10602(1.6%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 --------------------------------------------------------------------------- match-e [80] 13.4% for-loop [89] 14.0% return/no-unsupplied [162] 72.6% [172] 4912(0.7%) 4912(0.7%) filter ...t/collects/racket/private/list.rkt:256:2 --------------------------------------------------------------------------- ??? [159] 100.0% [173] 4900(0.7%) 1906(0.3%) for-loop ...acket/contract/private/list.rkt:190:15 ??? [151] 61.1% --------------------------------------------------------------------------- ??? [167] 100.0% [174] 976(0.1%) 638(0.1%) unpack245 ...private/arrow-higher-order.rkt:354:44 maybe-cons-kwd [180] 34.6% --------------------------------------------------------------------------- ??? [166] 100.0% [175] 958(0.1%) 324(0.0%) check-hash/c ...ket/contract/private/hash.rkt:83:0 flat-contract? [179] 66.2% --------------------------------------------------------------------------- for-loop [65] 0.9% ??? [159] 1.0% ??? [35] 1.9% ??? [31] 4.0% ??? [161] 6.8% ??? [151] 10.0% ??? [169] 75.4% [176] 33360(5.0%) 28432(4.3%) ??? ...ects/racket/contract/private/guts.rkt:644:8 contract? [183] 7.0% dict? [184] 4.8% ??? [35] 3.0% --------------------------------------------------------------------------- ??? [170] 100.0% [177] 22216(3.3%) 4984(0.7%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [182] 42.4% get/build-late-neg-projection [181] 35.2% --------------------------------------------------------------------------- ??? [159] 7.1% ??? [90] 7.8% for-loop [147] 39.1% ??? [169] 46.0% [178] 4168(0.6%) 2228(0.3%) ??? ...ects/racket/contract/private/prop.rkt:493:4 ??? [185] 46.5% --------------------------------------------------------------------------- check-hash/c [175] 100.0% [179] 634(0.1%) 634(0.1%) flat-contract? .../contract/private/guts.rkt:111:0 --------------------------------------------------------------------------- unpack245 [174] 100.0% [180] 338(0.1%) 0(0.0%) maybe-cons-kwd ...ate/arrow-higher-order.rkt:498:0 arrow-higher-order:lnp [186] 100.0% --------------------------------------------------------------------------- listof-late-neg-projection [189] 0.9% ??? [188] 17.5% ??? [136] 18.8% for-loop [177] 61.6% [181] 12700(1.9%) 2908(0.4%) get/build-late-neg-projection ...te/guts.rkt:691:0 ??? [187] 59.1% ??? [188] 17.5% listof-late-neg-projection [189] 3.4% --------------------------------------------------------------------------- for-loop [177] 100.0% [182] 9414(1.4%) 9414(1.4%) add-list-context ...ontract/private/list.rkt:752:0 --------------------------------------------------------------------------- ??? [176] 100.0% [183] 2344(0.4%) 2344(0.4%) contract? ...acket/contract/private/guts.rkt:109:0 --------------------------------------------------------------------------- ??? [47] 27.7% ??? [176] 72.3% [184] 2200(0.3%) 2200(0.3%) dict? ...ollects/racket/private/generic.rkt:146:11 --------------------------------------------------------------------------- ??? [178] 100.0% [185] 1940(0.3%) 994(0.1%) ??? ...lects/racket/contract/private/orc.rkt:83:14 ??? [190] 48.8% --------------------------------------------------------------------------- maybe-cons-kwd [180] 49.7% ??? [54] 50.3% [186] 680(0.1%) 680(0.1%) arrow-higher-order:lnp ...w-higher-order.rkt:597:7 --------------------------------------------------------------------------- get/build-late-neg-projection [181]100.0% [187] 9158(1.4%) 1714(0.3%) ??? ...cts/racket/contract/private/prop.rkt:314:12 build-compound-type-name [191] 81.3% --------------------------------------------------------------------------- get/build-late-neg-projection [181]100.0% [188] 4544(0.7%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:211:2 get/build-late-neg-projection [181]100.0% --------------------------------------------------------------------------- get/build-late-neg-projection [181]100.0% [189] 966(0.1%) 634(0.1%) listof-late-neg-projection ...ivate/list.rkt:162:0 get/build-late-neg-projection [181] 34.4% --------------------------------------------------------------------------- ??? [185] 100.0% [190] 946(0.1%) 946(0.1%) ??? ...ects/racket/contract/private/list.rkt:141:5 --------------------------------------------------------------------------- contract-struct-name [192] 15.1% ??? [187] 84.9% [191] 7444(1.1%) 4832(0.7%) build-compound-type-name ...private/guts.rkt:448:0 contract-struct-name [192] 45.9% --------------------------------------------------------------------------- build-compound-type-name [191] 100.0% [192] 4228(0.6%) 2612(0.4%) contract-struct-name ...ract/private/prop.rkt:89:0 build-compound-type-name [191] 45.7% ---------------------------------------------------------------------------