Profiling results ----------------- Total cpu time observed: 10362ms (out of 10504ms) Number of samples taken: 67 (once every 155ms) ========================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================= ??? [20] 100.0% [1] 10196(98.4%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [4] 100.0% ------------------------------------------------------------------------- ??? [20] 100.0% [2] 6036(58.3%) 0(0.0%) run-improve50 ...ex-support/src/mainloop.rkt:235:0 for-loop [5] 86.8% setup-alt-simplified [7] 5.2% get-final-combination [8] 5.0% loop [26] 3.0% ------------------------------------------------------------------------- match-e [45] 100.0% [3] 622(6.0%) 0(0.0%) for-loop ...plex-support/src/core/ematch.rkt:59:11 for-loop [6] 100.0% ------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [4] 10196(98.4%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [20] 100.0% ------------------------------------------------------------------------- run-improve50 [2] 100.0% [5] 5238(50.6%) 0(0.0%) for-loop ...omplex-support/src/mainloop.rkt:250:10 run-iter! [9] 100.0% ------------------------------------------------------------------------- match-e [45] 20.9% for-loop [3] 79.1% [6] 786(7.6%) 150(1.4%) for-loop ...plex-support/src/core/ematch.rkt:65:37 match-e [45] 80.9% ------------------------------------------------------------------------- run-improve50 [2] 100.0% [7] 314(3.0%) 0(0.0%) setup-alt-simplified ...-support/src/glue.rkt:55:0 simplify-alt [10] 100.0% ------------------------------------------------------------------------- run-improve50 [2] 100.0% [8] 304(2.9%) 0(0.0%) get-final-combination ...rt/src/mainloop.rkt:265:0 extract-alt [11] 100.0% ------------------------------------------------------------------------- for-loop [5] 100.0% [9] 5238(50.6%) 0(0.0%) run-iter! ...omplex-support/src/mainloop.rkt:216:0 simplify! [13] 91.4% finalize-iter! [14] 5.7% localize-error [15] 2.9% ------------------------------------------------------------------------- setup-alt-simplified [7] 100.0% [10] 314(3.0%) 0(0.0%) simplify-alt .../complex-support/src/glue.rkt:88:0 simplify [12] 100.0% ------------------------------------------------------------------------- get-final-combination [8] 100.0% [11] 304(2.9%) 0(0.0%) extract-alt ...e/complex-support/src/glue.rkt:61:0 loop [49] 100.0% ------------------------------------------------------------------------- loop [49] 5.6% simplify-alt [10] 5.8% ??? [20] 88.6% [12] 5406(52.2%) 0(0.0%) simplify ...lex-support/src/core/simplify.rkt:39:0 simplify-expr [17] 51.2% iterate-egraph!5 [21] 31.5% for-loop [18] 17.2% ------------------------------------------------------------------------- run-iter! [9] 100.0% [13] 4788(46.2%) 0(0.0%) simplify! ...omplex-support/src/mainloop.rkt:156:0 for-loop [16] 100.0% ------------------------------------------------------------------------- run-iter! [9] 100.0% [14] 300(2.9%) 0(0.0%) finalize-iter! ...x-support/src/mainloop.rkt:170:0 ??? [75] 100.0% ------------------------------------------------------------------------- run-iter! [9] 100.0% [15] 150(1.4%) 0(0.0%) localize-error ...pport/src/core/localize.rkt:47:0 ??? [19] 100.0% ------------------------------------------------------------------------- simplify! [13] 100.0% [16] 4788(46.2%) 0(0.0%) for-loop ...complex-support/src/mainloop.rkt:160:6 ??? [20] 100.0% ------------------------------------------------------------------------- simplify [12] 100.0% [17] 2770(26.7%) 0(0.0%) simplify-expr ...upport/src/core/simplify.rkt:68:0 iterate-egraph!5 [21] 77.7% loop [22] 11.4% mk-egraph [23] 5.5% debug-print [24] 5.4% ------------------------------------------------------------------------- simplify [12] 100.0% [18] 932(9.0%) 0(0.0%) for-loop ...ex-support/src/core/simplify.rkt:61:12 iterate-egraph!5 [21] 100.0% ------------------------------------------------------------------------- localize-error [15] 100.0% [19] 150(1.4%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:346:33 table-ref [74] 100.0% ------------------------------------------------------------------------- for-loop [16] 15.7% run [4] 41.8% [20] 10362(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 41.8% run-improve50 [2] 21.7% loop [26] 20.9% simplify [12] 15.7% ------------------------------------------------------------------------- for-loop [18] 19.5% simplify [12] 35.6% simplify-expr [17] 44.9% [21] 4788(46.2%) 0(0.0%) iterate-egraph!5 ...ort/src/core/simplify.rkt:95:0 one-iter [25] 96.9% map-enodes [29] 3.1% ------------------------------------------------------------------------- simplify-expr [17] 100.0% [22] 316(3.0%) 0(0.0%) loop ...omplex-support/src/core/simplify.rkt:204:2 pass [27] 100.0% ------------------------------------------------------------------------- simplify-expr [17] 100.0% [23] 152(1.5%) 0(0.0%) mk-egraph ...lex-support/src/core/egraph.rkt:123:0 expr->enode [28] 100.0% ------------------------------------------------------------------------- simplify-expr [17] 100.0% [24] 150(1.4%) 150(1.4%) debug-print ...complex-support/src/debug.rkt:107:0 ------------------------------------------------------------------------- iterate-egraph!5 [21] 100.0% [25] 4638(44.8%) 150(1.4%) one-iter ...ex-support/src/core/simplify.rkt:106:0 loop [30] 57.1% for-loop [32] 36.4% apply-match [36] 3.3% ------------------------------------------------------------------------- run-improve50 [2] 4.0% ??? [20] 96.0% [26] 4506(43.5%) 0(0.0%) loop ...erbie/complex-support/src/points.rkt:159:2 loop [31] 43.6% make-exacts* [38] 36.8% loop [37] 13.4% for-loop [34] 3.6% filter-exacts [35] 2.5% ------------------------------------------------------------------------- loop [22] 100.0% [27] 316(3.0%) 0(0.0%) pass ...omplex-support/src/core/simplify.rkt:194:2 for-loop [33] 100.0% ------------------------------------------------------------------------- mk-egraph [23] 100.0% [28] 152(1.5%) 0(0.0%) expr->enode ...x-support/src/core/egraph.rkt:124:2 mk-enode! [53] 100.0% ------------------------------------------------------------------------- iterate-egraph!5 [21] 100.0% [29] 150(1.4%) 0(0.0%) map-enodes ...ex-support/src/core/egraph.rkt:139:0 loop [49] 100.0% ------------------------------------------------------------------------- one-iter [25] 100.0% [30] 2646(25.5%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [36] 100.0% ------------------------------------------------------------------------- loop [26] 100.0% [31] 1966(19.0%) 0(0.0%) loop ...erbie/complex-support/src/points.rkt:119:2 loop [37] 79.7% make-exacts* [38] 11.2% eval-prog [39] 9.2% ------------------------------------------------------------------------- for-loop [32] 50.0% one-iter [25] 50.0% [32] 1688(16.3%) 760(7.3%) for-loop ...x-support/src/core/simplify.rkt:116:12 for-loop [32] 50.0% match-e [45] 27.5% ------------------------------------------------------------------------- pass [27] 100.0% [33] 316(3.0%) 0(0.0%) for-loop ...x-support/src/core/simplify.rkt:197:29 loop [40] 52.5% argmin [42] 47.5% ------------------------------------------------------------------------- loop [26] 100.0% [34] 164(1.6%) 0(0.0%) for-loop .../complex-support/src/points.rkt:166:24 for-loop [41] 100.0% ------------------------------------------------------------------------- loop [26] 100.0% [35] 112(1.1%) 0(0.0%) filter-exacts ...plex-support/src/points.rkt:134:0 for-loop [43] 100.0% ------------------------------------------------------------------------- one-iter [25] 5.5% loop [30] 94.5% [36] 2800(27.0%) 150(1.4%) apply-match ...support/src/core/simplify.rkt:123:2 for-loop [46] 27.9% mk-enode! [53] 22.4% substitute-e [50] 16.1% match-e [45] 11.4% merge-egraph-nodes! [51] 11.3% loop! [55] 5.5% ------------------------------------------------------------------------- loop [26] 27.9% loop [31] 72.1% [37] 2172(21.0%) 0(0.0%) loop ...erbie/complex-support/src/points.rkt:109:4 map [44] 72.1% loop [49] 27.9% ------------------------------------------------------------------------- loop [31] 11.7% loop [26] 88.3% [38] 1878(18.1%) 0(0.0%) make-exacts* ...mplex-support/src/points.rkt:106:0 map [44] 57.3% loop [49] 42.7% ------------------------------------------------------------------------- loop [31] 100.0% [39] 180(1.7%) 0(0.0%) eval-prog ...omplex-support/src/programs.rkt:145:0 ??? [54] 100.0% ------------------------------------------------------------------------- for-loop [33] 100.0% [40] 166(1.6%) 0(0.0%) loop ...hare/racket/collects/racket/list.rkt:729:4 for-loop [47] 100.0% ------------------------------------------------------------------------- for-loop [34] 100.0% [41] 164(1.6%) 0(0.0%) for-loop .../complex-support/src/points.rkt:167:26 ??? [48] 100.0% ------------------------------------------------------------------------- for-loop [33] 100.0% [42] 150(1.4%) 0(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [47] 100.0% ------------------------------------------------------------------------- filter-exacts [35] 100.0% [43] 112(1.1%) 112(1.1%) for-loop ...e/complex-support/src/points.rkt:137:4 ------------------------------------------------------------------------- make-exacts* [38] 40.7% loop [37] 59.3% [44] 2642(25.5%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 loop [49] 100.0% ------------------------------------------------------------------------- apply-match [36] 10.8% for-loop [6] 31.8% for-loop [32] 57.5% [45] 1248(12.0%) 310(3.0%) match-e ...omplex-support/src/core/ematch.rkt:46:0 for-loop [3] 35.0% ??? [75] 27.3% for-loop [6] 8.8% variable? [52] 4.1% ------------------------------------------------------------------------- apply-match [36] 100.0% [46] 782(7.5%) 0(0.0%) for-loop ...x-support/src/core/simplify.rkt:137:10 mk-enode! [53] 58.8% substitute-e [50] 21.2% merge-egraph-nodes! [51] 19.9% ------------------------------------------------------------------------- argmin [42] 47.5% loop [40] 52.5% [47] 316(3.0%) 0(0.0%) for-loop ...complex-support/src/programs.rkt:196:2 table-ref [74] 100.0% ------------------------------------------------------------------------- for-loop [41] 100.0% [48] 164(1.6%) 164(1.6%) ??? ...herbie/complex-support/src/points.rkt:156:9 ------------------------------------------------------------------------- make-exacts* [38] 0.0% loop [37] 0.0% map-enodes [29] 0.1% loop! [55] 0.9% map [44] 2.6% extract-alt [11] 6.5% loop [49] 89.8% [49] 4670(45.1%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [49] 89.8% simplify [12] 6.5% ??? [99] 2.5% loop! [55] 0.9% ??? [54] 0.1% for-loop [58] 0.1% ------------------------------------------------------------------------- for-loop [46] 26.9% apply-match [36] 73.1% [50] 618(6.0%) 0(0.0%) substitute-e ...x-support/src/core/ematch.rkt:71:0 mk-enode! [53] 100.0% ------------------------------------------------------------------------- for-loop [56] 17.6% for-loop [46] 33.1% apply-match [36] 49.4% [51] 472(4.6%) 0(0.0%) merge-egraph-nodes! ...t/src/core/egraph.rkt:152:0 enode-merge! [57] 33.1% update-leader! [59] 31.8% for-loop [56] 17.6% loop! [55] 17.6% ------------------------------------------------------------------------- match-e [45] 100.0% [52] 152(1.5%) 0(0.0%) variable? ...x-support/src/syntax/syntax.rkt:659:0 ??? [75] 100.0% ------------------------------------------------------------------------- expr->enode [28] 8.2% for-loop [46] 24.8% substitute-e [50] 33.3% apply-match [36] 33.7% [53] 1856(17.9%) 458(4.4%) mk-enode! ...lex-support/src/core/egraph.rkt:101:0 new-enode [60] 67.2% mutable-set [64] 8.1% ------------------------------------------------------------------------- eval-prog [39] 21.7% loop [49] 78.3% [54] 830(8.0%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 table-ref [74] 78.3% ??? [61] 21.7% ------------------------------------------------------------------------- loop [49] 25.9% merge-egraph-nodes! [51] 25.9% apply-match [36] 48.1% [55] 320(3.1%) 0(0.0%) loop! .../complex-support/src/core/enode.rkt:192:2 custom-set-union [68] 48.1% loop [49] 25.9% update-en-expr [62] 25.9% ------------------------------------------------------------------------- merge-egraph-nodes! [51] 100.0% [56] 166(1.6%) 0(0.0%) for-loop ...lex-support/src/core/egraph.rkt:200:10 merge-egraph-nodes! [51] 100.0% ------------------------------------------------------------------------- merge-egraph-nodes! [51] 100.0% [57] 156(1.5%) 0(0.0%) enode-merge! ...x-support/src/core/enode.rkt:129:0 adopt-enode! [63] 100.0% ------------------------------------------------------------------------- loop [49] 100.0% [58] 150(1.4%) 0(0.0%) for-loop ...ex-support/src/core/simplify.rkt:162:2 setfindf [65] 100.0% ------------------------------------------------------------------------- merge-egraph-nodes! [51] 100.0% [59] 150(1.4%) 0(0.0%) update-leader! ...upport/src/core/egraph.rkt:217:0 for-loop [66] 100.0% ------------------------------------------------------------------------- mk-enode! [53] 100.0% [60] 1248(12.0%) 0(0.0%) new-enode ...mplex-support/src/core/enode.rkt:97:0 type-of-enode-expr [67] 100.0% ------------------------------------------------------------------------- ??? [54] 100.0% [61] 180(1.7%) 180(1.7%) ??? ...tract/private/arrow-higher-order.rkt:336:46 ------------------------------------------------------------------------- loop! [55] 100.0% [62] 166(1.6%) 166(1.6%) update-en-expr ...upport/src/core/egraph.rkt:211:0 ------------------------------------------------------------------------- enode-merge! [57] 100.0% [63] 156(1.5%) 0(0.0%) adopt-enode! ...x-support/src/core/enode.rkt:105:0 custom-set-union [68] 100.0% ------------------------------------------------------------------------- mk-enode! [53] 100.0% [64] 150(1.4%) 150(1.4%) mutable-set .../racket/private/set-types.rkt:999:0 ------------------------------------------------------------------------- for-loop [58] 100.0% [65] 150(1.4%) 0(0.0%) setfindf ...e/complex-support/src/common.rkt:172:0 for-loop [69] 100.0% ------------------------------------------------------------------------- update-leader! [59] 100.0% [66] 150(1.4%) 0(0.0%) for-loop ...plex-support/src/core/egraph.rkt:222:6 for-loop [70] 100.0% ------------------------------------------------------------------------- new-enode [60] 100.0% [67] 1248(12.0%) 0(0.0%) type-of-enode-expr ...port/src/core/enode.rkt:68:0 get-sigs [71] 100.0% ------------------------------------------------------------------------- loop! [55] 49.7% adopt-enode! [63] 50.3% [68] 310(3.0%) 156(1.5%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [72] 49.7% ------------------------------------------------------------------------- setfindf [65] 100.0% [69] 150(1.4%) 150(1.4%) for-loop ...e/complex-support/src/common.rkt:173:2 ------------------------------------------------------------------------- for-loop [66] 100.0% [70] 150(1.4%) 0(0.0%) for-loop ...plex-support/src/core/egraph.rkt:223:8 hash-update! [73] 100.0% ------------------------------------------------------------------------- type-of-enode-expr [67] 100.0% [71] 1248(12.0%) 0(0.0%) get-sigs ...complex-support/src/type-check.rkt:5:0 table-ref [74] 38.6% ??? [76] 25.2% ??? [75] 24.2% ...pport/src/common.rkt:46:2 [77] 12.0% ------------------------------------------------------------------------- custom-set-union [68] 100.0% [72] 154(1.5%) 154(1.5%) for-loop ...cts/racket/private/set-types.rkt:152:2 ------------------------------------------------------------------------- for-loop [70] 100.0% [73] 150(1.4%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [78] 100.0% ------------------------------------------------------------------------- ??? [19] 9.4% for-loop [47] 19.8% get-sigs [71] 30.2% ??? [54] 40.7% [74] 1598(15.4%) 164(1.6%) table-ref .../racket/private/norm-define.rkt:53:83 ??? [79] 40.7% ??? [86] 29.3% for-loop [82] 10.4% f88 [84] 9.4% ------------------------------------------------------------------------- variable? [52] 10.9% finalize-iter! [14] 21.6% get-sigs [71] 21.7% match-e [45] 45.8% [75] 1390(13.4%) 470(4.5%) ??? ...contract/private/arrow-val-first.rkt:357:18 hash-has-key? [80] 44.6% for-loop [81] 21.6% ------------------------------------------------------------------------- get-sigs [71] 100.0% [76] 314(3.0%) 162(1.6%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 ??? [83] 48.4% ------------------------------------------------------------------------- get-sigs [71] 100.0% [77] 150(1.4%) 150(1.4%) ...pport/src/common.rkt:46:2 ...e/arr-i.rkt:906:19 ------------------------------------------------------------------------- hash-update! [73] 100.0% [78] 150(1.4%) 0(0.0%) ??? .../complex-support/src/core/egraph.rkt:225:24 for-loop [85] 100.0% ------------------------------------------------------------------------- table-ref [74] 100.0% [79] 650(6.3%) 532(5.1%) ??? .../herbie/complex-support/src/config.rkt:48:0 ??? [89] 18.2% ------------------------------------------------------------------------- ??? [75] 100.0% [80] 620(6.0%) 468(4.5%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [86] 24.5% ------------------------------------------------------------------------- ??? [75] 100.0% [81] 300(2.9%) 0(0.0%) for-loop ...ex-support/src/core/alt-table.rkt:51:2 atab-add-altn [87] 100.0% ------------------------------------------------------------------------- table-ref [74] 100.0% [82] 166(1.6%) 166(1.6%) for-loop ...ie/complex-support/src/common.rkt:51:4 ------------------------------------------------------------------------- ??? [76] 100.0% [83] 152(1.5%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [88] 100.0% ------------------------------------------------------------------------- table-ref [74] 100.0% [84] 150(1.4%) 150(1.4%) f88 ...t/collects/racket/match/compiler.rkt:507:40 ------------------------------------------------------------------------- ??? [78] 100.0% [85] 150(1.4%) 150(1.4%) for-loop ...lex-support/src/core/egraph.rkt:226:26 ------------------------------------------------------------------------- hash-has-key? [80] 24.5% table-ref [74] 75.5% [86] 620(6.0%) 454(4.4%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [91] 26.8% ------------------------------------------------------------------------- for-loop [81] 100.0% [87] 300(2.9%) 0(0.0%) atab-add-altn ...port/src/core/alt-table.rkt:208:0 best-and-tied-at-points [90] 100.0% ------------------------------------------------------------------------- ??? [83] 100.0% [88] 152(1.5%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [92] 100.0% ------------------------------------------------------------------------- ??? [79] 100.0% [89] 118(1.1%) 0(0.0%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [93] 100.0% ------------------------------------------------------------------------- atab-add-altn [87] 100.0% [90] 300(2.9%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [94] 100.0% ------------------------------------------------------------------------- ??? [86] 100.0% [91] 166(1.6%) 166(1.6%) for-loop ...acket/contract/private/list.rkt:743:12 ------------------------------------------------------------------------- ??? [88] 100.0% [92] 152(1.5%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [95] 100.0% ------------------------------------------------------------------------- ??? [89] 100.0% [93] 118(1.1%) 0(0.0%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 ??? [96] 100.0% ------------------------------------------------------------------------- best-and-tied-at-points [90] 100.0% [94] 300(2.9%) 0(0.0%) errors ...bie/complex-support/src/points.rkt:184:0 for-loop [97] 100.0% ------------------------------------------------------------------------- ??? [92] 100.0% [95] 152(1.5%) 0(0.0%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [98] 100.0% ------------------------------------------------------------------------- ??? [93] 100.0% [96] 118(1.1%) 118(1.1%) ??? ...ects/racket/contract/private/prop.rkt:256:4 ------------------------------------------------------------------------- errors [94] 100.0% [97] 300(2.9%) 150(1.4%) for-loop ...e/complex-support/src/points.rkt:187:4 ??? [99] 50.0% ------------------------------------------------------------------------- for-loop [95] 100.0% [98] 152(1.5%) 152(1.5%) add-list-context ...ontract/private/list.rkt:752:0 ------------------------------------------------------------------------- for-loop [97] 4.2% loop [49] 95.8% [99] 3550(34.3%) 0(0.0%) ??? ...rbie/complex-support/src/programs.rkt:151:4 ??? [100] 53.2% ??? [101] 46.8% ------------------------------------------------------------------------- ??? [99] 100.0% [100] 1890(18.2%) 736(7.1%) ??? ...acket/collects/racket/private/kw.rkt:444:14 ??? [103] 54.9% parse-loop70 [104] 6.1% ------------------------------------------------------------------------- ??? [99] 100.0% [101] 1660(16.0%) 0(0.0%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [102] 100.0% ------------------------------------------------------------------------- ??? [101] 100.0% [102] 1660(16.0%) 1546(14.9%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [106] 6.9% ------------------------------------------------------------------------- ??? [100] 100.0% [103] 1038(10.0%) 116(1.1%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfsub [105] 88.8% ------------------------------------------------------------------------- ??? [100] 100.0% [104] 116(1.1%) 116(1.1%) parse-loop70 ...s/racket/match/compiler.rkt:418:15 ------------------------------------------------------------------------- ??? [103] 100.0% [105] 922(8.9%) 708(6.8%) bfsub ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [106] 23.2% ------------------------------------------------------------------------- real->bigfloat [102] 34.8% bfsub [105] 65.2% [106] 328(3.2%) 328(3.2%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 -------------------------------------------------------------------------