Profiling results ----------------- Total cpu time observed: 31206ms (out of 31728ms) Number of samples taken: 81 (once every 385ms) ======================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================== ??? [25] 100.0% [1] 30242(96.9%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [5] 100.0% ------------------------------------------------------------------------ ??? [25] 100.0% [2] 13798(44.2%) 0(0.0%) run-improve50 ...f-of-prods/src/mainloop.rkt:234:0 for-loop [6] 92.6% loop [33] 5.1% setup-alt-simplified [9] 2.3% ------------------------------------------------------------------------ ??? [60] 100.0% [3] 11998(38.4%) 0(0.0%) iterate-egraph!13 ...s/src/core/simplify.rkt:102:0 one-iter [7] 100.0% ------------------------------------------------------------------------ ??? [60] 100.0% [4] 706(2.3%) 0(0.0%) loop .../diff-of-prods/src/core/simplify.rkt:215:2 pass [8] 100.0% ------------------------------------------------------------------------ profile-thunk16 [1] 99.0% [5] 30558(97.9%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [25] 100.0% ------------------------------------------------------------------------ run-improve50 [2] 100.0% [6] 12772(40.9%) 0(0.0%) for-loop .../diff-of-prods/src/mainloop.rkt:249:10 run-iter! [10] 100.0% ------------------------------------------------------------------------ iterate-egraph!13 [3] 100.0% [7] 11998(38.4%) 0(0.0%) one-iter ...f-of-prods/src/core/simplify.rkt:113:0 loop [11] 68.5% for-loop [12] 31.5% ------------------------------------------------------------------------ loop [4] 100.0% [8] 706(2.3%) 0(0.0%) pass .../diff-of-prods/src/core/simplify.rkt:205:2 for-loop [13] 100.0% ------------------------------------------------------------------------ run-improve50 [2] 100.0% [9] 322(1.0%) 0(0.0%) setup-alt-simplified ...of-prods/src/glue.rkt:49:0 simplify-alt [14] 100.0% ------------------------------------------------------------------------ for-loop [6] 100.0% [10] 12772(40.9%) 0(0.0%) run-iter! .../diff-of-prods/src/mainloop.rkt:215:0 simplify! [15] 91.9% finalize-iter! [18] 5.4% gen-series! [19] 2.8% ------------------------------------------------------------------------ one-iter [7] 100.0% [11] 8220(26.3%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [16] 100.0% ------------------------------------------------------------------------ for-loop [12] 50.0% one-iter [7] 50.0% [12] 3778(12.1%) 686(2.2%) for-loop ...-of-prods/src/core/simplify.rkt:123:12 for-loop [12] 50.0% match-e [22] 40.9% ------------------------------------------------------------------------ pass [8] 100.0% [13] 706(2.3%) 0(0.0%) for-loop ...-of-prods/src/core/simplify.rkt:208:29 argmin [17] 100.0% ------------------------------------------------------------------------ setup-alt-simplified [9] 100.0% [14] 322(1.0%) 0(0.0%) simplify-alt ...ie/diff-of-prods/src/glue.rkt:76:0 ??? [60] 100.0% ------------------------------------------------------------------------ run-iter! [10] 100.0% [15] 11734(37.6%) 0(0.0%) simplify! .../diff-of-prods/src/mainloop.rkt:155:0 for-loop [20] 100.0% ------------------------------------------------------------------------ loop [11] 100.0% [16] 8220(26.3%) 0(0.0%) apply-match ...f-prods/src/core/simplify.rkt:130:2 for-loop [21] 96.1% match-e [22] 3.9% ------------------------------------------------------------------------ for-loop [13] 100.0% [17] 706(2.3%) 0(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [23] 100.0% ------------------------------------------------------------------------ run-iter! [10] 100.0% [18] 686(2.2%) 0(0.0%) finalize-iter! ...-of-prods/src/mainloop.rkt:169:0 ??? [61] 100.0% ------------------------------------------------------------------------ run-iter! [10] 100.0% [19] 352(1.1%) 0(0.0%) gen-series! ...iff-of-prods/src/mainloop.rkt:129:0 for-loop [24] 100.0% ------------------------------------------------------------------------ simplify! [15] 100.0% [20] 11734(37.6%) 0(0.0%) for-loop ...e/diff-of-prods/src/mainloop.rkt:159:6 ??? [25] 100.0% ------------------------------------------------------------------------ apply-match [16] 100.0% [21] 7898(25.3%) 0(0.0%) for-loop ...-of-prods/src/core/simplify.rkt:145:10 merge-egraph-nodes! [26] 34.6% mk-enode! [34] 26.1% loop! [42] 22.0% substitute-e [28] 12.8% list-member? [29] 4.5% ------------------------------------------------------------------------ apply-match [16] 3.1% for-loop [35] 30.6% for-loop [12] 66.3% [22] 3414(10.9%) 1732(5.6%) match-e .../diff-of-prods/src/core/ematch.rkt:46:0 for-loop [27] 24.8% for-loop [35] 15.4% list-cartesian-product [32] 9.0% ??? [61] 7.0% variable? [31] 3.1% ------------------------------------------------------------------------ argmin [17] 100.0% [23] 706(2.3%) 0(0.0%) for-loop ...e/diff-of-prods/src/programs.rkt:199:2 ??? [60] 100.0% ------------------------------------------------------------------------ gen-series! [19] 100.0% [24] 352(1.1%) 0(0.0%) for-loop ...e/diff-of-prods/src/mainloop.rkt:135:7 taylor-alt [30] 100.0% ------------------------------------------------------------------------ for-loop [20] 12.5% run [5] 43.2% [25] 31206(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 42.2% loop [33] 27.4% run-improve50 [2] 15.8% ??? [60] 14.6% ------------------------------------------------------------------------ merge-egraph-nodes! [26] 6.1% for-loop [37] 6.4% for-loop [21] 87.5% [26] 2730(8.7%) 0(0.0%) merge-egraph-nodes! ...s/src/core/egraph.rkt:152:0 update-leader! [36] 56.8% for-loop [37] 18.6% enode-merge! [40] 12.3% merge-egraph-nodes! [26] 6.1% loop! [42] 6.1% ------------------------------------------------------------------------ match-e [22] 100.0% [27] 1712(5.5%) 332(1.1%) for-loop ...iff-of-prods/src/core/ematch.rkt:59:11 for-loop [35] 80.6% ------------------------------------------------------------------------ for-loop [21] 100.0% [28] 1014(3.2%) 0(0.0%) substitute-e ...-of-prods/src/core/ematch.rkt:71:0 mk-enode! [34] 100.0% ------------------------------------------------------------------------ for-loop [21] 100.0% [29] 358(1.1%) 0(0.0%) list-member? ...llects/racket/private/set.rkt:24:0 member [38] 100.0% ------------------------------------------------------------------------ for-loop [24] 100.0% [30] 352(1.1%) 0(0.0%) taylor-alt ...bie/diff-of-prods/src/glue.rkt:134:0 for-loop [39] 100.0% ------------------------------------------------------------------------ match-e [22] 100.0% [31] 322(1.0%) 0(0.0%) variable? ...-of-prods/src/syntax/syntax.rkt:567:0 ??? [61] 100.0% ------------------------------------------------------------------------ list-cartesian-product [32] 50.0% match-e [22] 50.0% [32] 306(1.0%) 306(1.0%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [32] 50.0% ------------------------------------------------------------------------ run-improve50 [2] 4.0% ??? [25] 96.0% [33] 17464(56.0%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:193:2 loop [41] 51.6% make-exacts* [50] 33.3% loop [49] 11.1% for-loop [45] 4.1% ------------------------------------------------------------------------ substitute-e [28] 33.0% for-loop [21] 67.0% [34] 3076(9.9%) 680(2.2%) mk-enode! ...ff-of-prods/src/core/egraph.rkt:101:0 new-enode [43] 65.9% mutable-set [46] 12.0% ------------------------------------------------------------------------ for-loop [27] 49.4% match-e [22] 50.6% [35] 1738(5.6%) 0(0.0%) for-loop ...iff-of-prods/src/core/ematch.rkt:65:37 match-e [22] 100.0% ------------------------------------------------------------------------ merge-egraph-nodes! [26] 100.0% [36] 1726(5.5%) 0(0.0%) update-leader! ...-prods/src/core/egraph.rkt:217:0 for-loop [44] 80.8% hash-ref! [48] 19.2% ------------------------------------------------------------------------ merge-egraph-nodes! [26] 100.0% [37] 684(2.2%) 0(0.0%) for-loop ...ff-of-prods/src/core/egraph.rkt:200:10 merge-egraph-nodes! [26] 51.2% loop! [42] 48.8% ------------------------------------------------------------------------ list-member? [29] 100.0% [38] 358(1.1%) 358(1.1%) member (unknown source) ------------------------------------------------------------------------ taylor-alt [30] 100.0% [39] 352(1.1%) 0(0.0%) for-loop ...erbie/diff-of-prods/src/glue.rkt:139:6 ??? [56] 100.0% ------------------------------------------------------------------------ merge-egraph-nodes! [26] 100.0% [40] 336(1.1%) 0(0.0%) enode-merge! ...-of-prods/src/core/enode.rkt:129:0 adopt-enode! [47] 100.0% ------------------------------------------------------------------------ loop [33] 100.0% [41] 9006(28.9%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:151:2 loop [49] 75.0% make-exacts* [50] 25.0% ------------------------------------------------------------------------ merge-egraph-nodes! [26] 7.0% for-loop [37] 13.9% loop [59] 36.1% for-loop [21] 43.0% [42] 2402(7.7%) 358(1.1%) loop! ...ie/diff-of-prods/src/core/enode.rkt:192:2 loop [59] 57.0% custom-set-union [53] 21.3% update-en-expr [75] 14.3% ------------------------------------------------------------------------ mk-enode! [34] 100.0% [43] 2028(6.5%) 0(0.0%) new-enode ...diff-of-prods/src/core/enode.rkt:97:0 type-of-enode-expr [51] 100.0% ------------------------------------------------------------------------ update-leader! [36] 100.0% [44] 1394(4.5%) 0(0.0%) for-loop ...iff-of-prods/src/core/egraph.rkt:222:6 for-loop [52] 100.0% ------------------------------------------------------------------------ loop [33] 100.0% [45] 708(2.3%) 0(0.0%) for-loop ...ie/diff-of-prods/src/points.rkt:200:24 for-loop [54] 100.0% ------------------------------------------------------------------------ mk-enode! [34] 100.0% [46] 368(1.2%) 368(1.2%) mutable-set .../racket/private/set-types.rkt:999:0 ------------------------------------------------------------------------ enode-merge! [40] 100.0% [47] 336(1.1%) 0(0.0%) adopt-enode! ...-of-prods/src/core/enode.rkt:105:0 custom-set-union [53] 100.0% ------------------------------------------------------------------------ update-leader! [36] 100.0% [48] 332(1.1%) 332(1.1%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ------------------------------------------------------------------------ loop [33] 22.3% loop [41] 77.7% [49] 8690(27.8%) 0(0.0%) loop .../herbie/diff-of-prods/src/points.rkt:141:4 map [55] 100.0% ------------------------------------------------------------------------ loop [41] 27.9% loop [33] 72.1% [50] 8066(25.8%) 0(0.0%) make-exacts* ...diff-of-prods/src/points.rkt:138:0 map [55] 51.2% loop [59] 48.8% ------------------------------------------------------------------------ new-enode [43] 100.0% [51] 2028(6.5%) 360(1.2%) type-of-enode-expr ...rods/src/core/enode.rkt:68:0 get-sigs [57] 82.2% ------------------------------------------------------------------------ for-loop [44] 100.0% [52] 1394(4.5%) 0(0.0%) for-loop ...iff-of-prods/src/core/egraph.rkt:223:8 hash-update! [58] 100.0% ------------------------------------------------------------------------ adopt-enode! [47] 32.8% loop! [42] 67.2% [53] 1024(3.3%) 1024(3.3%) custom-set-union ...et/private/set-types.rkt:168:0 ------------------------------------------------------------------------ for-loop [45] 100.0% [54] 708(2.3%) 0(0.0%) for-loop ...ie/diff-of-prods/src/points.rkt:201:26 ??? [56] 100.0% ------------------------------------------------------------------------ make-exacts* [50] 32.2% loop [49] 67.8% [55] 12818(41.1%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 loop [59] 91.5% ??? [88] 8.5% ------------------------------------------------------------------------ ??? [60] 9.6% for-loop [39] 9.6% for-loop [54] 38.5% loop [59] 42.3% [56] 1838(5.9%) 300(1.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [60] 74.1% approximate9 [64] 9.6% ------------------------------------------------------------------------ type-of-enode-expr [51] 100.0% [57] 1668(5.3%) 0(0.0%) get-sigs ...e/diff-of-prods/src/type-check.rkt:5:0 ??? [63] 40.2% ??? [61] 21.6% ...prods/src/common.rkt:47:2 [65] 19.5% ??? [60] 18.7% ------------------------------------------------------------------------ for-loop [52] 100.0% [58] 1394(4.5%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [62] 100.0% ------------------------------------------------------------------------ make-exacts* [50] 0.1% map [55] 1.6% loop! [42] 4.1% loop [59] 94.1% [59] 17738(56.8%) 668(2.1%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [59] 94.1% loop! [42] 3.6% ??? [88] 1.7% ??? [56] 0.0% ------------------------------------------------------------------------ get-sigs [57] 0.7% ??? [60] 1.1% simplify-alt [14] 1.1% for-loop [23] 1.7% ??? [56] 10.8% for-loop [66] 42.3% ??? [25] 42.3% [60] 14242(45.6%) 1182(3.8%) ??? ...llects/racket/private/norm-define.rkt:53:83 for-loop [66] 42.3% iterate-egraph!13 [3] 41.8% return/no-unsupplied [68] 3.3% ??? [56] 2.5% loop [4] 1.7% ??? [60] 1.1% ??? [77] 0.7% ------------------------------------------------------------------------ variable? [31] 15.4% get-sigs [57] 17.2% finalize-iter! [18] 32.8% match-e [22] 34.5% [61] 2090(6.7%) 688(2.2%) ??? ...contract/private/arrow-val-first.rkt:357:18 atab-add-altns [71] 17.2% hash-has-key? [70] 17.2% ??? [72] 17.0% for-loop [74] 15.6% ------------------------------------------------------------------------ hash-update! [58] 100.0% [62] 1394(4.5%) 0(0.0%) ??? ...ie/diff-of-prods/src/core/egraph.rkt:225:24 for-loop [67] 100.0% ------------------------------------------------------------------------ get-sigs [57] 100.0% [63] 670(2.1%) 0(0.0%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 ??? [69] 100.0% ------------------------------------------------------------------------ ??? [56] 100.0% [64] 352(1.1%) 0(0.0%) approximate9 ...-of-prods/src/core/taylor.rkt:12:0 loop [73] 100.0% ------------------------------------------------------------------------ get-sigs [57] 100.0% [65] 326(1.0%) 326(1.0%) ...prods/src/common.rkt:47:2 ...e/arr-i.rkt:906:19 ------------------------------------------------------------------------ ??? [60] 100.0% [66] 12382(39.7%) 0(0.0%) for-loop ...f-of-prods/src/core/simplify.rkt:63:12 ??? [60] 100.0% ------------------------------------------------------------------------ ??? [62] 100.0% [67] 1394(4.5%) 1034(3.3%) for-loop ...ff-of-prods/src/core/egraph.rkt:226:26 update-en-expr [75] 25.8% ------------------------------------------------------------------------ ??? [60] 100.0% [68] 710(2.3%) 350(1.1%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 filter [79] 50.7% ------------------------------------------------------------------------ ??? [63] 100.0% [69] 670(2.1%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [78] 100.0% ------------------------------------------------------------------------ ??? [61] 100.0% [70] 360(1.2%) 0(0.0%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [77] 100.0% ------------------------------------------------------------------------ ??? [61] 100.0% [71] 360(1.2%) 0(0.0%) atab-add-altns ...rods/src/core/alt-table.rkt:50:0 atab-add-altn [76] 100.0% ------------------------------------------------------------------------ ??? [61] 100.0% [72] 356(1.1%) 356(1.1%) ??? ...ects/racket/contract/private/guts.rkt:644:8 ------------------------------------------------------------------------ approximate9 [64] 100.0% [73] 352(1.1%) 0(0.0%) loop ...bie/diff-of-prods/src/core/taylor.rkt:86:4 iterate-diagonal [80] 100.0% ------------------------------------------------------------------------ ??? [61] 100.0% [74] 326(1.0%) 0(0.0%) for-loop ...f-of-prods/src/core/alt-table.rkt:51:2 atab-add-altn [76] 100.0% ------------------------------------------------------------------------ for-loop [67] 34.4% loop! [42] 65.6% [75] 1048(3.4%) 1048(3.4%) update-en-expr ...-prods/src/core/egraph.rkt:211:0 ------------------------------------------------------------------------ for-loop [74] 47.5% atab-add-altns [71] 52.5% [76] 686(2.2%) 0(0.0%) atab-add-altn ...rods/src/core/alt-table.rkt:208:0 best-and-tied-at-points [81] 100.0% ------------------------------------------------------------------------ ??? [60] 46.4% hash-has-key? [70] 53.6% [77] 672(2.2%) 312(1.0%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [83] 53.6% ------------------------------------------------------------------------ ??? [69] 100.0% [78] 670(2.1%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [82] 100.0% ------------------------------------------------------------------------ return/no-unsupplied [68] 100.0% [79] 360(1.2%) 360(1.2%) filter ...t/collects/racket/private/list.rkt:256:2 ------------------------------------------------------------------------ loop [73] 100.0% [80] 352(1.1%) 352(1.1%) iterate-diagonal ...rods/src/core/taylor.rkt:153:0 ------------------------------------------------------------------------ atab-add-altn [76] 100.0% [81] 686(2.2%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [84] 100.0% ------------------------------------------------------------------------ ??? [78] 100.0% [82] 670(2.1%) 334(1.1%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [85] 50.1% ------------------------------------------------------------------------ ??? [77] 100.0% [83] 360(1.2%) 360(1.2%) for-loop ...acket/contract/private/list.rkt:743:12 ------------------------------------------------------------------------ best-and-tied-at-points [81] 100.0% [84] 686(2.2%) 0(0.0%) errors ...erbie/diff-of-prods/src/points.rkt:218:0 for-loop [86] 100.0% ------------------------------------------------------------------------ ??? [82] 100.0% [85] 336(1.1%) 0(0.0%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [87] 100.0% ------------------------------------------------------------------------ errors [84] 100.0% [86] 686(2.2%) 0(0.0%) for-loop ...bie/diff-of-prods/src/points.rkt:221:4 ??? [88] 100.0% ------------------------------------------------------------------------ for-loop [85] 100.0% [87] 336(1.1%) 336(1.1%) add-list-context ...ontract/private/list.rkt:752:0 ------------------------------------------------------------------------ for-loop [86] 4.1% map [55] 6.5% loop [59] 89.4% [88] 16664(53.4%) 1436(4.6%) ??? ...herbie/diff-of-prods/src/programs.rkt:154:4 ??? [89] 56.0% ??? [90] 35.3% ------------------------------------------------------------------------ ??? [88] 100.0% [89] 9340(29.9%) 4062(13.0%) ??? ...acket/collects/racket/private/kw.rkt:444:14 bf* [92] 43.1% ??? [93] 13.4% ------------------------------------------------------------------------ ??? [88] 100.0% [90] 5888(18.9%) 0(0.0%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [91] 100.0% ------------------------------------------------------------------------ ??? [90] 100.0% [91] 5888(18.9%) 4202(13.5%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [94] 28.6% ------------------------------------------------------------------------ ??? [89] 100.0% [92] 4030(12.9%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [93] 100.0% ------------------------------------------------------------------------ ??? [89] 23.6% bf* [92] 76.4% [93] 5278(16.9%) 422(1.4%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfmul [95] 92.0% ------------------------------------------------------------------------ real->bigfloat [91] 100.0% [94] 1686(5.4%) 1686(5.4%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ------------------------------------------------------------------------ ??? [93] 100.0% [95] 4856(15.6%) 4856(15.6%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ------------------------------------------------------------------------