Profiling results ----------------- Total cpu time observed: 28680ms (out of 29364ms) Number of samples taken: 69 (once every 416ms) ================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ================================================================= run [12] 49.4% [1] 28052(97.8%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [6] 49.4% loop [13] 33.6% run-improve50 [7] 16.9% ----------------------------------------------------------------- ??? [63] 100.0% [2] 9046(31.5%) 0(0.0%) iterate-egraph!13 ...s/src/core/simplify.rkt:102:0 one-iter [8] 100.0% ----------------------------------------------------------------- for-loop [28] 14.7% loop [36] 85.3% [3] 2194(7.6%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [63] 100.0% ----------------------------------------------------------------- match-e [26] 100.0% [4] 1304(4.5%) 0(0.0%) for-loop ...iff-of-prods/src/core/ematch.rkt:59:11 for-loop [9] 63.0% list-cartesian-product [10] 24.3% filter [11] 12.7% ----------------------------------------------------------------- hash-ref! [47] 100.0% [5] 352(1.2%) 0(0.0%) ??? ...herbie/diff-of-prods/src/programs.rkt:183:5 loop [36] 100.0% ----------------------------------------------------------------- ??? [1] 100.0% [6] 27726(96.7%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [12] 100.0% ----------------------------------------------------------------- ??? [1] 100.0% [7] 9178(32.0%) 0(0.0%) run-improve50 ...f-of-prods/src/mainloop.rkt:234:0 setup-alt-simplified [14] 91.7% loop [13] 4.3% get-final-combination [17] 4.0% ----------------------------------------------------------------- iterate-egraph!13 [2] 100.0% [8] 9046(31.5%) 0(0.0%) one-iter ...f-of-prods/src/core/simplify.rkt:113:0 loop [15] 92.1% for-loop [16] 7.9% ----------------------------------------------------------------- for-loop [4] 100.0% [9] 1304(4.5%) 0(0.0%) for-loop ...iff-of-prods/src/core/ematch.rkt:65:37 match-e [26] 100.0% ----------------------------------------------------------------- list-cartesian-product [10] 50.0% for-loop [4] 50.0% [10] 634(2.2%) 634(2.2%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [10] 50.0% ----------------------------------------------------------------- for-loop [4] 100.0% [11] 332(1.2%) 332(1.2%) filter ...t/collects/racket/private/list.rkt:256:2 ----------------------------------------------------------------- profile-thunk16 [6] 100.0% [12] 27726(96.7%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [1] 100.0% ----------------------------------------------------------------- run-improve50 [7] 2.1% ??? [1] 97.9% [13] 19270(67.2%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:193:2 make-exacts* [23] 52.2% loop [18] 44.1% loop [25] 2.1% for-loop [22] 1.7% ----------------------------------------------------------------- run-improve50 [7] 100.0% [14] 8418(29.4%) 0(0.0%) setup-alt-simplified ...of-prods/src/glue.rkt:49:0 simplify-alt [19] 100.0% ----------------------------------------------------------------- one-iter [8] 100.0% [15] 8334(29.1%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [20] 100.0% ----------------------------------------------------------------- for-loop [16] 50.0% one-iter [8] 50.0% [16] 712(2.5%) 0(0.0%) for-loop ...-of-prods/src/core/simplify.rkt:123:12 for-loop [16] 50.0% match-e [26] 50.0% ----------------------------------------------------------------- run-improve50 [7] 100.0% [17] 364(1.3%) 0(0.0%) get-final-combination ...ds/src/mainloop.rkt:264:0 extract-alt [21] 100.0% ----------------------------------------------------------------- loop [13] 100.0% [18] 8496(29.6%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:151:2 loop [25] 50.1% make-exacts* [23] 49.9% ----------------------------------------------------------------- setup-alt-simplified [14] 100.0% [19] 8418(29.4%) 0(0.0%) simplify-alt ...ie/diff-of-prods/src/glue.rkt:76:0 ??? [63] 100.0% ----------------------------------------------------------------- loop [15] 100.0% [20] 8334(29.1%) 0(0.0%) apply-match ...f-prods/src/core/simplify.rkt:130:2 for-loop [24] 84.0% match-e [26] 11.7% update-leader! [38] 4.4% ----------------------------------------------------------------- get-final-combination [17] 100.0% [21] 364(1.3%) 0(0.0%) extract-alt ...bie/diff-of-prods/src/glue.rkt:55:0 argmins [27] 100.0% ----------------------------------------------------------------- loop [13] 100.0% [22] 322(1.1%) 0(0.0%) for-loop ...ie/diff-of-prods/src/points.rkt:200:24 for-loop [28] 100.0% ----------------------------------------------------------------- loop [18] 29.6% loop [13] 70.4% [23] 14294(49.8%) 0(0.0%) make-exacts* ...diff-of-prods/src/points.rkt:138:0 map [29] 59.1% loop [36] 38.4% eval-prog [34] 2.5% ----------------------------------------------------------------- apply-match [20] 100.0% [24] 6998(24.4%) 0(0.0%) for-loop ...-of-prods/src/core/simplify.rkt:145:10 loop! [43] 37.2% merge-egraph-nodes! [30] 19.4% mk-enode! [37] 19.3% list-member? [31] 14.7% substitute-e [32] 9.5% ----------------------------------------------------------------- loop [13] 8.5% loop [18] 91.5% [25] 4654(16.2%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:141:4 map [29] 92.0% loop [36] 8.0% ----------------------------------------------------------------- apply-match [20] 25.5% for-loop [16] 32.4% for-loop [9] 42.1% [26] 1684(5.9%) 380(1.3%) match-e .../diff-of-prods/src/core/ematch.rkt:46:0 for-loop [4] 70.7% variable? [35] 6.7% ----------------------------------------------------------------- extract-alt [21] 100.0% [27] 364(1.3%) 0(0.0%) argmins ...rbie/diff-of-prods/src/common.rkt:145:0 composed [33] 100.0% ----------------------------------------------------------------- for-loop [22] 100.0% [28] 322(1.1%) 0(0.0%) for-loop ...ie/diff-of-prods/src/points.rkt:201:26 ??? [3] 100.0% ----------------------------------------------------------------- loop [25] 33.6% make-exacts* [23] 66.4% [29] 12732(44.4%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 loop [36] 100.0% ----------------------------------------------------------------- merge-egraph-nodes! [30] 29.9% for-loop [24] 70.1% [30] 1356(4.7%) 0(0.0%) merge-egraph-nodes! ...s/src/core/egraph.rkt:152:0 merge-egraph-nodes! [30] 29.9% for-loop [41] 24.2% loop! [43] 24.2% update-leader! [38] 21.7% ----------------------------------------------------------------- for-loop [24] 100.0% [31] 1026(3.6%) 0(0.0%) list-member? ...llects/racket/private/set.rkt:24:0 loop [39] 100.0% ----------------------------------------------------------------- for-loop [24] 100.0% [32] 662(2.3%) 326(1.1%) substitute-e ...-of-prods/src/core/ematch.rkt:71:0 mk-enode! [37] 50.8% ----------------------------------------------------------------- argmins [27] 100.0% [33] 364(1.3%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 errors [40] 100.0% ----------------------------------------------------------------- make-exacts* [23] 100.0% [34] 352(1.2%) 0(0.0%) eval-prog .../diff-of-prods/src/programs.rkt:148:0 hash-ref! [47] 100.0% ----------------------------------------------------------------- match-e [26] 100.0% [35] 338(1.2%) 0(0.0%) variable? ...-of-prods/src/syntax/syntax.rkt:567:0 ??? [66] 100.0% ----------------------------------------------------------------- loop [25] 0.0% make-exacts* [23] 0.1% loop! [43] 0.4% map [29] 0.4% ??? [5] 1.7% loop [36] 97.4% [36] 20264(70.7%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [36] 97.4% hash-ref! [47] 1.7% ??? [42] 0.4% loop! [43] 0.4% ??? [3] 0.0% ----------------------------------------------------------------- substitute-e [32] 19.9% for-loop [24] 80.1% [37] 1688(5.9%) 0(0.0%) mk-enode! ...ff-of-prods/src/core/egraph.rkt:101:0 new-enode [44] 100.0% ----------------------------------------------------------------- apply-match [20] 34.2% merge-egraph-nodes! [30] 65.8% [38] 1064(3.7%) 0(0.0%) update-leader! ...-prods/src/core/egraph.rkt:217:0 for-loop [45] 100.0% ----------------------------------------------------------------- list-member? [31] 100.0% [39] 1026(3.6%) 1026(3.6%) loop (unknown source) ----------------------------------------------------------------- composed [33] 100.0% [40] 364(1.3%) 0(0.0%) errors ...erbie/diff-of-prods/src/points.rkt:218:0 for-loop [46] 100.0% ----------------------------------------------------------------- merge-egraph-nodes! [30] 100.0% [41] 328(1.1%) 0(0.0%) for-loop ...ff-of-prods/src/core/egraph.rkt:200:10 loop! [43] 100.0% ----------------------------------------------------------------- loop [36] 100.0% [42] 16724(58.3%) 0(0.0%) ??? ...herbie/diff-of-prods/src/programs.rkt:154:4 ??? [48] 70.5% ??? [49] 29.5% ----------------------------------------------------------------- merge-egraph-nodes! [30] 3.4% for-loop [41] 5.0% loop [36] 21.9% for-loop [24] 69.7% [43] 3258(11.4%) 934(3.3%) loop! ...ie/diff-of-prods/src/core/enode.rkt:192:2 custom-set-union [51] 46.2% loop [36] 21.9% set [53] 8.4% ----------------------------------------------------------------- mk-enode! [37] 100.0% [44] 1688(5.9%) 0(0.0%) new-enode ...diff-of-prods/src/core/enode.rkt:97:0 type-of-enode-expr [50] 100.0% ----------------------------------------------------------------- update-leader! [38] 100.0% [45] 1064(3.7%) 0(0.0%) for-loop ...iff-of-prods/src/core/egraph.rkt:222:6 for-loop [52] 100.0% ----------------------------------------------------------------- errors [40] 100.0% [46] 364(1.3%) 364(1.3%) for-loop ...bie/diff-of-prods/src/points.rkt:221:4 ----------------------------------------------------------------- eval-prog [34] 33.3% loop [36] 66.7% [47] 352(1.2%) 0(0.0%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [5] 66.7% bigfloat-hash [54] 33.3% ----------------------------------------------------------------- ??? [42] 100.0% [48] 11798(41.1%) 1114(3.9%) ??? ...acket/collects/racket/private/kw.rkt:444:14 ??? [70] 53.4% bffma [56] 22.3% bf* [64] 8.9% ??? [61] 3.0% parse-loop145 [62] 2.9% ----------------------------------------------------------------- ??? [42] 100.0% [49] 4926(17.2%) 0(0.0%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [55] 100.0% ----------------------------------------------------------------- new-enode [44] 100.0% [50] 1688(5.9%) 0(0.0%) type-of-enode-expr ...rods/src/core/enode.rkt:68:0 get-sigs [57] 100.0% ----------------------------------------------------------------- loop! [43] 100.0% [51] 1668(5.8%) 654(2.3%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [59] 60.8% ----------------------------------------------------------------- for-loop [45] 100.0% [52] 1064(3.7%) 0(0.0%) for-loop ...iff-of-prods/src/core/egraph.rkt:223:8 hash-update! [58] 100.0% ----------------------------------------------------------------- loop! [43] 100.0% [53] 656(2.3%) 656(2.3%) set ...collects/racket/private/set-types.rkt:981:0 ----------------------------------------------------------------- hash-ref! [47] 100.0% [54] 352(1.2%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:165:0 bfcanonicalize [60] 100.0% ----------------------------------------------------------------- ??? [49] 100.0% [55] 4926(17.2%) 2832(9.9%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [80] 42.5% ----------------------------------------------------------------- ??? [48] 100.0% [56] 2636(9.2%) 0(0.0%) bffma ...diff-of-prods/src/syntax/syntax.rkt:254:0 bf* [64] 100.0% ----------------------------------------------------------------- type-of-enode-expr [50] 100.0% [57] 1688(5.9%) 0(0.0%) get-sigs ...e/diff-of-prods/src/type-check.rkt:5:0 ??? [66] 41.0% ??? [68] 39.1% ??? [63] 19.9% ----------------------------------------------------------------- for-loop [52] 100.0% [58] 1064(3.7%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [65] 100.0% ----------------------------------------------------------------- custom-set-union [51] 100.0% [59] 1014(3.5%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [67] 100.0% ----------------------------------------------------------------- bigfloat-hash [54] 100.0% [60] 352(1.2%) 352(1.2%) bfcanonicalize .../private/bigfloat/mpfr.rkt:155:0 ----------------------------------------------------------------- ??? [48] 100.0% [61] 350(1.2%) 0(0.0%) ??? ...ects/racket/contract/private/prop.rkt:493:4 ??? [69] 100.0% ----------------------------------------------------------------- ??? [48] 100.0% [62] 348(1.2%) 348(1.2%) parse-loop145 .../racket/match/compiler.rkt:418:15 ----------------------------------------------------------------- get-sigs [57] 1.0% ??? [3] 19.5% simplify-alt [19] 36.9% ??? [63] 39.7% [63] 11240(39.2%) 2236(7.8%) ??? ...llects/racket/private/norm-define.rkt:53:83 ??? [63] 39.7% iterate-egraph!13 [2] 39.7% ??? [75] 2.6% ----------------------------------------------------------------- ??? [48] 28.5% bffma [56] 71.5% [64] 3686(12.9%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [70] 100.0% ----------------------------------------------------------------- hash-update! [58] 100.0% [65] 1064(3.7%) 0(0.0%) ??? ...ie/diff-of-prods/src/core/egraph.rkt:225:24 for-loop [71] 100.0% ----------------------------------------------------------------- variable? [35] 32.8% get-sigs [57] 67.2% [66] 1030(3.6%) 338(1.2%) ??? ...contract/private/arrow-val-first.rkt:357:18 hash-has-key? [72] 67.2% ----------------------------------------------------------------- for-loop [59] 100.0% [67] 1014(3.5%) 1014(3.5%) for-loop ...cts/racket/private/set-types.rkt:178:5 ----------------------------------------------------------------- get-sigs [57] 100.0% [68] 660(2.3%) 0(0.0%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 for-loop [73] 54.5% ??? [74] 45.5% ----------------------------------------------------------------- ??? [61] 100.0% [69] 350(1.2%) 350(1.2%) ??? ...lects/racket/contract/private/orc.rkt:83:14 ----------------------------------------------------------------- bf* [64] 36.9% ??? [48] 63.1% [70] 9986(34.8%) 328(1.1%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfmul [76] 96.7% ----------------------------------------------------------------- ??? [65] 100.0% [71] 1064(3.7%) 1064(3.7%) for-loop ...ff-of-prods/src/core/egraph.rkt:226:26 ----------------------------------------------------------------- ??? [66] 100.0% [72] 692(2.4%) 0(0.0%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [77] 100.0% ----------------------------------------------------------------- ??? [68] 100.0% [73] 360(1.3%) 0(0.0%) for-loop ...racket/contract/private/hash.rkt:239:6 ??? [78] 100.0% ----------------------------------------------------------------- ??? [68] 100.0% [74] 300(1.0%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [79] 100.0% ----------------------------------------------------------------- ??? [63] 100.0% [75] 294(1.0%) 294(1.0%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ----------------------------------------------------------------- ??? [70] 100.0% [76] 9658(33.7%) 7196(25.1%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [80] 25.5% ----------------------------------------------------------------- hash-has-key? [72] 100.0% [77] 692(2.4%) 356(1.2%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [82] 48.6% ----------------------------------------------------------------- for-loop [73] 100.0% [78] 360(1.3%) 0(0.0%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [81] 100.0% ----------------------------------------------------------------- ??? [74] 100.0% [79] 300(1.0%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [83] 100.0% ----------------------------------------------------------------- real->bigfloat [55] 46.0% bfmul [76] 54.0% [80] 4556(15.9%) 4556(15.9%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ----------------------------------------------------------------- ??? [78] 100.0% [81] 360(1.3%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:686:7 ??? [84] 100.0% ----------------------------------------------------------------- ??? [77] 100.0% [82] 336(1.2%) 336(1.2%) for-loop ...acket/contract/private/list.rkt:743:12 ----------------------------------------------------------------- ??? [79] 100.0% [83] 300(1.0%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [85] 100.0% ----------------------------------------------------------------- ??? [81] 100.0% [84] 360(1.3%) 360(1.3%) ??? ...ects/racket/contract/private/guts.rkt:644:8 ----------------------------------------------------------------- ??? [83] 100.0% [85] 300(1.0%) 0(0.0%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [86] 100.0% ----------------------------------------------------------------- for-loop [85] 100.0% [86] 300(1.0%) 300(1.0%) add-list-context ...ontract/private/list.rkt:752:0 -----------------------------------------------------------------