Profiling results ----------------- Total cpu time observed: 20830ms (out of 20464ms) Number of samples taken: 52 (once every 401ms) ======================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================== ??? [37] 100.0% [1] 19872(95.4%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [6] 100.0% ------------------------------------------------------------------------ ??? [37] 100.0% [2] 12248(58.8%) 0(0.0%) run-improve50 ...ie/develop/src/mainloop.rkt:234:0 for-loop [7] 91.8% get-final-combination [11] 8.2% ------------------------------------------------------------------------ ??? [58] 100.0% [3] 7794(37.4%) 0(0.0%) iterate-egraph!13 ...p/src/core/simplify.rkt:102:0 one-iter [8] 95.4% debug-print [12] 4.6% ------------------------------------------------------------------------ ??? [58] 100.0% [4] 1320(6.3%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:210:2 pass [9] 100.0% ------------------------------------------------------------------------ ??? [54] 100.0% [5] 1028(4.9%) 0(0.0%) approximate9 ...e/develop/src/core/taylor.rkt:12:0 loop [10] 100.0% ------------------------------------------------------------------------ profile-thunk16 [1] 100.0% [6] 19872(95.4%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [37] 100.0% ------------------------------------------------------------------------ run-improve50 [2] 100.0% [7] 11244(54.0%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:249:10 run-iter! [13] 100.0% ------------------------------------------------------------------------ iterate-egraph!13 [3] 100.0% [8] 7434(35.7%) 0(0.0%) one-iter ...ie/develop/src/core/simplify.rkt:113:0 for-loop [14] 71.9% loop [15] 23.3% loop [19] 4.8% ------------------------------------------------------------------------ loop [4] 100.0% [9] 1320(6.3%) 0(0.0%) pass ...herbie/develop/src/core/simplify.rkt:200:2 for-loop [16] 100.0% ------------------------------------------------------------------------ approximate9 [5] 100.0% [10] 1028(4.9%) 0(0.0%) loop ...es/herbie/develop/src/core/taylor.rkt:86:4 ??? [54] 100.0% ------------------------------------------------------------------------ run-improve50 [2] 100.0% [11] 1004(4.8%) 0(0.0%) get-final-combination ...op/src/mainloop.rkt:264:0 split-table [17] 64.1% extract-alt [18] 35.9% ------------------------------------------------------------------------ iterate-egraph!13 [3] 100.0% [12] 360(1.7%) 360(1.7%) debug-print .../herbie/develop/src/debug.rkt:107:0 ------------------------------------------------------------------------ for-loop [7] 100.0% [13] 11244(54.0%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:215:0 simplify! [20] 72.5% finalize-iter! [23] 15.2% gen-series! [24] 9.1% gen-rewrites! [28] 3.2% ------------------------------------------------------------------------ for-loop [14] 50.0% one-iter [8] 50.0% [14] 5346(25.7%) 1006(4.8%) for-loop ...e/develop/src/core/simplify.rkt:123:12 for-loop [14] 50.0% match-e [21] 40.6% ------------------------------------------------------------------------ one-iter [8] 100.0% [15] 1730(8.3%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [22] 100.0% ------------------------------------------------------------------------ pass [9] 100.0% [16] 1320(6.3%) 0(0.0%) for-loop ...e/develop/src/core/simplify.rkt:203:29 argmin [25] 52.1% loop [26] 47.9% ------------------------------------------------------------------------ get-final-combination [11] 100.0% [17] 644(3.1%) 0(0.0%) split-table ...s/herbie/develop/src/glue.rkt:156:0 f16 [76] 100.0% ------------------------------------------------------------------------ get-final-combination [11] 100.0% [18] 360(1.7%) 0(0.0%) extract-alt ...es/herbie/develop/src/glue.rkt:54:0 argmins [27] 100.0% ------------------------------------------------------------------------ one-iter [8] 100.0% [19] 358(1.7%) 358(1.7%) loop ...ket/collects/racket/private/list.rkt:264:4 ------------------------------------------------------------------------ run-iter! [13] 100.0% [20] 8156(39.2%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:155:0 for-loop [29] 100.0% ------------------------------------------------------------------------ for-loop [39] 15.9% for-loop [14] 84.1% [21] 4340(20.8%) 2340(11.2%) match-e ...herbie/develop/src/core/ematch.rkt:46:0 for-loop [30] 45.8% for-loop [39] 8.3% ------------------------------------------------------------------------ loop [15] 100.0% [22] 1730(8.3%) 0(0.0%) apply-match ...develop/src/core/simplify.rkt:129:2 merge-egraph-nodes! [32] 80.7% update-leader! [40] 19.3% ------------------------------------------------------------------------ run-iter! [13] 100.0% [23] 1704(8.2%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:169:0 ??? [31] 100.0% ------------------------------------------------------------------------ run-iter! [13] 100.0% [24] 1028(4.9%) 0(0.0%) gen-series! ...rbie/develop/src/mainloop.rkt:129:0 for-loop [34] 100.0% ------------------------------------------------------------------------ for-loop [16] 100.0% [25] 688(3.3%) 0(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [33] 100.0% ------------------------------------------------------------------------ for-loop [16] 100.0% [26] 632(3.0%) 0(0.0%) loop ...hare/racket/collects/racket/list.rkt:729:4 for-loop [33] 100.0% ------------------------------------------------------------------------ extract-alt [18] 100.0% [27] 360(1.7%) 0(0.0%) argmins ...ies/herbie/develop/src/common.rkt:141:0 composed [35] 100.0% ------------------------------------------------------------------------ run-iter! [13] 100.0% [28] 356(1.7%) 0(0.0%) gen-rewrites! ...ie/develop/src/mainloop.rkt:142:0 for-loop [36] 100.0% ------------------------------------------------------------------------ simplify! [20] 100.0% [29] 8156(39.2%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:159:6 ??? [37] 100.0% ------------------------------------------------------------------------ match-e [21] 100.0% [30] 2332(11.2%) 2000(9.6%) for-loop ...rbie/develop/src/core/ematch.rkt:59:11 for-loop [39] 21.2% ------------------------------------------------------------------------ finalize-iter! [23] 100.0% [31] 1704(8.2%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:357:18 for-loop [38] 100.0% ------------------------------------------------------------------------ merge-egraph-nodes! [32] 13.0% apply-match [22] 87.0% [32] 1396(6.7%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:152:0 update-leader! [40] 61.2% loop! [43] 25.8% merge-egraph-nodes! [32] 13.0% ------------------------------------------------------------------------ loop [26] 47.9% argmin [25] 52.1% [33] 1320(6.3%) 0(0.0%) for-loop .../herbie/develop/src/programs.rkt:200:2 ??? [58] 72.6% ...velop/src/common.rkt:47:2 [42] 27.4% ------------------------------------------------------------------------ gen-series! [24] 100.0% [34] 1028(4.9%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:135:7 taylor-alt [41] 100.0% ------------------------------------------------------------------------ argmins [27] 100.0% [35] 360(1.7%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 errors [60] 100.0% ------------------------------------------------------------------------ gen-rewrites! [28] 100.0% [36] 356(1.7%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:147:11 ??? [44] 100.0% ------------------------------------------------------------------------ for-loop [29] 13.1% run [6] 41.2% [37] 20830(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 41.2% run-improve50 [2] 22.9% loop [45] 18.3% ??? [58] 17.7% ------------------------------------------------------------------------ ??? [31] 100.0% [38] 1704(8.2%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [46] 100.0% ------------------------------------------------------------------------ for-loop [30] 47.8% match-e [21] 52.2% [39] 1376(6.6%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:65:37 match-e [21] 100.0% ------------------------------------------------------------------------ apply-match [22] 24.4% merge-egraph-nodes! [32] 75.6% [40] 1370(6.6%) 0(0.0%) update-leader! ...evelop/src/core/egraph.rkt:217:0 for-loop [47] 100.0% ------------------------------------------------------------------------ for-loop [34] 100.0% [41] 1028(4.9%) 0(0.0%) taylor-alt ...es/herbie/develop/src/glue.rkt:133:0 for-loop [48] 100.0% ------------------------------------------------------------------------ for-loop [33] 100.0% [42] 362(1.7%) 362(1.7%) ...velop/src/common.rkt:47:2 ...e/arr-i.rkt:906:19 ------------------------------------------------------------------------ merge-egraph-nodes! [32] 100.0% [43] 360(1.7%) 0(0.0%) loop! ...s/herbie/develop/src/core/enode.rkt:163:2 custom-set-union [49] 100.0% ------------------------------------------------------------------------ for-loop [36] 100.0% [44] 356(1.7%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:88:0 rewriter [50] 100.0% ------------------------------------------------------------------------ ??? [37] 100.0% [45] 7624(36.6%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:193:2 make-exacts* [59] 76.7% loop [51] 23.3% ------------------------------------------------------------------------ for-loop [38] 100.0% [46] 1704(8.2%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:208:0 best-and-tied-at-points [52] 100.0% ------------------------------------------------------------------------ update-leader! [40] 100.0% [47] 1370(6.6%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:222:6 for-loop [53] 100.0% ------------------------------------------------------------------------ taylor-alt [41] 100.0% [48] 1028(4.9%) 0(0.0%) for-loop ...lies/herbie/develop/src/glue.rkt:135:2 ??? [54] 100.0% ------------------------------------------------------------------------ loop! [43] 100.0% [49] 360(1.7%) 0(0.0%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [55] 100.0% ------------------------------------------------------------------------ matcher [66] 50.0% ??? [44] 50.0% [50] 356(1.7%) 0(0.0%) rewriter ...bie/develop/src/core/matcher.rkt:127:2 for-loop [57] 50.0% *rules* [56] 50.0% ------------------------------------------------------------------------ loop [45] 100.0% [51] 1776(8.5%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:151:2 loop [62] 58.9% make-exacts* [59] 41.1% ------------------------------------------------------------------------ atab-add-altn [46] 100.0% [52] 1704(8.2%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [60] 100.0% ------------------------------------------------------------------------ for-loop [47] 100.0% [53] 1370(6.6%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:223:8 hash-update! [61] 100.0% ------------------------------------------------------------------------ f16 [76] 24.0% loop [10] 25.3% ??? [58] 25.3% for-loop [48] 25.3% [54] 1352(6.5%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [58] 49.3% approximate9 [5] 25.3% hash-ref! [63] 25.3% ------------------------------------------------------------------------ custom-set-union [49] 100.0% [55] 360(1.7%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [64] 100.0% ------------------------------------------------------------------------ rewriter [50] 100.0% [56] 356(1.7%) 0(0.0%) *rules* ...rbie/develop/src/syntax/rules.rkt:455:0 for-loop [65] 100.0% ------------------------------------------------------------------------ rewriter [50] 100.0% [57] 356(1.7%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:130:10 matcher [66] 100.0% ------------------------------------------------------------------------ ??? [58] 1.6% for-loop [33] 3.1% ??? [54] 12.9% for-loop [67] 40.4% ??? [37] 42.0% [58] 10466(50.2%) 332(1.6%) ??? ...llects/racket/private/norm-define.rkt:53:83 for-loop [67] 40.4% iterate-egraph!13 [3] 37.2% ??? [54] 9.8% ??? [73] 5.1% loop [4] 4.8% ??? [58] 1.6% ------------------------------------------------------------------------ loop [51] 11.1% loop [45] 88.9% [59] 6578(31.6%) 0(0.0%) make-exacts* ...erbie/develop/src/points.rkt:138:0 map [79] 77.8% loop [86] 22.2% ------------------------------------------------------------------------ composed [35] 13.3% option-on-expr [80] 23.8% best-and-tied-at-points [52] 62.9% [60] 2708(13.0%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:218:0 for-loop [68] 62.2% eval-prog [72] 37.8% ------------------------------------------------------------------------ for-loop [53] 100.0% [61] 1370(6.6%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [69] 100.0% ------------------------------------------------------------------------ loop [51] 100.0% [62] 1046(5.0%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:141:4 map [79] 100.0% ------------------------------------------------------------------------ ??? [70] 50.0% ??? [54] 50.0% [63] 1028(4.9%) 0(0.0%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [70] 50.0% simplify [71] 50.0% ------------------------------------------------------------------------ for-loop [55] 100.0% [64] 360(1.7%) 360(1.7%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------------ *rules* [56] 100.0% [65] 356(1.7%) 356(1.7%) for-loop ...ies/herbie/develop/src/common.rkt:94:9 ------------------------------------------------------------------------ for-loop [74] 50.0% for-loop [57] 50.0% [66] 356(1.7%) 0(0.0%) matcher ...rbie/develop/src/core/matcher.rkt:163:2 for-loop [74] 50.0% rewriter [50] 50.0% ------------------------------------------------------------------------ ??? [58] 100.0% [67] 8780(42.2%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:63:12 ??? [58] 100.0% ------------------------------------------------------------------------ errors [60] 100.0% [68] 1684(8.1%) 320(1.5%) for-loop ...es/herbie/develop/src/points.rkt:221:4 ulp-difference [77] 41.2% ??? [87] 39.8% ------------------------------------------------------------------------ hash-update! [61] 100.0% [69] 1370(6.6%) 364(1.7%) ??? ...s/herbie/develop/src/core/egraph.rkt:225:24 for-loop [75] 73.4% ------------------------------------------------------------------------ hash-ref! [63] 100.0% [70] 1028(4.9%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:44:15 hash-ref! [63] 100.0% ------------------------------------------------------------------------ hash-ref! [63] 100.0% [71] 1028(4.9%) 0(0.0%) simplify ...erbie/develop/src/core/reduce.rkt:15:0 parse-loop50 [84] 67.5% f16 [76] 32.5% ------------------------------------------------------------------------ errors [60] 100.0% [72] 1024(4.9%) 700(3.4%) eval-prog ...herbie/develop/src/programs.rkt:149:0 f16 [76] 31.6% ------------------------------------------------------------------------ ??? [58] 100.0% [73] 950(4.6%) 326(1.6%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [78] 65.7% ------------------------------------------------------------------------ matcher [66] 100.0% [74] 356(1.7%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:179:21 matcher [66] 100.0% ------------------------------------------------------------------------ ??? [69] 100.0% [75] 1006(4.8%) 682(3.3%) for-loop ...bie/develop/src/core/egraph.rkt:226:26 update-en-expr [83] 32.2% ------------------------------------------------------------------------ map [79] 11.4% loop [86] 11.4% simplify [71] 11.4% eval-prog [72] 16.6% split-table [17] 49.3% [76] 978(4.7%) 0(0.0%) f16 ...t/collects/racket/match/compiler.rkt:507:40 option-on-expr [80] 49.3% map [79] 34.2% ??? [54] 16.6% ------------------------------------------------------------------------ for-loop [68] 100.0% [77] 694(3.3%) 0(0.0%) ulp-difference ...erbie/develop/src/float.rkt:19:0 ??? [95] 51.9% return/no-unsupplied [81] 48.1% ------------------------------------------------------------------------ ??? [73] 100.0% [78] 624(3.0%) 300(1.4%) for-loop ...acket/contract/private/list.rkt:743:12 for-loop [82] 51.9% ------------------------------------------------------------------------ f16 [76] 5.1% loop [62] 16.1% make-exacts* [59] 78.8% [79] 6498(31.2%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 loop [86] 94.9% parse-loop50 [84] 3.4% f16 [76] 1.7% ------------------------------------------------------------------------ f16 [76] 100.0% [80] 644(3.1%) 0(0.0%) option-on-expr ...velop/src/core/regimes.rkt:102:0 errors [60] 100.0% ------------------------------------------------------------------------ ulp-difference [77] 100.0% [81] 334(1.6%) 0(0.0%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 filter [85] 100.0% ------------------------------------------------------------------------ for-loop [78] 100.0% [82] 324(1.6%) 324(1.6%) for-loop ...racket/contract/private/hash.rkt:239:6 ------------------------------------------------------------------------ for-loop [75] 100.0% [83] 324(1.6%) 324(1.6%) update-en-expr ...evelop/src/core/egraph.rkt:211:0 ------------------------------------------------------------------------ map [79] 32.5% parse-loop50 [84] 33.8% simplify [71] 33.8% [84] 1028(4.9%) 1028(4.9%) parse-loop50 ...s/racket/match/compiler.rkt:418:15 parse-loop50 [84] 33.8% loop [86] 16.2% ------------------------------------------------------------------------ return/no-unsupplied [81] 100.0% [85] 334(1.6%) 334(1.6%) filter ...t/collects/racket/private/list.rkt:256:2 ------------------------------------------------------------------------ make-exacts* [59] 0.0% map [79] 0.2% parse-loop50 [84] 1.4% loop [86] 98.4% [86] 7958(38.2%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [86] 98.4% f16 [76] 1.4% ??? [87] 0.2% ->flonum [88] 0.1% ------------------------------------------------------------------------ for-loop [68] 10.8% loop [86] 89.2% [87] 6224(29.9%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:155:4 ??? [89] 51.0% ??? [90] 49.0% ------------------------------------------------------------------------ loop [86] 100.0% [88] 2070(9.9%) 1340(6.4%) ->flonum ...s/herbie/develop/src/programs.rkt:37:0 ??? [95] 35.3% ------------------------------------------------------------------------ ??? [87] 100.0% [89] 3174(15.2%) 1042(5.0%) ??? ...acket/collects/racket/private/kw.rkt:444:14 bf* [92] 32.8% ??? [94] 23.1% ??? [93] 11.3% ------------------------------------------------------------------------ ??? [87] 100.0% [90] 3050(14.6%) 0(0.0%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [91] 100.0% ------------------------------------------------------------------------ ??? [90] 100.0% [91] 3050(14.6%) 2682(12.9%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [98] 12.1% ------------------------------------------------------------------------ ??? [89] 100.0% [92] 1040(5.0%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [94] 100.0% ------------------------------------------------------------------------ ??? [89] 100.0% [93] 358(1.7%) 0(0.0%) ??? ...herbie/develop/src/syntax/syntax.rkt:118:17 ??? [95] 100.0% ------------------------------------------------------------------------ ??? [89] 41.4% bf* [92] 58.6% [94] 1774(8.5%) 380(1.8%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfmul [96] 78.6% ------------------------------------------------------------------------ ??? [93] 24.7% ulp-difference [77] 24.9% ->flonum [88] 50.4% [95] 1448(7.0%) 730(3.5%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [97] 49.6% ------------------------------------------------------------------------ ??? [94] 100.0% [96] 1394(6.7%) 702(3.4%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [98] 49.6% ------------------------------------------------------------------------ ??? [95] 100.0% [97] 718(3.4%) 718(3.4%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 ------------------------------------------------------------------------ real->bigfloat [91] 34.7% bfmul [96] 65.3% [98] 1060(5.1%) 1060(5.1%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ------------------------------------------------------------------------