Profiling results ----------------- Total cpu time observed: 9079ms (out of 9299ms) Number of samples taken: 32 (once every 284ms) ================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ================================================================== [1] 9079(100.0%) 0(0.0%) ??? ...are/racket/collects/racket/engine.rkt:42:24 profile-thunk [2] 100.0% ------------------------------------------------------------------ ??? [1] 100.0% [2] 9079(100.0%) 0(0.0%) profile-thunk ...ket/pkgs/profile-lib/main.rkt:9:0 ??? [3] 100.0% ------------------------------------------------------------------ profile-thunk [2] 100.0% [3] 9079(100.0%) 0(0.0%) ??? ...hare/racket/pkgs/profile-lib/main.rkt:40:10 ??? [4] 100.0% ------------------------------------------------------------------ ??? [3] 100.0% [4] 9079(100.0%) 0(0.0%) ??? ...ies/herbie/alt-testing/src/sandbox.rkt:49:6 run-improve [5] 67.9% prepare-points [6] 32.1% ------------------------------------------------------------------ ??? [4] 100.0% [5] 6168(67.9%) 0(0.0%) run-improve .../alt-testing/src/mainloop.rkt:225:0 run-iter! [7] 100.0% ------------------------------------------------------------------ ??? [4] 100.0% [6] 2910(32.1%) 0(0.0%) prepare-points ...alt-testing/src/points.rkt:214:0 loop [10] 61.1% make-exacts [8] 38.9% ------------------------------------------------------------------ run-improve [5] 100.0% [7] 6168(67.9%) 0(0.0%) run-iter! ...ie/alt-testing/src/mainloop.rkt:206:0 simplify! [9] 90.9% choose-best-alt! [11] 4.5% finalize-iter! [12] 4.5% ------------------------------------------------------------------ prepare-points [6] 100.0% [8] 1132(12.5%) 0(0.0%) make-exacts ...ie/alt-testing/src/points.rkt:156:0 loop [10] 75.5% make-exacts* [13] 24.5% ------------------------------------------------------------------ run-iter! [7] 100.0% [9] 5610(61.8%) 0(0.0%) simplify! ...ie/alt-testing/src/mainloop.rkt:146:0 ??? [14] 100.0% ------------------------------------------------------------------ make-exacts [8] 32.5% prepare-points [6] 67.5% [10] 2632(29.0%) 0(0.0%) loop ...es/herbie/alt-testing/src/points.rkt:141:4 loop [15] 100.0% ------------------------------------------------------------------ run-iter! [7] 100.0% [11] 280(3.1%) 0(0.0%) choose-best-alt! ...testing/src/mainloop.rkt:106:0 ??? [52] 100.0% ------------------------------------------------------------------ run-iter! [7] 100.0% [12] 279(3.1%) 0(0.0%) finalize-iter! ...t-testing/src/mainloop.rkt:160:0 ??? [52] 100.0% ------------------------------------------------------------------ make-exacts [8] 100.0% [13] 278(3.1%) 0(0.0%) make-exacts* ...e/alt-testing/src/points.rkt:138:0 eval-prog [16] 100.0% ------------------------------------------------------------------ simplify! [9] 100.0% [14] 5610(61.8%) 0(0.0%) ??? ...s/herbie/alt-testing/src/mainloop.rkt:152:8 simplify [17] 100.0% ------------------------------------------------------------------ ??? [64] 0.0% loop [10] 0.3% loop! [34] 0.8% loop [15] 98.8% [15] 3468(38.2%) 0(0.0%) loop .../private/map.rkt:40:19 loop [15] 98.8% loop! [34] 0.8% ??? [64] 0.3% ??? [65] 0.0% ------------------------------------------------------------------ make-exacts* [13] 100.0% [16] 278(3.1%) 0(0.0%) eval-prog ...ie/alt-testing/src/programs.rkt:150:0 compile [18] 100.0% ------------------------------------------------------------------ ??? [14] 100.0% [17] 5610(61.8%) 0(0.0%) simplify ...alt-testing/src/core/simplify.rkt:43:0 ??? [19] 100.0% ------------------------------------------------------------------ eval-prog [16] 100.0% [18] 278(3.1%) 0(0.0%) compile ...rbie/alt-testing/src/programs.rkt:186:0 hash-ref! [20] 100.0% ------------------------------------------------------------------ simplify [17] 100.0% [19] 5610(61.8%) 0(0.0%) ??? ...rbie/alt-testing/src/core/simplify.rkt:77:0 iterate-egraph! [21] 94.9% loop [22] 5.1% ------------------------------------------------------------------ compile [18] 100.0% [20] 278(3.1%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:377:2 bigfloat-hash [23] 100.0% ------------------------------------------------------------------ ??? [19] 100.0% [21] 5326(58.7%) 0(0.0%) iterate-egraph! ...ing/src/core/simplify.rkt:105:0 one-iter [24] 100.0% ------------------------------------------------------------------ ??? [19] 100.0% [22] 284(3.1%) 0(0.0%) loop ...ie/alt-testing/src/core/simplify.rkt:237:2 loop [25] 100.0% ------------------------------------------------------------------ hash-ref! [20] 100.0% [23] 278(3.1%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:168:0 bfcanonicalize [26] 100.0% ------------------------------------------------------------------ iterate-egraph! [21] 100.0% [24] 5326(58.7%) 0(0.0%) one-iter ...lt-testing/src/core/simplify.rkt:116:0 match-e [27] 31.7% substitute-e [28] 21.1% merge-egraph-nodes! [29] 20.9% loop! [34] 10.4% mk-enode! [35] 5.3% pack-leader [31] 5.3% reduce-to-single! [32] 5.3% ------------------------------------------------------------------ loop [22] 100.0% [25] 284(3.1%) 0(0.0%) loop ...hare/racket/collects/racket/list.rkt:796:4 expression-cost [30] 100.0% ------------------------------------------------------------------ bigfloat-hash [23] 100.0% [26] 278(3.1%) 0(0.0%) bfcanonicalize .../private/bigfloat/mpfr.rkt:158:0 bitwise-first-bit-set [33] 100.0% ------------------------------------------------------------------ match-e [27] 30.8% one-iter [24] 69.2% [27] 1688(18.6%) 562(6.2%) match-e ...ie/alt-testing/src/core/ematch.rkt:46:0 match-e [27] 30.8% reverse [36] 16.7% make-sequence [38] 16.5% ??? [52] 14.0% ------------------------------------------------------------------ substitute-e [28] 29.3% one-iter [24] 70.7% [28] 1123(12.4%) 0(0.0%) substitute-e ...t-testing/src/core/ematch.rkt:71:0 substitute-e [28] 29.3% mk-enode! [35] 24.9% reverse [36] 24.9% variable? [37] 12.5% ??? [52] 8.4% ------------------------------------------------------------------ merge-egraph-nodes! [29] 12.4% one-iter [24] 87.6% [29] 1116(12.3%) 0(0.0%) merge-egraph-nodes! ...g/src/core/egraph.rkt:153:0 loop! [34] 50.3% enode-merge! [39] 24.9% merge-egraph-nodes! [29] 12.4% update-leader! [40] 12.4% ------------------------------------------------------------------ loop [25] 100.0% [30] 284(3.1%) 0(0.0%) expression-cost ...-testing/src/programs.rkt:209:0 table-ref [53] 100.0% ------------------------------------------------------------------ one-iter [24] 100.0% [31] 281(3.1%) 281(3.1%) pack-leader ...lt-testing/src/core/enode.rkt:247:0 ------------------------------------------------------------------ one-iter [24] 100.0% [32] 280(3.1%) 280(3.1%) reduce-to-single! ...ing/src/core/egraph.rkt:325:0 ------------------------------------------------------------------ bfcanonicalize [26] 100.0% [33] 278(3.1%) 278(3.1%) bitwise-first-bit-set ...hmetic/bitwise-6.rkt:35:0 ------------------------------------------------------------------ one-iter [24] 20.7% merge-egraph-nodes! [29] 37.7% loop [15] 41.6% [34] 1117(12.3%) 282(3.1%) loop! ...rbie/alt-testing/src/core/enode.rkt:192:2 loop [15] 41.6% ??? [43] 12.5% custom-set-union [47] 12.3% make-immutable-set [42] 8.4% ------------------------------------------------------------------ substitute-e [28] 49.8% one-iter [24] 50.2% [35] 562(6.2%) 0(0.0%) mk-enode! ...alt-testing/src/core/egraph.rkt:102:0 new-enode [41] 100.0% ------------------------------------------------------------------ substitute-e [28] 49.8% match-e [27] 50.2% [36] 561(6.2%) 561(6.2%) reverse ...collects/racket/private/reverse.rkt:6:4 ------------------------------------------------------------------ substitute-e [28] 100.0% [37] 281(3.1%) 0(0.0%) variable? ...t-testing/src/syntax/syntax.rkt:665:0 ??? [52] 100.0% ------------------------------------------------------------------ match-e [27] 100.0% [38] 278(3.1%) 0(0.0%) make-sequence ...ects/racket/private/for.rkt:557:2 :hash-gen [44] 100.0% ------------------------------------------------------------------ merge-egraph-nodes! [29] 100.0% [39] 278(3.1%) 0(0.0%) enode-merge! ...t-testing/src/core/enode.rkt:129:0 custom-set-intersect! [45] 100.0% ------------------------------------------------------------------ merge-egraph-nodes! [29] 100.0% [40] 276(3.0%) 0(0.0%) update-leader! ...esting/src/core/egraph.rkt:218:0 do-hash-update [46] 100.0% ------------------------------------------------------------------ mk-enode! [35] 100.0% [41] 562(6.2%) 0(0.0%) new-enode ...e/alt-testing/src/core/enode.rkt:97:0 type-of-enode-expr [48] 100.0% ------------------------------------------------------------------ loop! [34] 100.0% [42] 280(3.1%) 280(3.1%) make-immutable-set .../private/set-types.rkt:948:0 ------------------------------------------------------------------ loop! [34] 100.0% [43] 279(3.1%) 0(0.0%) ??? ...erbie/alt-testing/src/core/enode.rkt:202:13 update-en-expr [49] 100.0% ------------------------------------------------------------------ make-sequence [38] 100.0% [44] 278(3.1%) 278(3.1%) :hash-gen ...collects/racket/private/for.rkt:781:4 ------------------------------------------------------------------ enode-merge! [39] 100.0% [45] 278(3.1%) 278(3.1%) custom-set-intersect! ...ivate/set-types.rkt:269:0 ------------------------------------------------------------------ update-leader! [40] 100.0% [46] 276(3.0%) 0(0.0%) do-hash-update ...et/private/more-scheme.rkt:343:2 ??? [50] 100.0% ------------------------------------------------------------------ loop! [34] 100.0% [47] 276(3.0%) 276(3.0%) custom-set-union ...et/private/set-types.rkt:168:0 ------------------------------------------------------------------ new-enode [41] 100.0% [48] 562(6.2%) 0(0.0%) type-of-enode-expr ...ting/src/core/enode.rkt:68:0 get-sigs [51] 100.0% ------------------------------------------------------------------ ??? [43] 100.0% [49] 279(3.1%) 279(3.1%) update-en-expr ...esting/src/core/egraph.rkt:212:0 ------------------------------------------------------------------ do-hash-update [46] 100.0% [50] 276(3.0%) 276(3.0%) ??? ...rbie/alt-testing/src/core/egraph.rkt:226:24 ------------------------------------------------------------------ type-of-enode-expr [48] 100.0% [51] 562(6.2%) 0(0.0%) get-sigs ...bie/alt-testing/src/type-check.rkt:5:0 table-ref [53] 50.2% ??? [52] 49.8% ------------------------------------------------------------------ finalize-iter! [12] 14.2% choose-best-alt! [11] 14.2% get-sigs [51] 14.2% variable? [37] 14.3% substitute-e [28] 14.4% match-e [27] 28.7% [52] 1968(21.7%) 282(3.1%) ??? ...contract/private/arrow-val-first.rkt:486:18 hash-has-key? [54] 57.3% atab-pick-alt [56] 14.2% atab-add-altns [57] 14.2% ------------------------------------------------------------------ get-sigs [51] 49.8% expression-cost [30] 50.2% [53] 566(6.2%) 0(0.0%) table-ref ...erbie/alt-testing/src/common.rkt:46:0 ??? [58] 50.2% return/no-unsupplied [55] 49.8% ------------------------------------------------------------------ ??? [52] 100.0% [54] 1127(12.4%) 847(9.3%) hash-has-key? ...ket/private/more-scheme.rkt:372:2 ??? [58] 24.8% ------------------------------------------------------------------ table-ref [53] 100.0% [55] 282(3.1%) 0(0.0%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 filter [59] 100.0% ------------------------------------------------------------------ ??? [52] 100.0% [56] 280(3.1%) 0(0.0%) atab-pick-alt ...sting/src/core/alt-table.rkt:64:0 errors [63] 100.0% ------------------------------------------------------------------ ??? [52] 100.0% [57] 279(3.1%) 0(0.0%) atab-add-altns ...ting/src/core/alt-table.rkt:52:0 atab-add-altn [60] 100.0% ------------------------------------------------------------------ hash-has-key? [54] 49.6% table-ref [53] 50.4% [58] 564(6.2%) 284(3.1%) ??? ...ects/racket/contract/private/list.rkt:814:4 handle-the-hash [61] 49.6% ------------------------------------------------------------------ return/no-unsupplied [55] 100.0% [59] 282(3.1%) 282(3.1%) filter ...t/collects/racket/private/list.rkt:275:2 ------------------------------------------------------------------ atab-add-altns [57] 100.0% [60] 279(3.1%) 0(0.0%) atab-add-altn ...ting/src/core/alt-table.rkt:239:0 best-and-tied-at-points [62]100.0% ------------------------------------------------------------------ ??? [58] 100.0% [61] 280(3.1%) 280(3.1%) handle-the-hash ...contract/private/hash.rkt:323:0 ------------------------------------------------------------------ atab-add-altn [60] 100.0% [62] 279(3.1%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:153:0 errors [63] 100.0% ------------------------------------------------------------------ best-and-tied-at-points [62] 49.9% atab-pick-alt [56] 50.1% [63] 559(6.2%) 0(0.0%) errors .../herbie/alt-testing/src/points.rkt:271:0 ??? [64] 50.1% ??? [65] 49.9% ------------------------------------------------------------------ errors [63] 12.0% loop [15] 88.0% [64] 2324(25.6%) 1742(19.2%) ??? ...s/herbie/alt-testing/src/programs.rkt:156:4 ??? [67] 12.6% loop [15] 12.4% ------------------------------------------------------------------ errors [63] 24.1% loop [15] 75.9% [65] 1156(12.7%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:375:33 ->flonum [66] 75.0% real->bigfloat [68] 25.0% ------------------------------------------------------------------ ??? [65] 100.0% [66] 868(9.6%) 560(6.2%) ->flonum ...rbie/alt-testing/src/programs.rkt:37:0 dict-ref-contract [69] 35.4% ------------------------------------------------------------------ ??? [64] 100.0% [67] 294(3.2%) 0(0.0%) ??? ...ects/racket/contract/private/prop.rkt:567:4 ??? [70] 100.0% ------------------------------------------------------------------ ??? [65] 100.0% [68] 288(3.2%) 0(0.0%) real->bigfloat .../private/bigfloat/mpfr.rkt:470:0 new-mpfr [71] 100.0% ------------------------------------------------------------------ ->flonum [66] 100.0% [69] 308(3.4%) 0(0.0%) dict-ref-contract ...ract/private/arr-i.rkt:976:19 ??? [72] 100.0% ------------------------------------------------------------------ ??? [67] 100.0% [70] 294(3.2%) 0(0.0%) ??? ...ects/racket/contract/private/orc.rkt:112:15 ^TYPE? [73] 100.0% ------------------------------------------------------------------ real->bigfloat [68] 100.0% [71] 288(3.2%) 288(3.2%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:344:0 ------------------------------------------------------------------ dict-ref-contract [69] 100.0% [72] 308(3.4%) 0(0.0%) ??? ...ects/racket/contract/private/guts.rkt:794:8 dict? [74] 100.0% ------------------------------------------------------------------ ??? [70] 100.0% [73] 294(3.2%) 294(3.2%) ^TYPE? .../ffi/unsafe.rkt:1621:20 ------------------------------------------------------------------ ??? [72] 100.0% [74] 308(3.4%) 308(3.4%) dict? ...ollects/racket/private/generic.rkt:146:11 ------------------------------------------------------------------