Profiling results ----------------- Total cpu time observed: 138204ms (out of 142500ms) Number of samples taken: 315 (once every 439ms) (Hiding functions with self<1.0% and local<2.0%: 2 of 90 hidden) ======================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================= run [10] 49.9% [1] 136468(98.7%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [5] 49.9% loop [11] 44.0% run-improve50 [7] 6.1% ----------------------------------------------------------------------- loop [83] 100.0% [2] 117528(85.0%) 348(0.3%) ??? ...herbie/diff-of-prods/src/programs.rkt:154:4 ??? [6] 99.7% ----------------------------------------------------------------------- eval-prog [78] 14.2% hash-ref! [79] 85.8% [3] 2434(1.8%) 0(0.0%) f6 ...et/collects/racket/match/compiler.rkt:507:40 map [31] 85.8% ??? [8] 14.2% ----------------------------------------------------------------------- ??? [33] 100.0% [4] 2012(1.5%) 0(0.0%) loop .../diff-of-prods/src/core/simplify.rkt:215:2 pass [9] 100.0% ----------------------------------------------------------------------- ??? [1] 100.0% [5] 136134(98.5%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [10] 100.0% ----------------------------------------------------------------------- ??? [2] 100.0% [6] 117180(84.8%) 10480(7.6%) ??? ...acket/collects/racket/private/kw.rkt:444:14 bf-complex-mult [12] 78.7% bf-complex-add [13] 9.9% parse-loop145 [82] 1.5% ----------------------------------------------------------------------- ??? [1] 100.0% [7] 16414(11.9%) 0(0.0%) run-improve50 ...f-of-prods/src/mainloop.rkt:234:0 setup-alt-simplified [14] 58.8% loop [11] 22.3% for-loop [15] 12.7% get-final-combination [17] 4.0% ??? [65] 2.2% ----------------------------------------------------------------------- f6 [3] 11.0% loop [83] 13.3% get-final-combination [17] 20.6% loop [86] 22.8% map [31] 32.3% [8] 3154(2.3%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [33] 100.0% ----------------------------------------------------------------------- loop [4] 100.0% [9] 2012(1.5%) 0(0.0%) pass .../diff-of-prods/src/core/simplify.rkt:205:2 for-loop [16] 100.0% ----------------------------------------------------------------------- profile-thunk16 [5] 100.0% [10] 136134(98.5%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [1] 100.0% ----------------------------------------------------------------------- run-improve50 [7] 3.0% ??? [1] 97.0% [11] 123722(89.5%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:193:2 make-exacts* [26] 55.2% loop [18] 43.5% loop [27] 1.2% ----------------------------------------------------------------------- ??? [6] 100.0% [12] 92266(66.8%) 2672(1.9%) bf-complex-mult ...f-prods/src/bigcomplex.rkt:33:0 bf* [19] 54.0% ??? [25] 37.6% ...higher-order.rkt:346:33 [21] 5.5% ----------------------------------------------------------------------- ??? [6] 100.0% [13] 11594(8.4%) 500(0.4%) bf-complex-add ...of-prods/src/bigcomplex.rkt:22:0 ??? [25] 95.7% ----------------------------------------------------------------------- run-improve50 [7] 100.0% [14] 9648(7.0%) 0(0.0%) setup-alt-simplified ...of-prods/src/glue.rkt:49:0 simplify-alt [20] 100.0% ----------------------------------------------------------------------- run-improve50 [7] 100.0% [15] 2088(1.5%) 0(0.0%) for-loop .../diff-of-prods/src/mainloop.rkt:249:10 run-iter! [22] 100.0% ----------------------------------------------------------------------- pass [9] 100.0% [16] 2012(1.5%) 0(0.0%) for-loop ...-of-prods/src/core/simplify.rkt:208:29 argmin [23] 65.8% loop [24] 34.2% ----------------------------------------------------------------------- run-improve50 [7] 100.0% [17] 650(0.5%) 0(0.0%) get-final-combination ...ds/src/mainloop.rkt:264:0 ??? [8] 100.0% ----------------------------------------------------------------------- loop [11] 100.0% [18] 53864(39.0%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:151:2 loop [27] 56.3% make-exacts* [26] 37.7% eval-prog [78] 5.2% map [31] 0.8% ----------------------------------------------------------------------- bf-complex-mult [12] 100.0% [19] 49848(36.1%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [25] 100.0% ----------------------------------------------------------------------- setup-alt-simplified [14] 100.0% [20] 9648(7.0%) 0(0.0%) simplify-alt ...ie/diff-of-prods/src/glue.rkt:76:0 ??? [33] 100.0% ----------------------------------------------------------------------- bf-complex-mult [12] 100.0% [21] 5090(3.7%) 1202(0.9%) ...higher-order.rkt:346:33 (unknown source) ??? [28] 76.4% ----------------------------------------------------------------------- for-loop [15] 100.0% [22] 2088(1.5%) 0(0.0%) run-iter! .../diff-of-prods/src/mainloop.rkt:215:0 localize-error [29] 100.0% ----------------------------------------------------------------------- for-loop [16] 100.0% [23] 1324(1.0%) 0(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [30] 100.0% ----------------------------------------------------------------------- for-loop [16] 100.0% [24] 688(0.5%) 0(0.0%) loop ...hare/racket/collects/racket/list.rkt:729:4 for-loop [30] 100.0% ----------------------------------------------------------------------- bf-complex-add [13] 11.6% bf-complex-mult [12] 36.3% bf* [19] 52.1% [25] 95598(69.2%) 7536(5.5%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfadd [32] 80.8% bfneg [34] 11.3% ----------------------------------------------------------------------- loop [18] 22.9% loop [11] 77.1% [26] 88630(64.1%) 0(0.0%) make-exacts* ...diff-of-prods/src/points.rkt:138:0 map [31] 49.1% loop [83] 47.6% eval-prog [78] 3.3% ----------------------------------------------------------------------- loop [11] 4.8% loop [18] 95.2% [27] 31862(23.1%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:141:4 map [31] 100.0% ----------------------------------------------------------------------- ...higher-order.rkt:346:33 [21]100.0% [28] 3888(2.8%) 3410(2.5%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [35] 12.3% ----------------------------------------------------------------------- run-iter! [22] 100.0% [29] 2088(1.5%) 0(0.0%) localize-error ...prods/src/core/localize.rkt:47:0 hash-ref! [79] 100.0% ----------------------------------------------------------------------- loop [24] 34.2% argmin [23] 65.8% [30] 2012(1.5%) 0(0.0%) for-loop ...e/diff-of-prods/src/programs.rkt:199:2 ??? [33] 100.0% ----------------------------------------------------------------------- loop [18] 0.6% ??? [37] 0.7% f6 [3] 2.0% loop [27] 40.9% make-exacts* [26] 55.9% [31] 77916(56.4%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 loop [83] 96.8% ??? [37] 2.0% ??? [8] 0.7% loop [86] 0.6% ----------------------------------------------------------------------- ??? [25] 100.0% [32] 77220(55.9%) 53176(38.5%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [87] 31.1% ----------------------------------------------------------------------- for-loop [30] 5.0% ??? [8] 20.6% simplify-alt [20] 34.6% ??? [33] 38.2% [33] 13438(9.7%) 2440(1.8%) ??? ...llects/racket/private/norm-define.rkt:53:83 ??? [33] 38.2% iterate-egraph!13 [36] 33.2% ??? [38] 6.7% loop [4] 5.0% ??? [39] 2.4% ??? [70] 1.6% ----------------------------------------------------------------------- ??? [25] 100.0% [34] 10842(7.8%) 7206(5.2%) bfneg ...-lib/math/private/bigfloat/mpfr.rkt:616:4 ??? [87] 33.5% ----------------------------------------------------------------------- ??? [28] 100.0% [35] 478(0.3%) 478(0.3%) ??? ...ects/racket/contract/private/guts.rkt:644:8 ----------------------------------------------------------------------- ??? [33] 100.0% [36] 8922(6.5%) 0(0.0%) iterate-egraph!13 ...s/src/core/simplify.rkt:102:0 one-iter [40] 100.0% ----------------------------------------------------------------------- map [31] 16.0% loop [83] 84.0% [37] 2088(1.5%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 hash-ref! [79] 94.6% map [31] 5.4% ----------------------------------------------------------------------- ??? [33] 100.0% [38] 1114(0.8%) 420(0.3%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [41] 62.3% ----------------------------------------------------------------------- ??? [33] 100.0% [39] 326(0.2%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:60:15 ??? [87] 100.0% ----------------------------------------------------------------------- iterate-egraph!13 [36] 100.0% [40] 8922(6.5%) 0(0.0%) one-iter ...f-of-prods/src/core/simplify.rkt:113:0 loop [42] 54.8% for-loop [43] 45.2% ----------------------------------------------------------------------- ??? [38] 100.0% [41] 694(0.5%) 326(0.2%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 ??? [44] 53.0% ----------------------------------------------------------------------- one-iter [40] 100.0% [42] 4888(3.5%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [45] 100.0% ----------------------------------------------------------------------- for-loop [43] 50.0% one-iter [40] 50.0% [43] 4034(2.9%) 0(0.0%) for-loop ...-of-prods/src/core/simplify.rkt:123:12 for-loop [43] 50.0% rule-valid-at-type? [46] 45.9% match-e [47] 4.1% ----------------------------------------------------------------------- ??? [41] 100.0% [44] 368(0.3%) 368(0.3%) ??? ...ects/racket/contract/private/prop.rkt:256:4 ----------------------------------------------------------------------- loop [42] 100.0% [45] 4888(3.5%) 0(0.0%) apply-match ...f-prods/src/core/simplify.rkt:130:2 for-loop [48] 92.7% update-leader! [53] 7.3% ----------------------------------------------------------------------- for-loop [43] 100.0% [46] 3700(2.7%) 1344(1.0%) rule-valid-at-type? .../src/syntax/rules.rkt:468:0 for-loop [49] 63.7% ----------------------------------------------------------------------- for-loop [43] 100.0% [47] 334(0.2%) 334(0.2%) match-e .../diff-of-prods/src/core/ematch.rkt:46:0 ----------------------------------------------------------------------- apply-match [45] 100.0% [48] 4532(3.3%) 0(0.0%) for-loop ...-of-prods/src/core/simplify.rkt:145:10 merge-egraph-nodes! [50] 77.3% substitute-e [51] 15.3% loop! [52] 7.4% ----------------------------------------------------------------------- rule-valid-at-type? [46] 100.0% [49] 2356(1.7%) 2356(1.7%) for-loop ...rbie/diff-of-prods/src/common.rkt:94:9 ----------------------------------------------------------------------- for-loop [54] 5.1% merge-egraph-nodes! [50] 7.7% for-loop [48] 87.2% [50] 3502(2.5%) 0(0.0%) merge-egraph-nodes! ...s/src/core/egraph.rkt:152:0 update-leader! [53] 84.6% merge-egraph-nodes! [50] 7.7% for-loop [54] 5.1% enode-merge! [56] 2.6% ----------------------------------------------------------------------- substitute-e [51] 50.0% for-loop [48] 50.0% [51] 694(0.5%) 334(0.2%) substitute-e ...-of-prods/src/core/ematch.rkt:71:0 substitute-e [51] 50.0% mk-enode! [55] 25.9% ----------------------------------------------------------------------- for-loop [48] 100.0% [52] 336(0.2%) 336(0.2%) loop! ...ie/diff-of-prods/src/core/enode.rkt:192:2 ----------------------------------------------------------------------- apply-match [45] 10.2% merge-egraph-nodes! [50] 89.8% [53] 3500(2.5%) 0(0.0%) update-leader! ...-prods/src/core/egraph.rkt:217:0 for-loop [57] 100.0% ----------------------------------------------------------------------- merge-egraph-nodes! [50] 100.0% [54] 360(0.3%) 0(0.0%) for-loop ...ff-of-prods/src/core/egraph.rkt:200:10 merge-egraph-nodes! [50] 100.0% ----------------------------------------------------------------------- substitute-e [51] 100.0% [55] 360(0.3%) 0(0.0%) mk-enode! ...ff-of-prods/src/core/egraph.rkt:101:0 new-enode [58] 100.0% ----------------------------------------------------------------------- merge-egraph-nodes! [50] 100.0% [56] 358(0.3%) 0(0.0%) enode-merge! ...-of-prods/src/core/enode.rkt:129:0 adopt-enode! [59] 100.0% ----------------------------------------------------------------------- update-leader! [53] 100.0% [57] 3500(2.5%) 0(0.0%) for-loop ...iff-of-prods/src/core/egraph.rkt:222:6 for-loop [60] 100.0% ----------------------------------------------------------------------- mk-enode! [55] 100.0% [58] 360(0.3%) 0(0.0%) new-enode ...diff-of-prods/src/core/enode.rkt:97:0 type-of-enode-expr [61] 100.0% ----------------------------------------------------------------------- enode-merge! [56] 100.0% [59] 358(0.3%) 358(0.3%) adopt-enode! ...-of-prods/src/core/enode.rkt:105:0 ----------------------------------------------------------------------- for-loop [57] 100.0% [60] 3500(2.5%) 0(0.0%) for-loop ...iff-of-prods/src/core/egraph.rkt:223:8 hash-update! [62] 100.0% ----------------------------------------------------------------------- new-enode [58] 100.0% [61] 360(0.3%) 0(0.0%) type-of-enode-expr ...rods/src/core/enode.rkt:68:0 get-sigs [63] 100.0% ----------------------------------------------------------------------- for-loop [60] 100.0% [62] 3500(2.5%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [64] 100.0% ----------------------------------------------------------------------- type-of-enode-expr [61] 100.0% [63] 360(0.3%) 0(0.0%) get-sigs ...e/diff-of-prods/src/type-check.rkt:5:0 ??? [65] 100.0% ----------------------------------------------------------------------- hash-update! [62] 100.0% [64] 3500(2.5%) 0(0.0%) ??? ...ie/diff-of-prods/src/core/egraph.rkt:225:24 for-loop [66] 89.8% make-sequence [69] 10.2% ----------------------------------------------------------------------- get-sigs [63] 50.0% run-improve50 [7] 50.0% [65] 720(0.5%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:357:18 atab-add-altns [68] 50.0% hash-has-key? [67] 50.0% ----------------------------------------------------------------------- ??? [64] 100.0% [66] 3142(2.3%) 3142(2.3%) for-loop ...ff-of-prods/src/core/egraph.rkt:226:26 ----------------------------------------------------------------------- ??? [65] 100.0% [67] 360(0.3%) 0(0.0%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [70] 100.0% ----------------------------------------------------------------------- ??? [65] 100.0% [68] 360(0.3%) 0(0.0%) atab-add-altns ...rods/src/core/alt-table.rkt:50:0 atab-add-altn [71] 100.0% ----------------------------------------------------------------------- ??? [64] 100.0% [69] 358(0.3%) 0(0.0%) make-sequence ...ects/racket/private/for.rkt:509:2 ??? [72] 100.0% ----------------------------------------------------------------------- hash-has-key? [67] 36.1% ??? [33] 63.9% [70] 996(0.7%) 360(0.3%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [73] 63.9% ----------------------------------------------------------------------- atab-add-altns [68] 100.0% [71] 360(0.3%) 0(0.0%) atab-add-altn ...rods/src/core/alt-table.rkt:208:0 best-and-tied-at-points [74] 100.0% ----------------------------------------------------------------------- make-sequence [69] 100.0% [72] 358(0.3%) 0(0.0%) ??? ...acket/collects/racket/private/for.rkt:429:7 custom-in-set [75] 100.0% ----------------------------------------------------------------------- ??? [70] 100.0% [73] 636(0.5%) 334(0.2%) for-loop ...acket/contract/private/list.rkt:743:12 for-loop [77] 47.5% ----------------------------------------------------------------------- atab-add-altn [71] 100.0% [74] 360(0.3%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [76] 100.0% ----------------------------------------------------------------------- ??? [72] 100.0% [75] 358(0.3%) 358(0.3%) custom-in-set ...acket/private/set-types.rkt:577:0 ----------------------------------------------------------------------- best-and-tied-at-points [74] 100.0% [76] 360(0.3%) 0(0.0%) errors ...erbie/diff-of-prods/src/points.rkt:218:0 eval-prog [78] 100.0% ----------------------------------------------------------------------- for-loop [73] 100.0% [77] 302(0.2%) 302(0.2%) for-loop ...racket/contract/private/hash.rkt:239:6 ----------------------------------------------------------------------- errors [76] 6.0% loop [18] 46.2% make-exacts* [26] 47.8% [78] 6040(4.4%) 326(0.2%) eval-prog .../diff-of-prods/src/programs.rkt:148:0 hash-ref! [79] 88.9% f6 [3] 5.7% ----------------------------------------------------------------------- localize-error [29] 3.9% eval-prog [78] 9.8% ??? [37] 24.1% loop [83] 62.2% [79] 7456(5.4%) 0(0.0%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [80] 62.9% parse-loop145 [82] 24.1% bigfloat-hash [81] 9.1% f6 [3] 3.9% ----------------------------------------------------------------------- hash-ref! [79] 100.0% [80] 5368(3.9%) 0(0.0%) ??? ...herbie/diff-of-prods/src/programs.rkt:183:5 loop [83] 100.0% ----------------------------------------------------------------------- hash-ref! [79] 100.0% [81] 5008(3.6%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:165:0 sig+exp->bigfloat [84] 57.3% bfcanonicalize [85] 42.7% ----------------------------------------------------------------------- ??? [6] 46.4% hash-ref! [79] 53.6% [82] 3892(2.8%) 1804(1.3%) parse-loop145 .../racket/match/compiler.rkt:418:15 loop [83] 49.8% loop [86] 3.9% ----------------------------------------------------------------------- make-exacts* [26] 0.4% map [31] 0.7% parse-loop145 [82] 0.7% ??? [80] 4.3% loop [83] 93.8% [83] 125404(90.7%) 710(0.5%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [83] 93.8% hash-ref! [79] 4.2% ??? [2] 1.1% ??? [37] 0.7% ??? [8] 0.0% ----------------------------------------------------------------------- bigfloat-hash [81] 100.0% [84] 2872(2.1%) 1816(1.3%) sig+exp->bigfloat ...ivate/bigfloat/mpfr.rkt:385:0 integer->mpz [88] 25.8% ??? [87] 11.0% ----------------------------------------------------------------------- bigfloat-hash [81] 100.0% [85] 2136(1.5%) 2136(1.5%) bfcanonicalize .../private/bigfloat/mpfr.rkt:155:0 ----------------------------------------------------------------------- map [31] 0.1% parse-loop145 [82] 1.0% loop [86] 98.9% [86] 1158(0.8%) 440(0.3%) loop ...cket/collects/racket/private/map.rkt:36:19 loop [86] 98.9% ??? [8] 1.0% ----------------------------------------------------------------------- sig+exp->bigfloat [84] 1.1% ??? [39] 1.2% bfneg [34] 12.8% bfadd [32] 84.9% [87] 28322(20.5%) 28322(20.5%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ----------------------------------------------------------------------- sig+exp->bigfloat [84] 100.0% [88] 740(0.5%) 740(0.5%) integer->mpz ...math/private/bigfloat/gmp.rkt:87:0 -----------------------------------------------------------------------