Profiling results ----------------- Total cpu time observed: 19734ms (out of 20236ms) Number of samples taken: 49 (once every 403ms) ======================================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================================= ??? [25] 100.0% [1] 18398(93.2%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [5] 100.0% --------------------------------------------------------------------------------------- ??? [25] 100.0% [2] 7522(38.1%) 0(0.0%) run-improve50 ...ie/develop/src/mainloop.rkt:234:0 for-loop [6] 83.2% get-final-combination [8] 16.8% --------------------------------------------------------------------------------------- ??? [70] 100.0% [3] 5522(28.0%) 0(0.0%) iterate-egraph!13 ...p/src/core/simplify.rkt:102:0 one-iter [7] 100.0% --------------------------------------------------------------------------------------- ??? [70] 100.0% [4] 688(3.5%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:215:2 pass [9] 100.0% --------------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [5] 18398(93.2%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [25] 100.0% --------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [6] 6256(31.7%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:249:10 run-iter! [10] 100.0% --------------------------------------------------------------------------------------- iterate-egraph!13 [3] 100.0% [7] 5522(28.0%) 0(0.0%) one-iter ...ie/develop/src/core/simplify.rkt:113:0 loop [11] 63.0% for-loop [12] 37.0% --------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [8] 1266(6.4%) 0(0.0%) get-final-combination ...op/src/mainloop.rkt:264:0 split-table [13] 100.0% --------------------------------------------------------------------------------------- loop [4] 100.0% [9] 688(3.5%) 0(0.0%) pass ...herbie/develop/src/core/simplify.rkt:205:2 for-loop [14] 100.0% --------------------------------------------------------------------------------------- for-loop [6] 100.0% [10] 6256(31.7%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:215:0 simplify! [15] 88.5% finalize-iter! [19] 5.8% localize-error [20] 5.8% --------------------------------------------------------------------------------------- one-iter [7] 100.0% [11] 3478(17.6%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [16] 100.0% --------------------------------------------------------------------------------------- for-loop [12] 41.2% one-iter [7] 58.8% [12] 2044(10.4%) 360(1.8%) for-loop ...e/develop/src/core/simplify.rkt:123:12 for-loop [12] 41.2% match-e [22] 41.2% --------------------------------------------------------------------------------------- get-final-combination [8] 100.0% [13] 1266(6.4%) 0(0.0%) split-table ...s/herbie/develop/src/glue.rkt:162:0 f6 [17] 100.0% --------------------------------------------------------------------------------------- pass [9] 100.0% [14] 688(3.5%) 0(0.0%) for-loop ...e/develop/src/core/simplify.rkt:208:29 argmin [18] 100.0% --------------------------------------------------------------------------------------- run-iter! [10] 100.0% [15] 5536(28.1%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:155:0 for-loop [21] 100.0% --------------------------------------------------------------------------------------- loop [11] 100.0% [16] 3478(17.6%) 0(0.0%) apply-match ...develop/src/core/simplify.rkt:130:2 for-loop [23] 69.1% match-e [22] 30.9% --------------------------------------------------------------------------------------- eval-prog [88] 3.6% f6 [17] 14.5% hash-ref! [53] 18.1% split-table [13] 63.7% [17] 1986(10.1%) 0(0.0%) f6 ...et/collects/racket/match/compiler.rkt:507:40 loop [58] 32.1% option-on-expr [60] 31.6% map [47] 18.1% f6 [17] 14.5% ??? [69] 3.6% --------------------------------------------------------------------------------------- for-loop [14] 100.0% [18] 688(3.5%) 0(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [24] 100.0% --------------------------------------------------------------------------------------- run-iter! [10] 100.0% [19] 360(1.8%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:169:0 ??? [74] 100.0% --------------------------------------------------------------------------------------- run-iter! [10] 100.0% [20] 360(1.8%) 0(0.0%) localize-error ...velop/src/core/localize.rkt:47:0 hash-ref! [53] 100.0% --------------------------------------------------------------------------------------- simplify! [15] 100.0% [21] 5536(28.1%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:159:6 ??? [25] 100.0% --------------------------------------------------------------------------------------- for-loop [33] 12.9% apply-match [16] 32.5% for-loop [12] 54.5% [22] 2758(14.0%) 1016(5.1%) match-e ...herbie/develop/src/core/ematch.rkt:46:0 for-loop [26] 57.6% ??? [74] 12.1% --------------------------------------------------------------------------------------- apply-match [16] 100.0% [23] 2404(12.2%) 0(0.0%) for-loop ...e/develop/src/core/simplify.rkt:145:10 merge-egraph-nodes! [27] 42.8% substitute-e [28] 42.3% mk-enode! [31] 15.0% --------------------------------------------------------------------------------------- argmin [18] 100.0% [24] 688(3.5%) 0(0.0%) for-loop .../herbie/develop/src/programs.rkt:199:2 ...velop/src/common.rkt:47:2 [29] 52.6% ??? [70] 47.4% --------------------------------------------------------------------------------------- for-loop [21] 9.5% run [5] 42.6% [25] 19414(98.4%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 42.6% loop [30] 28.9% run-improve50 [2] 15.5% ??? [70] 13.0% --------------------------------------------------------------------------------------- match-e [22] 100.0% [26] 1768(9.0%) 334(1.7%) for-loop ...rbie/develop/src/core/ematch.rkt:59:11 list-cartesian-product [32] 40.7% for-loop [33] 30.4% filter [36] 10.0% --------------------------------------------------------------------------------------- for-loop [23] 100.0% [27] 1028(5.2%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:152:0 update-leader! [34] 67.5% loop! [61] 32.5% --------------------------------------------------------------------------------------- for-loop [23] 100.0% [28] 1016(5.1%) 0(0.0%) substitute-e ...e/develop/src/core/ematch.rkt:71:0 mk-enode! [31] 100.0% --------------------------------------------------------------------------------------- for-loop [24] 100.0% [29] 362(1.8%) 0(0.0%) ...velop/src/common.rkt:47:2 ...e/arr-i.rkt:906:19 ??? [35] 100.0% --------------------------------------------------------------------------------------- ??? [25] 100.0% [30] 11204(56.8%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:193:2 make-exacts* [42] 64.1% loop [37] 32.6% for-loop [39] 3.3% --------------------------------------------------------------------------------------- for-loop [23] 26.2% substitute-e [28] 73.8% [31] 1376(7.0%) 0(0.0%) mk-enode! ...bie/develop/src/core/egraph.rkt:101:0 new-enode [38] 73.8% mutable-set [40] 26.2% --------------------------------------------------------------------------------------- list-cartesian-product [32] 25.0% for-loop [26] 75.0% [32] 720(3.6%) 720(3.6%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [32] 25.0% --------------------------------------------------------------------------------------- for-loop [26] 100.0% [33] 714(3.6%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:65:37 match-e [22] 100.0% --------------------------------------------------------------------------------------- merge-egraph-nodes! [27] 100.0% [34] 694(3.5%) 358(1.8%) update-leader! ...evelop/src/core/egraph.rkt:217:0 for-loop [41] 48.4% --------------------------------------------------------------------------------------- ...velop/src/common.rkt:47:2 [29] 100.0% [35] 362(1.8%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:342:4 ??? [101] 100.0% --------------------------------------------------------------------------------------- for-loop [26] 100.0% [36] 354(1.8%) 354(1.8%) filter ...t/collects/racket/private/list.rkt:256:2 --------------------------------------------------------------------------------------- loop [30] 100.0% [37] 3658(18.5%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:151:2 make-exacts* [42] 49.9% loop [43] 40.7% eval-prog [88] 9.4% --------------------------------------------------------------------------------------- mk-enode! [31] 100.0% [38] 1016(5.1%) 0(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:97:0 type-of-enode-expr [44] 100.0% --------------------------------------------------------------------------------------- loop [30] 100.0% [39] 366(1.9%) 0(0.0%) for-loop ...s/herbie/develop/src/points.rkt:200:24 for-loop [45] 100.0% --------------------------------------------------------------------------------------- mk-enode! [31] 100.0% [40] 360(1.8%) 360(1.8%) mutable-set .../racket/private/set-types.rkt:999:0 --------------------------------------------------------------------------------------- update-leader! [34] 100.0% [41] 336(1.7%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:222:6 for-loop [46] 100.0% --------------------------------------------------------------------------------------- loop [37] 20.3% loop [30] 79.7% [42] 9004(45.6%) 0(0.0%) make-exacts* ...erbie/develop/src/points.rkt:138:0 map [47] 60.9% loop [58] 39.1% --------------------------------------------------------------------------------------- loop [37] 100.0% [43] 1490(7.6%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:141:4 map [47] 100.0% --------------------------------------------------------------------------------------- new-enode [38] 100.0% [44] 1016(5.1%) 0(0.0%) type-of-enode-expr ...elop/src/core/enode.rkt:68:0 get-sigs [48] 100.0% --------------------------------------------------------------------------------------- for-loop [39] 100.0% [45] 366(1.9%) 0(0.0%) for-loop ...s/herbie/develop/src/points.rkt:201:26 ??? [69] 100.0% --------------------------------------------------------------------------------------- for-loop [41] 100.0% [46] 336(1.7%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:223:8 hash-update! [49] 100.0% --------------------------------------------------------------------------------------- f6 [17] 4.9% loop [43] 20.3% make-exacts* [42] 74.8% [47] 7330(37.1%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 loop [58] 95.1% ??? [50] 4.9% --------------------------------------------------------------------------------------- type-of-enode-expr [44] 100.0% [48] 1016(5.1%) 0(0.0%) get-sigs .../herbie/develop/src/type-check.rkt:5:0 ??? [70] 35.6% ??? [74] 32.9% ??? [52] 31.5% --------------------------------------------------------------------------------------- for-loop [46] 100.0% [49] 336(1.7%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [51] 100.0% --------------------------------------------------------------------------------------- loop [58] 50.0% map [47] 50.0% [50] 360(1.8%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 hash-ref! [53] 100.0% --------------------------------------------------------------------------------------- hash-update! [49] 100.0% [51] 336(1.7%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:225:24 for-loop [54] 100.0% --------------------------------------------------------------------------------------- get-sigs [48] 100.0% [52] 320(1.6%) 0(0.0%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 ??? [55] 100.0% --------------------------------------------------------------------------------------- localize-error [20] 33.3% ??? [50] 66.7% [53] 360(1.8%) 0(0.0%) hash-ref! ...racket/private/more-scheme.rkt:373:13 parse-loop12 [56] 66.7% f6 [17] 33.3% --------------------------------------------------------------------------------------- ??? [51] 100.0% [54] 336(1.7%) 336(1.7%) for-loop ...bie/develop/src/core/egraph.rkt:226:26 --------------------------------------------------------------------------------------- ??? [52] 100.0% [55] 320(1.6%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [57] 100.0% --------------------------------------------------------------------------------------- hash-ref! [53] 100.0% [56] 360(1.8%) 0(0.0%) parse-loop12 ...s/racket/match/compiler.rkt:418:15 loop [58] 100.0% --------------------------------------------------------------------------------------- ??? [55] 100.0% [57] 320(1.6%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [59] 100.0% --------------------------------------------------------------------------------------- parse-loop12 [56] 0.1% loop! [61] 0.2% map [47] 0.3% make-exacts* [42] 0.4% f6 [17] 5.4% loop [58] 93.6% [58] 11826(59.9%) 360(1.8%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [58] 93.6% option-on-expr [60] 5.4% ??? [90] 0.7% loop! [61] 0.2% ??? [50] 0.0% ??? [69] 0.0% --------------------------------------------------------------------------------------- ??? [57] 100.0% [59] 320(1.6%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [62] 100.0% --------------------------------------------------------------------------------------- f6 [17] 49.6% loop [58] 50.4% [60] 1266(6.4%) 0(0.0%) option-on-expr ...velop/src/core/regimes.rkt:103:0 sort-context-on-expr [63] 50.4% errors [86] 49.6% --------------------------------------------------------------------------------------- loop [58] 50.0% merge-egraph-nodes! [27] 50.0% [61] 334(1.7%) 334(1.7%) loop! ...s/herbie/develop/src/core/enode.rkt:192:2 loop [58] 50.0% --------------------------------------------------------------------------------------- ??? [59] 100.0% [62] 320(1.6%) 0(0.0%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [64] 100.0% --------------------------------------------------------------------------------------- option-on-expr [60] 100.0% [63] 638(3.2%) 0(0.0%) sort-context-on-expr ...velop/src/points.rkt:115:0 ??? [65] 100.0% --------------------------------------------------------------------------------------- for-loop [62] 100.0% [64] 320(1.6%) 320(1.6%) add-list-context ...ontract/private/list.rkt:752:0 --------------------------------------------------------------------------------------- sort-context-on-expr [63] 100.0% [65] 638(3.2%) 0(0.0%) ??? ...cket/collects/racket/private/sort.rkt:403:3 generic-sort/key [66] 100.0% --------------------------------------------------------------------------------------- ??? [65] 100.0% [66] 638(3.2%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:185:2 copying-mergesort [67] 100.0% --------------------------------------------------------------------------------------- generic-sort/key [66] 33.3% copying-mergesort [67] 66.7% [67] 638(3.2%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:130:8 copying-mergesort [67] 66.7% loop [68] 33.3% --------------------------------------------------------------------------------------- copying-mergesort [67] 100.0% [68] 638(3.2%) 0(0.0%) loop ...ket/collects/racket/private/sort.rkt:97:12 ??? [90] 52.7% ??? [69] 47.3% --------------------------------------------------------------------------------------- ??? [70] 9.4% for-loop [73] 9.4% loop [68] 16.9% f6 [17] 20.2% for-loop [45] 20.5% loop [58] 23.6% [69] 1782(9.0%) 366(1.9%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [70] 49.9% ??? [71] 20.2% arrow-higher-order:lnp [72] 9.4% --------------------------------------------------------------------------------------- for-loop [24] 1.5% get-sigs [48] 1.7% ??? [69] 12.2% for-loop [73] 41.2% ??? [25] 41.3% [70] 7266(36.8%) 420(2.1%) ??? ...llects/racket/private/norm-define.rkt:53:83 for-loop [73] 43.5% iterate-egraph!13 [3] 37.2% ??? [76] 4.2% loop [4] 4.0% ??? [80] 3.2% ??? [69] 2.3% --------------------------------------------------------------------------------------- ??? [69] 100.0% [71] 360(1.8%) 0(0.0%) ??? ...ects/racket/contract/private/guts.rkt:644:8 ??? [74] 100.0% --------------------------------------------------------------------------------------- ??? [69] 100.0% [72] 334(1.7%) 0(0.0%) arrow-higher-order:lnp ...w-higher-order.rkt:597:7 ??? [75] 100.0% --------------------------------------------------------------------------------------- ??? [70] 100.0% [73] 6544(33.2%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:63:12 ??? [70] 94.9% ??? [69] 5.1% --------------------------------------------------------------------------------------- ??? [71] 17.5% finalize-iter! [19] 17.5% match-e [22] 32.5% get-sigs [48] 32.5% [74] 1028(5.2%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:357:18 hash-has-key? [77] 82.5% for-loop [78] 17.5% --------------------------------------------------------------------------------------- arrow-higher-order:lnp [72] 100.0% [75] 334(1.7%) 334(1.7%) ??? ...et/contract/private/arity-checking.rkt:19:2 --------------------------------------------------------------------------------------- ??? [70] 100.0% [76] 302(1.5%) 0(0.0%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [79] 100.0% --------------------------------------------------------------------------------------- ??? [74] 100.0% [77] 1028(5.2%) 0(0.0%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [80] 100.0% --------------------------------------------------------------------------------------- ??? [74] 100.0% [78] 360(1.8%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [81] 100.0% --------------------------------------------------------------------------------------- ??? [76] 100.0% [79] 302(1.5%) 302(1.5%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 --------------------------------------------------------------------------------------- ??? [70] 40.1% hash-has-key? [77] 59.9% [80] 1716(8.7%) 326(1.7%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [82] 42.1% ??? [85] 19.5% successfully-got-the-right-kind-of-function [84] 19.5% --------------------------------------------------------------------------------------- for-loop [78] 100.0% [81] 360(1.8%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:208:0 best-and-tied-at-points [83] 100.0% --------------------------------------------------------------------------------------- ??? [80] 100.0% [82] 722(3.7%) 722(3.7%) for-loop ...acket/contract/private/list.rkt:743:12 --------------------------------------------------------------------------------------- atab-add-altn [81] 100.0% [83] 360(1.8%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [86] 100.0% --------------------------------------------------------------------------------------- ??? [80] 100.0% [84] 334(1.7%) 334(1.7%) successfully-got-the-right-kind-of-function ...9:4 --------------------------------------------------------------------------------------- ??? [80] 100.0% [85] 334(1.7%) 0(0.0%) ??? ...private/unconstrained-domain-arrow.rkt:74:4 make-keyword-procedure [87] 100.0% --------------------------------------------------------------------------------------- best-and-tied-at-points [83] 36.4% option-on-expr [60] 63.6% [86] 988(5.0%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:218:0 for-loop [89] 63.6% eval-prog [88] 36.4% --------------------------------------------------------------------------------------- ??? [85] 100.0% [87] 334(1.7%) 334(1.7%) make-keyword-procedure ...ket/private/kw.rkt:260:4 --------------------------------------------------------------------------------------- loop [37] 48.9% errors [86] 51.1% [88] 704(3.6%) 0(0.0%) eval-prog ...herbie/develop/src/programs.rkt:148:0 f6 [17] 51.1% ??? [91] 48.9% --------------------------------------------------------------------------------------- errors [86] 100.0% [89] 628(3.2%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:221:4 ??? [90] 100.0% --------------------------------------------------------------------------------------- loop [68] 3.0% for-loop [89] 5.7% loop [58] 91.3% [90] 11038(55.9%) 1426(7.2%) ??? ...tlies/herbie/develop/src/programs.rkt:154:4 ??? [92] 75.5% ??? [93] 11.6% --------------------------------------------------------------------------------------- eval-prog [88] 100.0% [91] 344(1.7%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:346:33 ??? [94] 100.0% --------------------------------------------------------------------------------------- ??? [90] 100.0% [92] 8332(42.2%) 3084(15.6%) ??? ...acket/collects/racket/private/kw.rkt:444:14 bf* [95] 41.5% ??? [100] 13.0% ...higher-order.rkt:346:33 [97] 4.4% ??? [98] 4.2% --------------------------------------------------------------------------------------- ??? [90] 100.0% [93] 1280(6.5%) 0(0.0%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [96] 100.0% --------------------------------------------------------------------------------------- ??? [91] 100.0% [94] 344(1.7%) 0(0.0%) ??? ...ects/racket/contract/private/prop.rkt:493:4 ??? [99] 100.0% --------------------------------------------------------------------------------------- ??? [92] 100.0% [95] 3454(17.5%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [100] 100.0% --------------------------------------------------------------------------------------- ??? [93] 100.0% [96] 1280(6.5%) 1280(6.5%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 --------------------------------------------------------------------------------------- ??? [92] 100.0% [97] 366(1.9%) 0(0.0%) ...higher-order.rkt:346:33 (unknown source) ??? [101] 100.0% --------------------------------------------------------------------------------------- ??? [92] 100.0% [98] 348(1.8%) 348(1.8%) ??? ...rivate/unconstrained-domain-arrow.rkt:40:13 --------------------------------------------------------------------------------------- ??? [94] 100.0% [99] 344(1.7%) 0(0.0%) ??? ...lects/racket/contract/private/orc.rkt:83:14 ??? [102] 100.0% --------------------------------------------------------------------------------------- ??? [92] 23.8% bf* [95] 76.2% [100] 4534(23.0%) 366(1.9%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfadd [103] 91.9% --------------------------------------------------------------------------------------- ??? [35] 49.7% ...higher-order.rkt:346:33 [97] 50.3% [101] 728(3.7%) 728(3.7%) ??? ...cts/racket/contract/private/list.rkt:187:10 --------------------------------------------------------------------------------------- ??? [99] 100.0% [102] 344(1.7%) 344(1.7%) ??? ...ects/racket/contract/private/list.rkt:141:5 --------------------------------------------------------------------------------------- ??? [100] 100.0% [103] 4168(21.1%) 3378(17.1%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [104] 19.0% --------------------------------------------------------------------------------------- bfadd [103] 100.0% [104] 790(4.0%) 790(4.0%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ---------------------------------------------------------------------------------------