Profiling results ----------------- Total cpu time observed: 667466ms (out of 670304ms) Number of samples taken: 1995 (once every 335ms) (Hiding functions with self<1.0% and local<2.0%: 15 of 200 hidden) ======================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================================== ??? [49] 100.0% [1] 508298(76.2%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [10] 100.0% ---------------------------------------------------------------------------------------- ??? [49] 100.0% [2] 483406(72.4%) 0(0.0%) run-improve50 ...ie/develop/src/mainloop.rkt:234:0 for-loop [11] 99.5% setup-alt-simplified [17] 0.3% loop [58] 0.2% ---------------------------------------------------------------------------------------- ??? [55] 100.0% [3] 150780(22.6%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:237:2 pass [12] 100.0% ---------------------------------------------------------------------------------------- rewriter [56] 100.0% [4] 28990(4.3%) 2904(0.4%) *rules* ...rbie/develop/src/syntax/rules.rkt:565:0 for-loop [13] 85.6% ormap [26] 4.4% ---------------------------------------------------------------------------------------- f176 [23] 3.7% for-loop [14] 16.4% rewriter [56] 79.8% [5] 13522(2.0%) 0(0.0%) expression->type ...evelop/src/type-check.rkt:45:0 for-loop [14] 100.0% ---------------------------------------------------------------------------------------- loop [129] 100.0% [6] 9480(1.4%) 2226(0.3%) for-loop ...ie/develop/src/core/simplify.rkt:195:2 eval-const-expr [15] 45.8% compose [16] 17.2% setfindf [19] 10.0% curried [140] 3.6% ---------------------------------------------------------------------------------------- loop [129] 5.0% for-loop [82] 8.8% map [39] 9.3% f176 [23] 76.9% [7] 7498(1.1%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [55] 77.1% ...velop/src/common.rkt:47:2 [145] 13.6% ??? [171] 9.3% ---------------------------------------------------------------------------------------- map [39] 2.5% parse-loop12 [113] 2.7% loop [129] 94.7% [8] 1776(0.3%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 hash-ref! [88] 95.0% map [39] 5.0% ---------------------------------------------------------------------------------------- matcher [70] 100.0% [9] 1658(0.2%) 320(0.0%) for-loop ...bie/develop/src/core/matcher.rkt:159:6 pattern-substitute [18] 60.6% pattern-match [20] 20.1% ---------------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [10] 508298(76.2%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [49] 100.0% ---------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [11] 481042(72.1%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:249:10 run-iter! [21] 100.0% ---------------------------------------------------------------------------------------- loop [3] 100.0% [12] 150780(22.6%) 680(0.1%) pass ...herbie/develop/src/core/simplify.rkt:227:2 for-loop [22] 99.1% ---------------------------------------------------------------------------------------- merge-egraph-nodes! [94] 2.5% *rules* [4] 96.2% [13] 25790(3.9%) 8240(1.2%) for-loop ...ies/herbie/develop/src/common.rkt:99:9 loop [25] 26.9% ormap [26] 23.2% flag-set? [36] 13.0% curried [140] 3.8% curry* [116] 1.2% ---------------------------------------------------------------------------------------- expression->type [5] 100.0% [14] 13522(2.0%) 0(0.0%) for-loop ...herbie/develop/src/type-check.rkt:52:5 f176 [23] 83.6% expression->type [5] 16.4% ---------------------------------------------------------------------------------------- for-loop [6] 100.0% [15] 4338(0.6%) 0(0.0%) eval-const-expr .../develop/src/programs.rkt:168:0 f176 [23] 77.1% ??? [28] 22.9% ---------------------------------------------------------------------------------------- for-loop [6] 100.0% [16] 1634(0.2%) 1634(0.2%) compose ...collects/racket/private/list.rkt:385:12 ---------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [17] 1382(0.2%) 0(0.0%) setup-alt-simplified .../develop/src/glue.rkt:49:0 simplify-alt [27] 100.0% ---------------------------------------------------------------------------------------- for-loop [9] 39.3% pattern-substitute [18] 60.7% [18] 1004(0.2%) 358(0.1%) pattern-substitute ...op/src/core/matcher.rkt:73:0 pattern-substitute [18] 60.7% variable? [24] 21.4% ---------------------------------------------------------------------------------------- for-loop [6] 100.0% [19] 944(0.1%) 300(0.0%) setfindf ...es/herbie/develop/src/common.rkt:186:0 custom-in-set [100] 35.0% for-loop [30] 33.3% ---------------------------------------------------------------------------------------- for-loop [29] 50.0% for-loop [9] 50.0% [20] 334(0.1%) 0(0.0%) pattern-match ...develop/src/core/matcher.rkt:48:0 for-loop [29] 50.0% variable? [24] 50.0% ---------------------------------------------------------------------------------------- for-loop [11] 100.0% [21] 481042(72.1%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:215:0 simplify! [31] 76.3% gen-rewrites! [33] 16.4% finalize-iter! [34] 6.8% localize-error [38] 0.5% ---------------------------------------------------------------------------------------- pass [12] 100.0% [22] 149382(22.4%) 1286(0.2%) for-loop ...e/develop/src/core/simplify.rkt:230:29 argmin [32] 83.0% loop [35] 12.6% for-loop [37] 2.5% make-sequence [149] 1.1% ---------------------------------------------------------------------------------------- hash-ref! [88] 0.8% eval-prog [83] 2.6% eval-const-expr [15] 7.4% f176 [23] 11.0% for-loop [14] 29.3% rewriter [56] 48.8% [23] 44958(6.7%) 1630(0.2%) f176 .../collects/racket/match/compiler.rkt:507:40 ??? [144] 28.5% ??? [55] 26.9% ??? [44] 17.8% f176 [23] 11.0% ...velop/src/common.rkt:47:2 [145] 6.6% ??? [7] 2.5% ??? [41] 2.2% map [39] 0.8% expression->type [5] 0.7% ---------------------------------------------------------------------------------------- pattern-match [20] 2.4% pattern-substitute [18] 4.6% matcher [70] 12.3% substitute-e [93] 14.7% match-e [86] 66.1% [24] 14098(2.1%) 658(0.1%) variable? ...e/develop/src/syntax/syntax.rkt:665:0 ??? [44] 95.3% ---------------------------------------------------------------------------------------- for-loop [47] 4.6% for-loop [13] 95.4% [25] 7268(1.1%) 1678(0.3%) loop ...ket/collects/racket/private/map.rkt:112:23 flag-set? [36] 63.2% curried [140] 13.7% ---------------------------------------------------------------------------------------- *rules* [4] 17.5% for-loop [13] 82.5% [26] 7252(1.1%) 334(0.1%) ormap ...et/collects/racket/private/map.rkt:105:13 flag-set? [36] 90.8% list-member? [98] 4.6% ---------------------------------------------------------------------------------------- setup-alt-simplified [17] 100.0% [27] 1382(0.2%) 0(0.0%) simplify-alt ...s/herbie/develop/src/glue.rkt:76:0 ??? [55] 100.0% ---------------------------------------------------------------------------------------- eval-const-expr [15] 100.0% [28] 992(0.1%) 0(0.0%) ??? ...cket/collects/racket/private/kw.rkt:1633:36 unpack245 [40] 100.0% ---------------------------------------------------------------------------------------- pattern-match [20] 100.0% [29] 334(0.1%) 0(0.0%) for-loop ...rbie/develop/src/core/matcher.rkt:66:9 pattern-match [20] 100.0% ---------------------------------------------------------------------------------------- setfindf [19] 100.0% [30] 314(0.0%) 314(0.0%) for-loop ...es/herbie/develop/src/common.rkt:187:2 ---------------------------------------------------------------------------------------- run-iter! [21] 100.0% [31] 366996(55.0%) 348(0.1%) simplify! ...herbie/develop/src/mainloop.rkt:155:0 for-loop [42] 99.9% ---------------------------------------------------------------------------------------- for-loop [22] 100.0% [32] 123952(18.6%) 336(0.1%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [43] 84.2% expression-cost [46] 15.6% ---------------------------------------------------------------------------------------- run-iter! [21] 100.0% [33] 79052(11.8%) 0(0.0%) gen-rewrites! ...ie/develop/src/mainloop.rkt:142:0 for-loop [45] 100.0% ---------------------------------------------------------------------------------------- run-iter! [21] 100.0% [34] 32544(4.9%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:169:0 ??? [44] 100.0% ---------------------------------------------------------------------------------------- for-loop [22] 100.0% [35] 18808(2.8%) 0(0.0%) loop ...hare/racket/collects/racket/list.rkt:729:4 for-loop [43] 91.4% expression-cost [46] 8.6% ---------------------------------------------------------------------------------------- for-loop [13] 23.1% loop [25] 31.6% ormap [26] 45.3% [36] 14536(2.2%) 6002(0.9%) flag-set? ...es/herbie/develop/src/config.rkt:34:0 ??? [160] 31.8% return/no-unsupplied [161] 26.9% ---------------------------------------------------------------------------------------- for-loop [22] 100.0% [37] 3686(0.6%) 3686(0.6%) for-loop ...e/develop/src/core/simplify.rkt:217:13 ---------------------------------------------------------------------------------------- run-iter! [21] 100.0% [38] 2450(0.4%) 0(0.0%) localize-error ...velop/src/core/localize.rkt:47:0 hash-ref! [88] 86.3% for-loop [47] 13.7% ---------------------------------------------------------------------------------------- f176 [23] 34.2% ??? [8] 65.8% [39] 1058(0.2%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 ??? [7] 65.8% ??? [8] 17.1% loop [129] 17.1% ---------------------------------------------------------------------------------------- ??? [28] 100.0% [40] 992(0.1%) 668(0.1%) unpack245 ...private/arrow-higher-order.rkt:354:44 maybe-cons-kwd [48] 32.7% ---------------------------------------------------------------------------------------- f176 [23] 100.0% [41] 990(0.1%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:336:46 ??? [171] 100.0% ---------------------------------------------------------------------------------------- simplify! [31] 97.6% [42] 375484(56.3%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:159:6 ??? [49] 100.0% ---------------------------------------------------------------------------------------- loop [35] 14.1% argmin [32] 85.9% [43] 121506(18.2%) 1372(0.2%) for-loop .../herbie/develop/src/programs.rkt:210:2 ??? [55] 75.1% ...velop/src/common.rkt:47:2 [145] 19.9% ??? [144] 3.8% ---------------------------------------------------------------------------------------- ??? [171] 1.4% substitute-e [93] 4.2% f176 [23] 8.8% variable? [24] 14.4% match-e [86] 16.1% get-sigs [136] 20.6% finalize-iter! [34] 34.5% [44] 93344(14.0%) 25740(3.9%) ??? ...contract/private/arrow-val-first.rkt:357:18 hash-has-key? [51] 37.6% for-loop [52] 34.1% ??? [171] 0.4% ---------------------------------------------------------------------------------------- gen-rewrites! [33] 100.0% [45] 79052(11.8%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:147:11 ??? [50] 100.0% ---------------------------------------------------------------------------------------- loop [35] 7.8% argmin [32] 92.2% [46] 20918(3.1%) 304(0.0%) expression-cost .../develop/src/programs.rkt:209:0 compile [53] 98.5% ---------------------------------------------------------------------------------------- localize-error [38] 100.0% [47] 336(0.1%) 0(0.0%) for-loop ...ie/develop/src/core/localize.rkt:61:10 loop [25] 100.0% ---------------------------------------------------------------------------------------- unpack245 [40] 100.0% [48] 324(0.0%) 0(0.0%) maybe-cons-kwd ...ate/arrow-higher-order.rkt:498:0 successfully-got-the-right-kind-of-function [54]100.0% ---------------------------------------------------------------------------------------- for-loop [42] 20.0% run [10] 29.4% [49] 656668(98.4%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 ??? [55] 40.8% profile-thunk16 [1] 29.4% run-improve50 [2] 27.7% loop [58] 2.1% ---------------------------------------------------------------------------------------- for-loop [45] 100.0% [50] 79052(11.8%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:88:0 rewriter [56] 100.0% ---------------------------------------------------------------------------------------- mk-enode! [103] 7.7% ??? [44] 92.3% [51] 38384(5.8%) 12400(1.9%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [62] 64.1% ??? [67] 3.6% ---------------------------------------------------------------------------------------- ??? [44] 100.0% [52] 32212(4.8%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [57] 100.0% ---------------------------------------------------------------------------------------- expression-cost [46] 100.0% [53] 20614(3.1%) 996(0.1%) compile ...s/herbie/develop/src/programs.rkt:186:0 hash-ref! [88] 95.2% ---------------------------------------------------------------------------------------- maybe-cons-kwd [48] 100.0% [54] 324(0.0%) 0(0.0%) successfully-got-the-right-kind-of-function ...9:4 arity-checking-wrapper [59] 100.0% ---------------------------------------------------------------------------------------- simplify-alt [27] 0.1% ??? [7] 1.1% f176 [23] 2.1% get-sigs [136] 2.5% for-loop [43] 5.7% ??? [55] 15.4% for-loop [61] 28.8% ??? [49] 44.0% [55] 532346(79.8%) 40696(6.1%) ??? ...llects/racket/private/norm-define.rkt:53:83 iterate-egraph!13 [60] 32.6% for-loop [61] 28.8% ??? [55] 15.4% loop [3] 11.3% ??? [62] 7.0% ??? [160] 0.4% mk-egraph [66] 0.3% return/no-unsupplied [161] 0.2% dict? [178] 0.1% ??? [158] 0.1% ??? [67] 0.0% ---------------------------------------------------------------------------------------- ??? [50] 14.1% matcher [70] 85.9% [56] 79052(11.8%) 9558(1.4%) rewriter ...bie/develop/src/core/matcher.rkt:131:2 for-loop [63] 86.9% *rules* [4] 5.0% f176 [23] 3.8% expression->type [5] 2.6% ---------------------------------------------------------------------------------------- for-loop [52] 99.0% [57] 32544(4.9%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:208:0 best-and-tied-at-points [64] 98.9% ---------------------------------------------------------------------------------------- run-improve50 [2] 3.4% ??? [49] 96.6% [58] 28472(4.3%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:205:2 loop [65] 36.8% make-exacts* [73] 36.7% loop [74] 26.5% ---------------------------------------------------------------------------------------- successfully-got-the-right-kind-of-function [54]100.0% [59] 324(0.0%) 0(0.0%) arity-checking-wrapper ...w-higher-order.rkt:402:0 matches-arity-exactly? [68] 100.0% ---------------------------------------------------------------------------------------- ??? [55] 100.0% [60] 360940(54.1%) 0(0.0%) iterate-egraph!13 ...p/src/core/simplify.rkt:105:0 one-iter [69] 97.2% map-enodes [75] 2.8% ---------------------------------------------------------------------------------------- ??? [55] 100.0% [61] 332048(49.7%) 334(0.1%) for-loop ...ie/develop/src/core/simplify.rkt:66:12 ??? [55] 99.9% ---------------------------------------------------------------------------------------- hash-has-key? [51] 20.7% ??? [55] 79.3% [62] 118654(17.8%) 48468(7.3%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [71] 43.5% ??? [81] 13.3% ??? [158] 1.8% arrow-higher-order:lnp [84] 0.6% ---------------------------------------------------------------------------------------- rewriter [56] 100.0% [63] 79052(11.8%) 344(0.1%) for-loop ...ie/develop/src/core/matcher.rkt:134:10 matcher [70] 99.9% ---------------------------------------------------------------------------------------- atab-add-altn [57] 100.0% [64] 32190(4.8%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [72] 98.9% ---------------------------------------------------------------------------------------- loop [58] 100.0% [65] 10488(1.6%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:158:2 make-exacts* [73] 49.8% loop [74] 46.8% loop [77] 3.4% ---------------------------------------------------------------------------------------- ??? [55] 100.0% [66] 3288(0.5%) 0(0.0%) mk-egraph ...bie/develop/src/core/egraph.rkt:131:0 mk-enode-rec! [76] 100.0% ---------------------------------------------------------------------------------------- ??? [55] 31.9% hash-has-key? [51] 68.1% [67] 2012(0.3%) 2012(0.3%) ??? ...ects/racket/contract/private/hash.rkt:245:7 ---------------------------------------------------------------------------------------- arity-checking-wrapper [59] 100.0% [68] 324(0.0%) 324(0.0%) matches-arity-exactly? ...te/arrow-common.rkt:70:0 ---------------------------------------------------------------------------------------- iterate-egraph!13 [60] 100.0% [69] 350812(52.6%) 5066(0.8%) one-iter ...ie/develop/src/core/simplify.rkt:116:0 for-loop [78] 72.4% for-loop [79] 25.9% ---------------------------------------------------------------------------------------- for-loop [80] 24.8% matcher [70] 25.3% for-loop [63] 49.9% [70] 79052(11.8%) 1322(0.2%) matcher ...rbie/develop/src/core/matcher.rkt:167:2 rewriter [56] 49.4% matcher [70] 25.3% for-loop [80] 24.8% variable? [24] 0.2% for-loop [9] 0.1% ---------------------------------------------------------------------------------------- ??? [62] 100.0% [71] 51586(7.7%) 25710(3.9%) for-loop ...acket/contract/private/list.rkt:743:12 ??? [81] 27.4% for-loop [152] 19.1% ??? [163] 2.5% arrow-higher-order:lnp [84] 0.6% ??? [171] 0.6% ---------------------------------------------------------------------------------------- best-and-tied-at-points [64] 98.9% [72] 32182(4.8%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:241:0 for-loop [82] 79.0% eval-prog [83] 21.0% ---------------------------------------------------------------------------------------- loop [65] 33.3% loop [58] 66.7% [73] 15656(2.3%) 0(0.0%) make-exacts* ...erbie/develop/src/points.rkt:138:0 loop [129] 82.7% eval-prog [83] 17.3% ---------------------------------------------------------------------------------------- loop [65] 39.4% loop [58] 60.6% [74] 12458(1.9%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:141:4 loop [129] 100.0% ---------------------------------------------------------------------------------------- iterate-egraph!13 [60] 100.0% [75] 10128(1.5%) 0(0.0%) map-enodes ...ie/develop/src/core/egraph.rkt:140:0 loop [129] 100.0% ---------------------------------------------------------------------------------------- mk-egraph [66] 36.0% mk-enode-rec! [76] 64.0% [76] 3288(0.5%) 322(0.0%) mk-enode-rec! ...develop/src/core/egraph.rkt:122:0 mk-enode-rec! [76] 64.0% mk-enode! [103] 34.0% ---------------------------------------------------------------------------------------- loop [65] 0.2% loop [77] 99.8% [77] 358(0.1%) 358(0.1%) loop ...htlies/herbie/develop/src/points.rkt:130:2 loop [77] 99.8% ---------------------------------------------------------------------------------------- one-iter [69] 100.0% [78] 254048(38.1%) 1300(0.2%) for-loop ...ie/develop/src/core/simplify.rkt:166:2 for-loop [85] 90.6% match-e [86] 8.6% update-leader! [105] 0.2% ---------------------------------------------------------------------------------------- for-loop [79] 49.6% one-iter [69] 50.4% [79] 90724(13.6%) 18650(2.8%) for-loop ...e/develop/src/core/simplify.rkt:126:12 for-loop [79] 49.6% match-e [86] 39.6% ??? [121] 0.2% ---------------------------------------------------------------------------------------- matcher [70] 100.0% [80] 77320(11.6%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:183:21 matcher [70] 100.0% ---------------------------------------------------------------------------------------- for-loop [71] 47.2% ??? [62] 52.8% [81] 29882(4.5%) 17280(2.6%) ??? ...private/unconstrained-domain-arrow.rkt:74:4 make-keyword-procedure [89] 42.2% ---------------------------------------------------------------------------------------- errors [72] 100.0% [82] 25432(3.8%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:244:4 ??? [87] 97.4% ??? [7] 2.6% ---------------------------------------------------------------------------------------- make-exacts* [73] 28.6% errors [72] 71.4% [83] 9454(1.4%) 0(0.0%) eval-prog ...herbie/develop/src/programs.rkt:150:0 f176 [23] 64.7% hash-ref! [88] 28.3% ??? [90] 3.9% new-lambda [92] 3.2% ---------------------------------------------------------------------------------------- for-loop [71] 32.5% ??? [62] 67.5% [84] 1004(0.2%) 678(0.1%) arrow-higher-order:lnp ...w-higher-order.rkt:597:7 ??? [91] 32.5% ---------------------------------------------------------------------------------------- for-loop [78] 100.0% [85] 230146(34.5%) 1260(0.2%) for-loop ...e/develop/src/core/simplify.rkt:148:10 mk-enode! [103] 33.6% substitute-e [93] 31.7% merge-egraph-nodes! [94] 22.0% loop! [119] 10.5% list-member? [98] 1.6% ---------------------------------------------------------------------------------------- for-loop [78] 14.2% for-loop [104] 25.1% for-loop [79] 60.6% [86] 93736(14.0%) 34680(5.2%) match-e ...herbie/develop/src/core/ematch.rkt:46:0 for-loop [96] 38.4% for-loop [104] 11.7% ??? [44] 8.0% variable? [24] 4.2% list-cartesian-product [107] 2.3% loop [129] 2.1% custom-in-set [100] 1.3% curry* [116] 0.4% ---------------------------------------------------------------------------------------- for-loop [82] 49.7% loop [129] 50.3% [87] 49808(7.5%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:156:4 ??? [95] 100.0% ---------------------------------------------------------------------------------------- localize-error [38] 2.6% eval-prog [83] 4.1% ??? [8] 6.1% loop [129] 6.9% compile [53] 30.5% ??? [97] 49.8% [88] 24408(3.7%) 18604(2.8%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [97] 59.0% parse-loop12 [113] 8.3% bigfloat-hash [99] 3.8% f176 [23] 0.3% ---------------------------------------------------------------------------------------- ??? [81] 100.0% [89] 12602(1.9%) 12602(1.9%) make-keyword-procedure ...ket/private/kw.rkt:260:4 ---------------------------------------------------------------------------------------- eval-prog [83] 100.0% [90] 364(0.1%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [101] 100.0% ---------------------------------------------------------------------------------------- arrow-higher-order:lnp [84] 100.0% [91] 326(0.0%) 0(0.0%) ??? ...et/contract/private/arity-checking.rkt:19:2 procedure-arity [123] 100.0% ---------------------------------------------------------------------------------------- eval-prog [83] 100.0% [92] 300(0.0%) 0(0.0%) new-lambda ...ollects/racket/private/kw.rkt:679:11 loop [102] 100.0% ---------------------------------------------------------------------------------------- substitute-e [93] 7.1% for-loop [85] 92.9% [93] 72924(10.9%) 2976(0.4%) substitute-e ...e/develop/src/core/ematch.rkt:71:0 mk-enode! [103] 87.7% substitute-e [93] 7.1% ??? [44] 2.0% variable? [24] 0.9% ---------------------------------------------------------------------------------------- for-loop [108] 3.9% merge-egraph-nodes! [94] 4.5% for-loop [85] 91.5% [94] 50686(7.6%) 2646(0.4%) merge-egraph-nodes! ...p/src/core/egraph.rkt:153:0 update-leader! [105] 50.0% loop! [119] 16.0% for-loop [109] 8.8% for-loop [108] 7.1% enode-merge! [112] 6.5% merge-egraph-nodes! [94] 4.5% for-loop [13] 1.3% make-sequence [149] 0.7% ---------------------------------------------------------------------------------------- ??? [87] 100.0% [95] 49808(7.5%) 23754(3.6%) ??? ...acket/collects/racket/private/kw.rkt:444:14 bf* [106] 16.5% ??? [138] 15.5% ??? [110] 8.9% ??? [111] 6.6% ??? [173] 2.2% parse-loop12 [113] 1.4% ---------------------------------------------------------------------------------------- match-e [86] 100.0% [96] 47910(7.2%) 14548(2.2%) for-loop ...rbie/develop/src/core/ematch.rkt:59:11 for-loop [104] 58.9% list-cartesian-product [107] 6.2% loop [129] 3.5% curry* [116] 2.0% curried [140] 1.8% filter [170] 1.3% ---------------------------------------------------------------------------------------- hash-ref! [88] 100.0% [97] 19988(3.0%) 1348(0.2%) ??? ...tlies/herbie/develop/src/programs.rkt:194:5 hash-ref! [88] 85.4% loop [129] 11.8% ---------------------------------------------------------------------------------------- ormap [26] 8.2% for-loop [85] 91.8% [98] 4074(0.6%) 336(0.1%) list-member? ...llects/racket/private/set.rkt:24:0 loop [114] 50.2% member [117] 41.5% ---------------------------------------------------------------------------------------- hash-ref! [88] 100.0% [99] 2342(0.4%) 322(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:165:0 bfcanonicalize [115] 86.3% ---------------------------------------------------------------------------------------- setfindf [19] 17.1% match-e [86] 82.9% [100] 1934(0.3%) 1934(0.3%) custom-in-set ...acket/private/set-types.rkt:577:0 ---------------------------------------------------------------------------------------- ??? [90] 100.0% [101] 364(0.1%) 364(0.1%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 ---------------------------------------------------------------------------------------- loop [102] 50.0% new-lambda [92] 50.0% [102] 300(0.0%) 300(0.0%) loop .../collects/racket/private/stxcase.rkt:112:7 loop [102] 50.0% ---------------------------------------------------------------------------------------- mk-enode-rec! [76] 2.1% substitute-e [93] 44.3% for-loop [85] 53.6% [103] 144360(21.6%) 11828(1.8%) mk-enode! ...bie/develop/src/core/egraph.rkt:102:0 new-enode [118] 89.5% hash-has-key? [51] 2.1% ---------------------------------------------------------------------------------------- match-e [86] 38.0% for-loop [96] 62.0% [104] 47428(7.1%) 2040(0.3%) for-loop ...rbie/develop/src/core/ematch.rkt:65:37 match-e [86] 90.0% ??? [121] 5.7% ---------------------------------------------------------------------------------------- for-loop [78] 2.2% merge-egraph-nodes! [94] 97.8% [105] 28130(4.2%) 5268(0.8%) update-leader! ...evelop/src/core/egraph.rkt:218:0 for-loop [120] 74.4% custom-set-union! [124] 5.7% ---------------------------------------------------------------------------------------- ??? [95] 100.0% [106] 8210(1.2%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [138] 100.0% ---------------------------------------------------------------------------------------- match-e [86] 26.7% list-cartesian-product [107] 34.3% for-loop [96] 39.0% [107] 6296(0.9%) 5938(0.9%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [107] 34.3% for-loop [126] 5.7% ---------------------------------------------------------------------------------------- merge-egraph-nodes! [94] 100.0% [108] 5492(0.8%) 0(0.0%) for-loop ...bie/develop/src/core/egraph.rkt:201:10 merge-egraph-nodes! [94] 70.5% loop! [119] 29.5% ---------------------------------------------------------------------------------------- merge-egraph-nodes! [94] 100.0% [109] 4442(0.7%) 4110(0.6%) for-loop ...rbie/develop/src/core/egraph.rkt:233:6 update-en-expr [162] 7.5% ---------------------------------------------------------------------------------------- ??? [95] 100.0% [110] 4434(0.7%) 2008(0.3%) ??? ...herbie/develop/src/syntax/syntax.rkt:156:17 ??? [160] 39.2% return/no-unsupplied [161] 15.6% ---------------------------------------------------------------------------------------- ??? [95] 100.0% [111] 3290(0.5%) 3290(0.5%) ??? ...rivate/unconstrained-domain-arrow.rkt:40:13 ---------------------------------------------------------------------------------------- merge-egraph-nodes! [94] 100.0% [112] 3290(0.5%) 302(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:129:0 adopt-enode! [122] 59.1% custom-set-intersect! [125] 31.7% ---------------------------------------------------------------------------------------- ??? [95] 24.7% hash-ref! [88] 75.3% [113] 2806(0.4%) 692(0.1%) parse-loop12 ...s/racket/match/compiler.rkt:418:15 loop [129] 72.2% ??? [8] 1.7% loop [127] 1.4% ---------------------------------------------------------------------------------------- list-member? [98] 100.0% [114] 2046(0.3%) 2046(0.3%) loop (unknown source) ---------------------------------------------------------------------------------------- bigfloat-hash [99] 100.0% [115] 2020(0.3%) 2020(0.3%) bfcanonicalize .../private/bigfloat/mpfr.rkt:155:0 ---------------------------------------------------------------------------------------- for-loop [13] 15.4% match-e [86] 18.6% for-loop [96] 66.0% [116] 1954(0.3%) 664(0.1%) curry* ...racket/collects/racket/function.rkt:44:2 procedure-arity [123] 66.0% ---------------------------------------------------------------------------------------- list-member? [98] 100.0% [117] 1692(0.3%) 1692(0.3%) member (unknown source) ---------------------------------------------------------------------------------------- mk-enode! [103] 100.0% [118] 129226(19.4%) 0(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:97:0 type-of-enode-expr [128] 98.7% set [132] 1.0% ---------------------------------------------------------------------------------------- for-loop [108] 3.1% merge-egraph-nodes! [94] 19.3% loop [129] 33.1% for-loop [85] 44.4% [119] 35934(5.4%) 10278(1.5%) loop! ...s/herbie/develop/src/core/enode.rkt:192:2 loop [129] 40.3% custom-set-union [131] 25.6% set [132] 11.3% update-en-expr [162] 6.0% ---------------------------------------------------------------------------------------- update-leader! [105] 100.0% [120] 20920(3.1%) 276(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:223:6 for-loop [130] 97.1% update-en-expr [162] 1.5% ---------------------------------------------------------------------------------------- for-loop [79] 10.3% for-loop [104] 89.7% [121] 2998(0.4%) 1274(0.2%) ??? ...ies/herbie/develop/src/core/ematch.rkt:50:5 for-loop [133] 57.5% ---------------------------------------------------------------------------------------- enode-merge! [112] 100.0% [122] 1944(0.3%) 0(0.0%) adopt-enode! ...e/develop/src/core/enode.rkt:105:0 custom-set-union [131] 100.0% ---------------------------------------------------------------------------------------- ??? [91] 20.2% curry* [116] 79.8% [123] 1616(0.2%) 1616(0.2%) procedure-arity ...ket/private/norm-arity.rkt:7:27 ---------------------------------------------------------------------------------------- update-leader! [105] 100.0% [124] 1608(0.2%) 1308(0.2%) custom-set-union! ...t/private/set-types.rkt:245:0 for-loop [135] 18.7% ---------------------------------------------------------------------------------------- enode-merge! [112] 100.0% [125] 1044(0.2%) 1044(0.2%) custom-set-intersect! ...ivate/set-types.rkt:269:0 ---------------------------------------------------------------------------------------- list-cartesian-product [107] 100.0% [126] 358(0.1%) 358(0.1%) for-loop ...erbie/develop/src/core/ematch.rkt:24:8 ---------------------------------------------------------------------------------------- parse-loop12 [113] 1.2% loop [127] 98.8% [127] 358(0.1%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:36:19 loop [127] 98.8% ulp-difference [134] 1.2% ---------------------------------------------------------------------------------------- new-enode [118] 100.0% [128] 127560(19.1%) 934(0.1%) type-of-enode-expr ...elop/src/core/enode.rkt:68:0 get-sigs [136] 99.3% ---------------------------------------------------------------------------------------- map [39] 0.0% make-exacts* [73] 0.1% loop [74] 0.1% match-e [86] 1.0% parse-loop12 [113] 1.4% map-enodes [75] 1.9% for-loop [96] 2.5% ??? [97] 3.3% loop! [119] 9.5% loop [129] 80.1% [129] 70316(10.5%) 5512(0.8%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [129] 80.1% loop! [119] 9.1% hash-ref! [88] 3.3% for-loop [6] 1.8% ??? [8] 1.4% curried [140] 0.4% foldl [142] 0.4% ??? [87] 0.3% set-precompute! [143] 0.1% ??? [138] 0.0% ??? [7] 0.0% ---------------------------------------------------------------------------------------- for-loop [120] 100.0% [130] 20322(3.0%) 362(0.1%) for-loop ...rbie/develop/src/core/egraph.rkt:224:8 hash-update! [137] 98.2% ---------------------------------------------------------------------------------------- adopt-enode! [122] 15.6% loop! [119] 84.4% [131] 12454(1.9%) 2896(0.4%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [139] 61.2% for-loop [141] 15.6% ---------------------------------------------------------------------------------------- new-enode [118] 14.0% loop! [119] 86.0% [132] 9532(1.4%) 9532(1.4%) set ...collects/racket/private/set-types.rkt:981:0 ---------------------------------------------------------------------------------------- ??? [121] 100.0% [133] 1724(0.3%) 1724(0.3%) for-loop ...erbie/develop/src/core/ematch.rkt:51:7 ---------------------------------------------------------------------------------------- loop [127] 100.0% [134] 358(0.1%) 0(0.0%) ulp-difference ...erbie/develop/src/float.rkt:19:0 return/no-unsupplied [161] 100.0% ---------------------------------------------------------------------------------------- custom-set-union! [124] 100.0% [135] 300(0.0%) 300(0.0%) for-loop ...cts/racket/private/set-types.rkt:253:4 ---------------------------------------------------------------------------------------- type-of-enode-expr [128] 100.0% [136] 126626(19.0%) 1024(0.2%) get-sigs .../herbie/develop/src/type-check.rkt:5:0 ??? [144] 40.6% ??? [55] 32.0% ??? [44] 15.2% ...velop/src/common.rkt:47:2 [145] 11.4% ---------------------------------------------------------------------------------------- for-loop [130] 100.0% [137] 19960(3.0%) 694(0.1%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [146] 96.5% ---------------------------------------------------------------------------------------- loop [129] 4.2% ??? [95] 46.4% bf* [106] 49.4% [138] 16622(2.5%) 4600(0.7%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfadd [147] 70.5% bfneg [151] 1.9% ---------------------------------------------------------------------------------------- custom-set-union [131] 100.0% [139] 7618(1.1%) 1920(0.3%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [148] 74.8% ---------------------------------------------------------------------------------------- loop [129] 8.7% for-loop [6] 9.3% for-loop [13] 26.8% loop [25] 27.2% for-loop [96] 28.0% [140] 3652(0.5%) 3652(0.5%) curried ...cket/collects/racket/function.rkt:71:18 ---------------------------------------------------------------------------------------- custom-set-union [131] 100.0% [141] 1940(0.3%) 1940(0.3%) for-loop ...cts/racket/private/set-types.rkt:152:2 ---------------------------------------------------------------------------------------- loop [129] 100.0% [142] 1026(0.2%) 0(0.0%) foldl ...et/collects/racket/private/list.rkt:229:4 merge2 [150] 100.0% ---------------------------------------------------------------------------------------- loop [129] 100.0% [143] 648(0.1%) 334(0.1%) set-precompute! ...lop/src/core/simplify.rkt:193:0 make-sequence [149] 48.5% ---------------------------------------------------------------------------------------- for-loop [43] 6.8% f176 [23] 18.6% get-sigs [136] 74.6% [144] 68806(10.3%) 7720(1.2%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 ??? [153] 46.5% for-loop [152] 35.9% get/build-late-neg-projection [175] 5.3% ??? [163] 0.5% ---------------------------------------------------------------------------------------- ??? [7] 2.4% f176 [23] 7.0% get-sigs [136] 33.8% for-loop [43] 56.8% [145] 42630(6.4%) 11092(1.7%) ...velop/src/common.rkt:47:2 ...e/arr-i.rkt:906:19 ??? [155] 36.9% ??? [156] 36.3% ---------------------------------------------------------------------------------------- hash-update! [137] 100.0% [146] 19266(2.9%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:226:24 for-loop [154] 100.0% ---------------------------------------------------------------------------------------- ??? [138] 100.0% [147] 11712(1.8%) 8730(1.3%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [157] 25.5% ---------------------------------------------------------------------------------------- for-loop [139] 100.0% [148] 5698(0.9%) 5698(0.9%) for-loop ...cts/racket/private/set-types.rkt:178:5 ---------------------------------------------------------------------------------------- set-precompute! [143] 13.7% merge-egraph-nodes! [94] 14.6% for-loop [22] 71.7% [149] 2300(0.3%) 2300(0.3%) make-sequence ...ects/racket/private/for.rkt:509:2 ---------------------------------------------------------------------------------------- foldl [142] 100.0% [150] 1026(0.2%) 1026(0.2%) merge2 .../herbie/develop/src/core/ematch.rkt:31:0 ---------------------------------------------------------------------------------------- ??? [138] 100.0% [151] 310(0.0%) 0(0.0%) bfneg ...-lib/math/private/bigfloat/mpfr.rkt:616:4 ??? [157] 100.0% ---------------------------------------------------------------------------------------- for-loop [71] 28.5% ??? [144] 71.5% [152] 34574(5.2%) 7268(1.1%) for-loop ...racket/contract/private/hash.rkt:239:6 ??? [158] 78.1% ??? [173] 0.9% ---------------------------------------------------------------------------------------- ??? [144] 100.0% [153] 32020(4.8%) 4580(0.7%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [159] 85.7% ---------------------------------------------------------------------------------------- ??? [146] 100.0% [154] 19266(2.9%) 16910(2.5%) for-loop ...bie/develop/src/core/egraph.rkt:227:26 update-en-expr [162] 12.2% ---------------------------------------------------------------------------------------- ...velop/src/common.rkt:47:2 [145] 100.0% [155] 15718(2.4%) 5312(0.8%) ??? ...s/racket/contract/private/arr-i.rkt:1268:39 ??? [160] 32.5% assoc-ref [164] 21.4% return/no-unsupplied [161] 12.3% ---------------------------------------------------------------------------------------- for-loop [168] 4.1% ??? [158] 15.7% ...velop/src/common.rkt:47:2 [145] 80.2% [156] 15496(2.3%) 2866(0.4%) ??? ...ects/racket/contract/private/list.rkt:342:4 ??? [158] 68.9% ??? [163] 11.3% ??? [171] 10.5% ---------------------------------------------------------------------------------------- bfneg [151] 9.4% bfadd [147] 90.6% [157] 3292(0.5%) 3292(0.5%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ---------------------------------------------------------------------------------------- ??? [55] 2.1% ??? [62] 4.8% ??? [156] 30.9% for-loop [152] 60.7% [158] 44436(6.7%) 10138(1.5%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [166] 55.4% ??? [156] 10.9% for-loop [168] 7.3% ??? [173] 3.5% ---------------------------------------------------------------------------------------- ??? [153] 100.0% [159] 27440(4.1%) 2068(0.3%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [165] 92.5% ---------------------------------------------------------------------------------------- ??? [110] 10.6% flag-set? [36] 28.1% ??? [55] 30.2% ??? [155] 31.1% [160] 16436(2.5%) 4222(0.6%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [167] 62.7% ??? [171] 11.6% ---------------------------------------------------------------------------------------- ulp-difference [134] 4.2% ??? [110] 8.1% ??? [55] 19.5% ??? [155] 22.6% flag-set? [36] 45.7% [161] 8558(1.3%) 7596(1.1%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 filter [170] 11.2% ---------------------------------------------------------------------------------------- for-loop [120] 4.4% for-loop [109] 4.5% for-loop [154] 31.8% loop! [119] 59.3% [162] 7398(1.1%) 7398(1.1%) update-en-expr ...evelop/src/core/egraph.rkt:212:0 ---------------------------------------------------------------------------------------- ??? [144] 10.6% for-loop [71] 37.5% ??? [156] 51.9% [163] 3388(0.5%) 660(0.1%) ??? ...ects/racket/contract/private/hash.rkt:222:6 check-hash/c [169] 80.5% ---------------------------------------------------------------------------------------- ??? [155] 100.0% [164] 3356(0.5%) 3356(0.5%) assoc-ref ...collects/racket/private/dict.rkt:56:0 ---------------------------------------------------------------------------------------- ??? [159] 100.0% [165] 25372(3.8%) 698(0.1%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [172] 97.2% ---------------------------------------------------------------------------------------- ??? [158] 100.0% [166] 24624(3.7%) 1710(0.3%) ??? ...ects/racket/contract/private/list.rkt:686:7 ??? [171] 81.2% ??? [173] 11.8% ---------------------------------------------------------------------------------------- ??? [160] 100.0% [167] 10308(1.5%) 10308(1.5%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 ---------------------------------------------------------------------------------------- ??? [158] 100.0% [168] 3244(0.5%) 1970(0.3%) for-loop ...acket/contract/private/list.rkt:190:15 ??? [156] 39.3% ---------------------------------------------------------------------------------------- ??? [163] 100.0% [169] 2728(0.4%) 2368(0.4%) check-hash/c ...ket/contract/private/hash.rkt:83:0 flat-contract? [174] 13.2% ---------------------------------------------------------------------------------------- for-loop [96] 39.5% return/no-unsupplied [161] 60.5% [170] 1590(0.2%) 1590(0.2%) filter ...t/collects/racket/private/list.rkt:256:2 ---------------------------------------------------------------------------------------- for-loop [71] 0.6% ??? [44] 1.3% ??? [7] 2.6% ??? [41] 3.0% ??? [160] 7.0% ??? [156] 12.0% ??? [166] 73.5% [171] 27208(4.1%) 22984(3.4%) ??? ...ects/racket/contract/private/guts.rkt:644:8 contract? [179] 7.2% ??? [44] 5.6% dict? [178] 3.4% ---------------------------------------------------------------------------------------- ??? [165] 100.0% [172] 24674(3.7%) 3718(0.6%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [176] 49.0% get/build-late-neg-projection [175] 36.0% ---------------------------------------------------------------------------------------- for-loop [152] 5.4% ??? [95] 18.4% ??? [158] 26.7% ??? [166] 49.5% [173] 5882(0.9%) 3262(0.5%) ??? ...ects/racket/contract/private/prop.rkt:493:4 ??? [177] 44.5% ---------------------------------------------------------------------------------------- check-hash/c [169] 100.0% [174] 360(0.1%) 360(0.1%) flat-contract? .../contract/private/guts.rkt:111:0 ---------------------------------------------------------------------------------------- listof-late-neg-projection [183] 1.0% ??? [181] 12.8% ??? [144] 15.5% for-loop [172] 70.7% [175] 12550(1.9%) 1744(0.3%) get/build-late-neg-projection ...te/guts.rkt:691:0 ??? [180] 73.0% ??? [181] 15.5% listof-late-neg-projection [183] 2.2% ---------------------------------------------------------------------------------------- for-loop [172] 100.0% [176] 12082(1.8%) 12082(1.8%) add-list-context ...ontract/private/list.rkt:752:0 ---------------------------------------------------------------------------------------- ??? [173] 100.0% [177] 2620(0.4%) 674(0.1%) ??? ...lects/racket/contract/private/orc.rkt:83:14 ??? [182] 74.3% ---------------------------------------------------------------------------------------- ??? [171] 46.8% ??? [55] 53.2% [178] 1948(0.3%) 1948(0.3%) dict? ...ollects/racket/private/generic.rkt:146:11 ---------------------------------------------------------------------------------------- ??? [171] 100.0% [179] 1948(0.3%) 1948(0.3%) contract? ...acket/contract/private/guts.rkt:109:0 ---------------------------------------------------------------------------------------- get/build-late-neg-projection [175] 100.0% [180] 10168(1.5%) 2430(0.4%) ??? ...cts/racket/contract/private/prop.rkt:314:12 build-compound-type-name [184] 76.1% ---------------------------------------------------------------------------------------- get/build-late-neg-projection [175] 100.0% [181] 3676(0.6%) 336(0.1%) ??? ...ects/racket/contract/private/hash.rkt:211:2 get/build-late-neg-projection [175] 90.9% ---------------------------------------------------------------------------------------- ??? [177] 100.0% [182] 1946(0.3%) 1946(0.3%) ??? ...ects/racket/contract/private/list.rkt:141:5 ---------------------------------------------------------------------------------------- get/build-late-neg-projection [175] 100.0% [183] 672(0.1%) 302(0.0%) listof-late-neg-projection ...ivate/list.rkt:162:0 get/build-late-neg-projection [175] 55.1% ---------------------------------------------------------------------------------------- contract-struct-name [185] 25.9% ??? [180] 74.1% [184] 7738(1.2%) 6038(0.9%) build-compound-type-name ...private/guts.rkt:448:0 contract-struct-name [185] 43.8% ---------------------------------------------------------------------------------------- build-compound-type-name [184] 100.0% [185] 5074(0.8%) 1700(0.3%) contract-struct-name ...ract/private/prop.rkt:89:0 build-compound-type-name [184] 72.8% ----------------------------------------------------------------------------------------