Profiling results ----------------- Total cpu time observed: 1308620ms (out of 1313588ms) Number of samples taken: 3728 (once every 351ms) (Hiding functions with self<1.0% and local<2.0%: 27 of 292 hidden) ============================================================================================ Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ============================================================================================ ??? [89] 100.0% [1] 1212556(92.7%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [21] 100.0% -------------------------------------------------------------------------------------------- ??? [89] 100.0% [2] 1160982(88.7%) 0(0.0%) run-improve50 ...ie/develop/src/mainloop.rkt:234:0 for-loop [22] 97.2% get-final-combination [31] 2.6% loop [105] 0.2% setup-alt-simplified [40] 0.0% -------------------------------------------------------------------------------------------- ??? [233] 100.0% [3] 704598(53.8%) 0(0.0%) approximate9 ...e/develop/src/core/taylor.rkt:12:0 loop [23] 99.8% f137 [188] 0.1% taylor [38] 0.1% apply-contract [42] 0.0% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [4] 697334(53.3%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:44:15 ??? [45] 98.7% hash-ref! [235] 0.8% simplify [44] 0.5% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [5] 687196(52.5%) 342(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:285:26 for-loop [24] 100.0% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [6] 463648(35.4%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:295:23 for-loop [25] 100.0% parse-loop12 [135] 0.0% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [7] 440608(33.7%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:322:33 for-loop [26] 100.0% -------------------------------------------------------------------------------------------- table-ref [234] 100.0% [8] 432846(33.1%) 368(0.0%) iterate-egraph!13 ...p/src/core/simplify.rkt:102:0 one-iter [27] 98.2% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [9] 359372(27.5%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:67:15 ??? [233] 98.9% hash-ref! [235] 1.1% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [10] 248330(19.0%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:392:23 for-loop [28] 99.9% partition-list [41] 0.1% -------------------------------------------------------------------------------------------- table-ref [234] 100.0% [11] 49986(3.8%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:215:2 pass [30] 100.0% -------------------------------------------------------------------------------------------- f137 [188] 100.0% [12] 28872(2.2%) 7996(0.6%) combine-mterms ...evelop/src/core/reduce.rkt:191:0 for-loop [32] 72.3% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [13] 15094(1.2%) 362(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:483:23 for-loop [33] 97.6% -------------------------------------------------------------------------------------------- loop [197] 20.1% parse-loop12 [135] 25.1% map [191] 54.8% [14] 7042(0.5%) 1368(0.1%) ??? ...ies/herbie/develop/src/core/reduce.rkt:61:5 for-loop [34] 75.4% pattern-match [52] 5.1% -------------------------------------------------------------------------------------------- loop [197] 100.0% [15] 6934(0.5%) 302(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:173:2 eval-const-expr [35] 51.6% setfindf [36] 38.9% compose [205] 5.1% -------------------------------------------------------------------------------------------- f137 [188] 100.0% [16] 2124(0.2%) 0(0.0%) taylor-invert ...develop/src/core/taylor.rkt:312:0 first-nonzero-exp [37] 66.0% simplify [44] 34.0% -------------------------------------------------------------------------------------------- loop [197] 46.7% map [191] 53.3% [17] 2050(0.2%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 hash-ref! [235] 41.6% taylor-sqrt [196] 31.8% f137 [188] 17.5% map [191] 9.2% -------------------------------------------------------------------------------------------- copying-mergesort [230] 100.0% [18] 1706(0.1%) 0(0.0%) jloop ...t/collects/racket/private/sort.rkt:121:23 ??? [29] 80.5% ??? [233] 19.5% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [19] 1512(0.1%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:338:33 for-loop [39] 78.6% hash-ref! [235] 21.4% -------------------------------------------------------------------------------------------- parse-loop12 [135] 3.2% loop [20] 96.8% [20] 332(0.0%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:36:19 loop [20] 96.8% ulp-difference [189] 3.2% -------------------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [21] 1212556(92.7%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [89] 100.0% -------------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [22] 1128758(86.3%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:249:10 run-iter! [43] 100.0% -------------------------------------------------------------------------------------------- approximate9 [3] 100.0% [23] 702976(53.7%) 326(0.0%) loop ...es/herbie/develop/src/core/taylor.rkt:86:4 hash-ref! [235] 51.1% ??? [233] 48.8% -------------------------------------------------------------------------------------------- ??? [5] 99.9% [24] 687530(52.5%) 364(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:285:52 ??? [45] 88.5% hash-ref! [235] 9.6% simplify [44] 1.9% -------------------------------------------------------------------------------------------- ??? [6] 100.0% [25] 463648(35.4%) 1056(0.1%) for-loop ...bie/develop/src/core/taylor.rkt:298:27 hash-ref! [235] 99.8% simplify [44] 0.1% -------------------------------------------------------------------------------------------- ??? [7] 100.0% [26] 440608(33.7%) 716(0.1%) for-loop ...bie/develop/src/core/taylor.rkt:324:46 hash-ref! [235] 99.8% simplify [44] 0.1% -------------------------------------------------------------------------------------------- iterate-egraph!13 [8] 100.0% [27] 425212(32.5%) 5720(0.4%) one-iter ...ie/develop/src/core/simplify.rkt:113:0 loop [46] 69.5% for-loop [48] 25.3% apply-match [60] 3.7% -------------------------------------------------------------------------------------------- ??? [10] 100.0% [28] 247970(18.9%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:396:33 for-loop [47] 100.0% -------------------------------------------------------------------------------------------- ??? [229] 0.4% map [191] 0.5% jloop [18] 1.8% loop [232] 9.9% for-loop [185] 31.7% loop [197] 55.7% [29] 76742(5.9%) 5380(0.4%) ??? ...tlies/herbie/develop/src/programs.rkt:154:4 ??? [49] 68.0% ??? [236] 18.0% ??? [233] 3.9% loop [197] 3.2% -------------------------------------------------------------------------------------------- loop [11] 100.0% [30] 49986(3.8%) 722(0.1%) pass ...herbie/develop/src/core/simplify.rkt:205:2 for-loop [50] 98.6% -------------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [31] 29972(2.3%) 0(0.0%) get-final-combination ...op/src/mainloop.rkt:264:0 split-table [51] 96.7% extract-alt [53] 3.3% -------------------------------------------------------------------------------------------- combine-mterms [12] 100.0% [32] 20876(1.6%) 9132(0.7%) for-loop ...rbie/develop/src/core/reduce.rkt:195:5 hash-ref! [235] 56.3% -------------------------------------------------------------------------------------------- ??? [13] 100.0% [33] 14732(1.1%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:487:35 parse-loop12 [135] 100.0% -------------------------------------------------------------------------------------------- ??? [14] 100.0% [34] 5312(0.4%) 720(0.1%) for-loop ...erbie/develop/src/core/reduce.rkt:62:7 pattern-match [52] 86.4% -------------------------------------------------------------------------------------------- for-loop [15] 100.0% [35] 3580(0.3%) 334(0.0%) eval-const-expr .../develop/src/programs.rkt:166:0 f137 [188] 62.2% ??? [190] 28.4% -------------------------------------------------------------------------------------------- for-loop [15] 100.0% [36] 2698(0.2%) 1290(0.1%) setfindf ...es/herbie/develop/src/common.rkt:179:0 for-loop [54] 26.8% ??? [174] 25.4% -------------------------------------------------------------------------------------------- taylor-sqrt [196] 19.9% taylor-invert [16] 80.1% [37] 1750(0.1%) 0(0.0%) first-nonzero-exp ...lop/src/core/taylor.rkt:260:0 hash-ref! [235] 80.1% ??? [45] 19.9% -------------------------------------------------------------------------------------------- approximate9 [3] 21.0% f137 [188] 79.0% [38] 1716(0.1%) 362(0.0%) taylor ...herbie/develop/src/core/taylor.rkt:163:0 debug7 [67] 57.9% debug-print [95] 21.0% -------------------------------------------------------------------------------------------- ??? [19] 100.0% [39] 1188(0.1%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:341:46 hash-ref! [235] 100.0% -------------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [40] 370(0.0%) 0(0.0%) setup-alt-simplified .../develop/src/glue.rkt:49:0 simplify-alt [55] 100.0% -------------------------------------------------------------------------------------------- ??? [10] 100.0% [41] 360(0.0%) 0(0.0%) partition-list ...evelop/src/core/taylor.rkt:376:0 rle [56] 100.0% -------------------------------------------------------------------------------------------- approximate9 [3] 100.0% [42] 310(0.0%) 0(0.0%) apply-contract ...t/contract/private/base.rkt:57:0 ??? [57] 100.0% -------------------------------------------------------------------------------------------- for-loop [22] 100.0% [43] 1128758(86.3%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:215:0 gen-series! [58] 62.4% simplify! [59] 35.5% finalize-iter! [63] 1.7% gen-rewrites! [70] 0.2% -------------------------------------------------------------------------------------------- taylor-sqrt [196] 0.0% for-loop [26] 0.1% taylor-invert [16] 0.1% for-loop [25] 0.2% parse-loop12 [135] 0.5% ??? [4] 0.5% for-loop [24] 15.4% hash-ref! [235] 82.1% [44] 699006(53.4%) 1008(0.1%) simplify ...erbie/develop/src/core/reduce.rkt:16:0 f137 [188] 67.0% parse-loop12 [135] 29.9% debug-print [95] 1.2% simplify-node [61] 1.1% simplify* [203] 0.4% debug7 [67] 0.3% -------------------------------------------------------------------------------------------- first-nonzero-exp [37] 0.1% ??? [4] 12.6% for-loop [24] 87.3% [45] 690118(52.7%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:288:19 hash-ref! [235] 100.0% -------------------------------------------------------------------------------------------- f137 [188] 1.7% one-iter [27] 98.3% [46] 300742(23.0%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [60] 98.3% f137 [188] 1.7% -------------------------------------------------------------------------------------------- for-loop [28] 100.0% [47] 247970(18.9%) 338(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:398:39 hash-ref! [235] 99.9% -------------------------------------------------------------------------------------------- for-loop [48] 49.2% one-iter [27] 50.8% [48] 107434(8.2%) 21624(1.7%) for-loop ...e/develop/src/core/simplify.rkt:123:12 for-loop [48] 49.2% match-e [79] 39.8% ??? [120] 0.1% -------------------------------------------------------------------------------------------- ??? [29] 100.0% [49] 52150(4.0%) 29250(2.2%) ??? ...acket/collects/racket/private/kw.rkt:444:14 ??? [83] 19.7% ??? [65] 7.1% bf* [68] 6.1% ??? [71] 4.8% for-loop [73] 2.8% ...higher-order.rkt:346:33 [74] 1.4% parse-loop12 [135] 0.8% ??? [209] 0.6% -------------------------------------------------------------------------------------------- pass [30] 100.0% [50] 49264(3.8%) 1044(0.1%) for-loop ...e/develop/src/core/simplify.rkt:208:29 argmin [62] 74.2% loop [64] 17.3% for-loop [69] 6.4% -------------------------------------------------------------------------------------------- get-final-combination [31] 100.0% [51] 28974(2.2%) 0(0.0%) split-table ...s/herbie/develop/src/glue.rkt:162:0 f137 [188] 100.0% -------------------------------------------------------------------------------------------- ??? [14] 7.3% for-loop [66] 21.6% for-loop [34] 71.1% [52] 4954(0.4%) 1382(0.1%) pattern-match ...develop/src/core/matcher.rkt:48:0 for-loop [66] 50.5% ??? [174] 11.0% variable? [107] 10.5% -------------------------------------------------------------------------------------------- get-final-combination [31] 100.0% [53] 998(0.1%) 0(0.0%) extract-alt ...es/herbie/develop/src/glue.rkt:55:0 loop [72] 100.0% -------------------------------------------------------------------------------------------- setfindf [36] 100.0% [54] 724(0.1%) 724(0.1%) for-loop ...es/herbie/develop/src/common.rkt:180:2 -------------------------------------------------------------------------------------------- setup-alt-simplified [40] 100.0% [55] 370(0.0%) 0(0.0%) simplify-alt ...s/herbie/develop/src/glue.rkt:76:0 table-ref [234] 100.0% -------------------------------------------------------------------------------------------- partition-list [41] 100.0% [56] 360(0.0%) 0(0.0%) rle ...es/herbie/develop/src/core/taylor.rkt:372:0 group-by68 [158] 100.0% -------------------------------------------------------------------------------------------- apply-contract [42] 100.0% [57] 310(0.0%) 310(0.0%) ??? ...ntract/private/arrow-higher-order.rkt:518:2 -------------------------------------------------------------------------------------------- run-iter! [43] 100.0% [58] 704598(53.8%) 0(0.0%) gen-series! ...rbie/develop/src/mainloop.rkt:129:0 for-loop [75] 100.0% -------------------------------------------------------------------------------------------- run-iter! [43] 100.0% [59] 400528(30.6%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:155:0 for-loop [76] 100.0% -------------------------------------------------------------------------------------------- one-iter [27] 5.1% loop [46] 94.9% [60] 311338(23.8%) 660(0.1%) apply-match ...develop/src/core/simplify.rkt:130:2 for-loop [77] 87.3% match-e [79] 9.9% update-leader! [106] 2.2% reduce-to-single! [87] 0.4% -------------------------------------------------------------------------------------------- simplify [44] 3.8% map [191] 96.2% [61] 201334(15.4%) 1050(0.1%) simplify-node .../develop/src/core/reduce.rkt:50:0 append-map [78] 40.8% f137 [188] 38.9% combine-aterms [82] 14.6% parse-loop12 [135] 4.0% loop [165] 0.5% make-addition-node* [88] 0.1% -------------------------------------------------------------------------------------------- for-loop [50] 100.0% [62] 36552(2.8%) 0(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [80] 92.7% expression-cost [84] 7.3% -------------------------------------------------------------------------------------------- run-iter! [43] 100.0% [63] 18810(1.4%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:169:0 ??? [174] 100.0% -------------------------------------------------------------------------------------------- for-loop [50] 100.0% [64] 8528(0.7%) 370(0.0%) loop ...hare/racket/collects/racket/list.rkt:729:4 for-loop [80] 78.9% expression-cost [84] 16.8% -------------------------------------------------------------------------------------------- ??? [49] 100.0% [65] 3680(0.3%) 1920(0.1%) ??? ...herbie/develop/src/syntax/syntax.rkt:122:17 ??? [243] 38.1% return/no-unsupplied [242] 9.7% -------------------------------------------------------------------------------------------- pattern-match [52] 100.0% [66] 3572(0.3%) 1436(0.1%) for-loop ...rbie/develop/src/core/matcher.rkt:66:9 pattern-match [52] 59.8% -------------------------------------------------------------------------------------------- taylor [38] 28.9% simplify [44] 71.1% [67] 3436(0.3%) 360(0.0%) debug7 ...tlies/herbie/develop/src/debug.rkt:102:0 ??? [243] 40.9% ??? [174] 38.6% return/no-unsupplied [242] 10.0% -------------------------------------------------------------------------------------------- ??? [49] 100.0% [68] 3164(0.2%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [83] 100.0% -------------------------------------------------------------------------------------------- for-loop [50] 100.0% [69] 3140(0.2%) 3140(0.2%) for-loop ...e/develop/src/core/simplify.rkt:195:13 -------------------------------------------------------------------------------------------- run-iter! [43] 100.0% [70] 2798(0.2%) 0(0.0%) gen-rewrites! ...ie/develop/src/mainloop.rkt:142:0 for-loop [85] 100.0% -------------------------------------------------------------------------------------------- ??? [49] 100.0% [71] 2498(0.2%) 2498(0.2%) ??? ...rivate/unconstrained-domain-arrow.rkt:40:13 -------------------------------------------------------------------------------------------- best-alt [237] 39.7% extract-alt [53] 60.3% [72] 1656(0.1%) 0(0.0%) loop ...htlies/herbie/develop/src/common.rkt:146:2 composed [81] 100.0% -------------------------------------------------------------------------------------------- ??? [49] 100.0% [73] 1436(0.1%) 0(0.0%) for-loop ...ie/develop/src/syntax/syntax.rkt:449:2 bf< [86] 100.0% -------------------------------------------------------------------------------------------- ??? [49] 100.0% [74] 724(0.1%) 0(0.0%) ...higher-order.rkt:346:33 (unknown source) ??? [154] 100.0% -------------------------------------------------------------------------------------------- gen-series! [58] 100.0% [75] 704598(53.8%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:135:7 taylor-alt [90] 100.0% -------------------------------------------------------------------------------------------- simplify! [59] 100.0% [76] 400528(30.6%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:159:6 ??? [89] 99.9% debug-print [95] 0.1% -------------------------------------------------------------------------------------------- apply-match [60] 100.0% [77] 271660(20.8%) 332(0.0%) for-loop ...e/develop/src/core/simplify.rkt:145:10 merge-egraph-nodes! [91] 27.0% mk-enode! [103] 25.7% loop! [202] 20.2% substitute-e [93] 19.6% list-member? [240] 7.3% -------------------------------------------------------------------------------------------- append-map [78] 0.3% parse-loop12 [135] 0.8% simplify-node [61] 11.2% f137 [188] 87.7% [78] 192810(14.7%) 15700(1.2%) append-map ...acket/collects/racket/list.rkt:565:2 f137 [188] 77.9% parse-loop12 [135] 15.4% loop [197] 2.4% free-variables [170] 1.6% append-map [78] 0.3% -------------------------------------------------------------------------------------------- apply-match [60] 15.6% for-loop [104] 26.3% for-loop [48] 58.1% [79] 116360(8.9%) 43430(3.3%) match-e ...herbie/develop/src/core/ematch.rkt:46:0 for-loop [92] 43.7% ??? [174] 8.7% for-loop [104] 7.6% variable? [107] 2.9% loop [197] 1.9% list-cartesian-product [110] 1.7% curry* [208] 0.3% -------------------------------------------------------------------------------------------- loop [64] 16.6% argmin [62] 83.4% [80] 40602(3.1%) 664(0.1%) for-loop .../herbie/develop/src/programs.rkt:199:2 table-ref [234] 69.9% ...velop/src/common.rkt:47:2 [143] 24.4% ??? [141] 4.0% -------------------------------------------------------------------------------------------- loop [72] 4.2% f137 [188] 95.8% [81] 39240(3.0%) 728(0.1%) composed ...ollects/racket/private/list.rkt:321:16 f137 [188] 86.0% parse-loop12 [135] 5.2% errors [183] 4.2% free-variables [170] 1.8% -------------------------------------------------------------------------------------------- simplify-node [61] 100.0% [82] 29436(2.2%) 2826(0.2%) combine-aterms ...evelop/src/core/reduce.rkt:183:0 for-loop [94] 90.4% -------------------------------------------------------------------------------------------- bf* [68] 23.5% ??? [49] 76.5% [83] 13442(1.0%) 714(0.1%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfmul [96] 60.7% bfneg [97] 34.0% -------------------------------------------------------------------------------------------- loop [64] 34.8% argmin [62] 65.2% [84] 4108(0.3%) 720(0.1%) expression-cost .../develop/src/programs.rkt:198:0 compile [98] 82.5% -------------------------------------------------------------------------------------------- gen-rewrites! [70] 100.0% [85] 2798(0.2%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:147:11 ??? [99] 100.0% -------------------------------------------------------------------------------------------- for-loop [73] 100.0% [86] 1436(0.1%) 0(0.0%) bf< ...th/private/bigfloat/bigfloat-mpfr.rkt:127:4 ??? [100] 100.0% -------------------------------------------------------------------------------------------- apply-match [60] 100.0% [87] 1374(0.1%) 712(0.1%) reduce-to-single! ...lop/src/core/egraph.rkt:324:0 for-loop [101] 24.3% make-sequence [151] 23.9% -------------------------------------------------------------------------------------------- simplify-node [61] 100.0% [88] 278(0.0%) 0(0.0%) make-addition-node* ...p/src/core/reduce.rkt:222:0 make-addition-node [144] 100.0% -------------------------------------------------------------------------------------------- for-loop [76] 10.3% run [21] 41.8% [89] 1289742(98.6%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 41.8% run-improve50 [2] 39.9% table-ref [234] 16.1% loop [105] 2.1% -------------------------------------------------------------------------------------------- for-loop [75] 100.0% [90] 704598(53.8%) 0(0.0%) taylor-alt ...es/herbie/develop/src/glue.rkt:134:0 for-loop [102] 100.0% -------------------------------------------------------------------------------------------- merge-egraph-nodes! [91] 4.3% for-loop [109] 5.4% for-loop [77] 90.3% [91] 73468(5.6%) 664(0.1%) merge-egraph-nodes! ...p/src/core/egraph.rkt:152:0 update-leader! [106] 48.0% loop! [202] 17.5% for-loop [108] 16.9% for-loop [109] 8.7% merge-egraph-nodes! [91] 4.3% enode-merge! [113] 3.0% for-loop [130] 0.7% -------------------------------------------------------------------------------------------- match-e [79] 100.0% [92] 66722(5.1%) 20404(1.6%) for-loop ...rbie/develop/src/core/ematch.rkt:59:11 for-loop [104] 60.7% list-cartesian-product [110] 6.3% loop [197] 4.7% curry* [208] 0.5% filter [253] 0.5% foldl [207] 0.3% -------------------------------------------------------------------------------------------- substitute-e [93] 5.4% for-loop [77] 94.6% [93] 53372(4.1%) 980(0.1%) substitute-e ...e/develop/src/core/ematch.rkt:71:0 mk-enode! [103] 89.8% substitute-e [93] 5.4% ??? [174] 1.6% variable? [107] 1.6% -------------------------------------------------------------------------------------------- combine-aterms [82] 100.0% [94] 26610(2.0%) 10002(0.8%) for-loop ...rbie/develop/src/core/reduce.rkt:185:4 hash-ref! [235] 62.4% -------------------------------------------------------------------------------------------- taylor [38] 4.1% for-loop [76] 4.1% simplify [44] 91.8% [95] 8778(0.7%) 1372(0.1%) debug-print .../herbie/develop/src/debug.rkt:107:0 for-loop [111] 84.4% -------------------------------------------------------------------------------------------- ??? [83] 100.0% [96] 8158(0.6%) 6438(0.5%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [252] 21.1% -------------------------------------------------------------------------------------------- ??? [83] 100.0% [97] 4570(0.3%) 4250(0.3%) bfneg ...-lib/math/private/bigfloat/mpfr.rkt:616:4 ??? [252] 7.0% -------------------------------------------------------------------------------------------- expression-cost [84] 100.0% [98] 3388(0.3%) 334(0.0%) compile ...s/herbie/develop/src/programs.rkt:175:0 hash-ref! [235] 90.1% -------------------------------------------------------------------------------------------- for-loop [85] 100.0% [99] 2798(0.2%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:88:0 rewriter [112] 100.0% -------------------------------------------------------------------------------------------- bf< [86] 100.0% [100] 1436(0.1%) 1436(0.1%) ??? ...tract/private/arrow-higher-order.rkt:346:33 -------------------------------------------------------------------------------------------- reduce-to-single! [87] 100.0% [101] 334(0.0%) 334(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:325:8 -------------------------------------------------------------------------------------------- taylor-alt [90] 100.0% [102] 704598(53.8%) 0(0.0%) for-loop ...lies/herbie/develop/src/glue.rkt:139:6 ??? [233] 100.0% -------------------------------------------------------------------------------------------- expr->enode [256] 0.9% substitute-e [93] 40.4% for-loop [77] 58.8% [103] 118786(9.1%) 11386(0.9%) mk-enode! ...bie/develop/src/core/egraph.rkt:101:0 new-enode [114] 87.8% hash-has-key? [176] 2.0% -------------------------------------------------------------------------------------------- match-e [79] 24.3% for-loop [92] 75.7% [104] 59500(4.5%) 4036(0.3%) for-loop ...rbie/develop/src/core/ematch.rkt:65:37 match-e [79] 93.2% ??? [120] 2.3% -------------------------------------------------------------------------------------------- run-improve50 [2] 3.4% ??? [89] 96.6% [105] 55790(4.3%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:193:2 loop [116] 52.0% make-exacts* [127] 40.8% loop [128] 5.9% for-loop [123] 1.3% -------------------------------------------------------------------------------------------- apply-match [60] 14.9% merge-egraph-nodes! [91] 85.1% [106] 45534(3.5%) 3116(0.2%) update-leader! ...evelop/src/core/egraph.rkt:217:0 for-loop [115] 89.3% make-sequence [151] 1.5% custom-set-union! [124] 0.9% update-en-expr [213] 0.8% hash-ref! [235] 0.7% -------------------------------------------------------------------------------------------- pattern-match [52] 4.1% simplify* [203] 4.2% substitute-e [93] 9.1% expression->type [199] 14.6% match-e [79] 30.8% free-variables [170] 37.3% [107] 25700(2.0%) 362(0.0%) variable? ...e/develop/src/syntax/syntax.rkt:567:0 ??? [174] 98.6% -------------------------------------------------------------------------------------------- merge-egraph-nodes! [91] 100.0% [108] 12752(1.0%) 9234(0.7%) for-loop ...rbie/develop/src/core/egraph.rkt:232:6 update-en-expr [213] 27.6% -------------------------------------------------------------------------------------------- merge-egraph-nodes! [91] 100.0% [109] 10632(0.8%) 0(0.0%) for-loop ...bie/develop/src/core/egraph.rkt:200:10 merge-egraph-nodes! [91] 77.5% loop! [202] 22.5% -------------------------------------------------------------------------------------------- list-cartesian-product [110] 21.2% match-e [79] 28.9% for-loop [92] 49.9% [110] 8622(0.7%) 6912(0.5%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [110] 21.2% for-loop [119] 15.9% -------------------------------------------------------------------------------------------- debug-print [95] 100.0% [111] 7406(0.6%) 7406(0.6%) for-loop ...ies/herbie/develop/src/debug.rkt:113:2 -------------------------------------------------------------------------------------------- ??? [99] 26.1% matcher [129] 73.9% [112] 2798(0.2%) 334(0.0%) rewriter ...bie/develop/src/core/matcher.rkt:131:2 for-loop [117] 73.9% *rules* [118] 19.3% f137 [188] 4.4% -------------------------------------------------------------------------------------------- merge-egraph-nodes! [91] 100.0% [113] 2394(0.2%) 0(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:129:0 adopt-enode! [121] 56.7% custom-set-intersect! [122] 43.3% -------------------------------------------------------------------------------------------- mk-enode! [103] 100.0% [114] 104274(8.0%) 362(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:97:0 type-of-enode-expr [125] 98.3% set [212] 1.0% -------------------------------------------------------------------------------------------- update-leader! [106] 100.0% [115] 40650(3.1%) 694(0.1%) for-loop ...rbie/develop/src/core/egraph.rkt:222:6 for-loop [126] 97.4% update-en-expr [213] 0.9% -------------------------------------------------------------------------------------------- loop [105] 100.0% [116] 29036(2.2%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:151:2 loop [128] 41.2% make-exacts* [127] 36.9% eval-prog [186] 21.9% -------------------------------------------------------------------------------------------- rewriter [112] 100.0% [117] 2798(0.2%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:134:10 matcher [129] 100.0% -------------------------------------------------------------------------------------------- rewriter [112] 100.0% [118] 2098(0.2%) 694(0.1%) *rules* ...rbie/develop/src/syntax/rules.rkt:484:0 for-loop [130] 49.8% flag-set? [134] 17.2% -------------------------------------------------------------------------------------------- list-cartesian-product [110] 100.0% [119] 1710(0.1%) 1710(0.1%) for-loop ...erbie/develop/src/core/ematch.rkt:24:8 -------------------------------------------------------------------------------------------- for-loop [48] 18.0% for-loop [104] 82.0% [120] 1658(0.1%) 692(0.1%) ??? ...ies/herbie/develop/src/core/ematch.rkt:50:5 for-loop [131] 58.3% -------------------------------------------------------------------------------------------- enode-merge! [113] 100.0% [121] 1358(0.1%) 0(0.0%) adopt-enode! ...e/develop/src/core/enode.rkt:105:0 custom-set-union [211] 100.0% -------------------------------------------------------------------------------------------- enode-merge! [113] 100.0% [122] 1036(0.1%) 1036(0.1%) custom-set-intersect! ...ivate/set-types.rkt:269:0 -------------------------------------------------------------------------------------------- loop [105] 100.0% [123] 698(0.1%) 0(0.0%) for-loop ...s/herbie/develop/src/points.rkt:200:24 for-loop [132] 100.0% -------------------------------------------------------------------------------------------- update-leader! [106] 100.0% [124] 390(0.0%) 0(0.0%) custom-set-union! ...t/private/set-types.rkt:245:0 for-loop [133] 100.0% -------------------------------------------------------------------------------------------- new-enode [114] 100.0% [125] 102500(7.8%) 2666(0.2%) type-of-enode-expr ...elop/src/core/enode.rkt:68:0 get-sigs [136] 97.0% parse-loop12 [135] 0.4% -------------------------------------------------------------------------------------------- for-loop [115] 100.0% [126] 39604(3.0%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:223:8 hash-update! [137] 100.0% -------------------------------------------------------------------------------------------- loop [116] 32.0% loop [105] 68.0% [127] 33482(2.6%) 316(0.0%) make-exacts* ...erbie/develop/src/points.rkt:138:0 loop [197] 47.6% map [191] 41.9% eval-prog [186] 9.5% -------------------------------------------------------------------------------------------- loop [105] 21.6% loop [116] 78.4% [128] 15248(1.2%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:141:4 map [191] 100.0% -------------------------------------------------------------------------------------------- matcher [129] 23.3% for-loop [138] 26.7% for-loop [117] 50.0% [129] 2798(0.2%) 0(0.0%) matcher ...rbie/develop/src/core/matcher.rkt:167:2 rewriter [112] 50.0% for-loop [138] 26.7% matcher [129] 23.3% -------------------------------------------------------------------------------------------- merge-egraph-nodes! [91] 38.5% *rules* [118] 61.5% [130] 1698(0.1%) 1014(0.1%) for-loop ...ies/herbie/develop/src/common.rkt:94:9 ormap [139] 40.3% -------------------------------------------------------------------------------------------- ??? [120] 100.0% [131] 966(0.1%) 632(0.0%) for-loop ...erbie/develop/src/core/ematch.rkt:51:7 ??? [174] 34.6% -------------------------------------------------------------------------------------------- for-loop [123] 100.0% [132] 698(0.1%) 0(0.0%) for-loop ...s/herbie/develop/src/points.rkt:201:26 ??? [233] 100.0% -------------------------------------------------------------------------------------------- custom-set-union! [124] 100.0% [133] 390(0.0%) 390(0.0%) for-loop ...cts/racket/private/set-types.rkt:253:4 -------------------------------------------------------------------------------------------- *rules* [118] 100.0% [134] 360(0.0%) 360(0.0%) flag-set? ...es/herbie/develop/src/config.rkt:32:0 -------------------------------------------------------------------------------------------- ??? [6] 0.1% type-of-enode-expr [125] 0.1% ??? [49] 0.1% simplify-node [61] 0.2% hash-ref! [235] 0.2% composed [81] 0.3% make-addition-node [144] 1.2% f137 [188] 1.4% for-loop [33] 2.5% loop [197] 9.2% simplify [44] 14.6% append-map [78] 18.5% parse-loop12 [135] 24.6% map [191] 27.0% [135] 559474(42.8%) 287388(22.0%) parse-loop12 ...s/racket/match/compiler.rkt:418:15 parse-loop12 [135] 24.6% loop [197] 12.4% map [191] 8.9% f137 [188] 8.6% make-multiplication-node [145] 7.3% for-loop [140] 6.5% parse-app [192] 1.8% make-addition-node [144] 1.3% simplify* [203] 1.2% append-map [78] 0.7% simplify [44] 0.6% ??? [14] 0.1% make-keyword-procedure [264] 0.1% loop [20] 0.0% -------------------------------------------------------------------------------------------- type-of-enode-expr [125] 100.0% [136] 99472(7.6%) 2980(0.2%) get-sigs .../herbie/develop/src/type-check.rkt:5:0 ??? [141] 42.4% table-ref [234] 25.6% ??? [174] 15.9% ...velop/src/common.rkt:47:2 [143] 13.1% -------------------------------------------------------------------------------------------- for-loop [126] 100.0% [137] 39604(3.0%) 992(0.1%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [142] 97.5% -------------------------------------------------------------------------------------------- matcher [129] 100.0% [138] 2438(0.2%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:183:21 matcher [129] 100.0% -------------------------------------------------------------------------------------------- for-loop [130] 100.0% [139] 684(0.1%) 332(0.0%) ormap ...et/collects/racket/private/map.rkt:105:13 list-member? [240] 51.5% -------------------------------------------------------------------------------------------- parse-loop12 [135] 100.0% [140] 69838(5.3%) 694(0.1%) for-loop ...rbie/develop/src/core/reduce.rkt:99:13 make-multiplication-node [145] 58.8% f137 [188] 40.2% -------------------------------------------------------------------------------------------- for-loop [80] 3.4% f137 [188] 9.7% get-sigs [136] 86.9% [141] 48488(3.7%) 3376(0.3%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 ??? [147] 54.0% for-loop [148] 36.2% get/build-late-neg-projection [169] 2.8% -------------------------------------------------------------------------------------------- hash-update! [137] 100.0% [142] 38612(3.0%) 334(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:225:24 for-loop [146] 98.3% make-sequence [151] 0.9% -------------------------------------------------------------------------------------------- ??? [233] 2.8% for-loop [80] 42.1% get-sigs [136] 55.1% [143] 23574(1.8%) 4830(0.4%) ...velop/src/common.rkt:47:2 ...e/arr-i.rkt:906:19 ??? [149] 41.5% ??? [150] 33.7% coerce-contract [152] 4.3% -------------------------------------------------------------------------------------------- make-addition-node* [88] 3.5% parse-loop12 [135] 96.5% [144] 7990(0.6%) 2434(0.2%) make-addition-node ...op/src/core/reduce.rkt:208:0 parse-loop12 [135] 85.4% loop [165] 5.0% partition [166] 3.6% loop [197] 1.6% -------------------------------------------------------------------------------------------- loop [197] 1.0% map [191] 16.2% for-loop [140] 39.5% parse-loop12 [135] 42.8% [145] 104012(7.9%) 1024(0.1%) make-multiplication-node .../core/reduce.rkt:230:0 make-multiplication-subnode [153] 99.0% -------------------------------------------------------------------------------------------- ??? [142] 100.0% [146] 37942(2.9%) 31306(2.4%) for-loop ...bie/develop/src/core/egraph.rkt:226:26 update-en-expr [213] 17.5% -------------------------------------------------------------------------------------------- ??? [141] 100.0% [147] 26206(2.0%) 2130(0.2%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [155] 91.9% -------------------------------------------------------------------------------------------- for-loop [248] 14.5% ??? [141] 85.5% [148] 20522(1.6%) 3236(0.2%) for-loop ...racket/contract/private/hash.rkt:239:6 ??? [154] 84.2% -------------------------------------------------------------------------------------------- ...velop/src/common.rkt:47:2 [143] 100.0% [149] 9794(0.7%) 5234(0.4%) ??? ...s/racket/contract/private/arr-i.rkt:1268:39 ??? [243] 23.0% assoc-ref [156] 13.5% return/no-unsupplied [242] 10.1% -------------------------------------------------------------------------------------------- for-loop [161] 4.2% ??? [154] 17.8% ...velop/src/common.rkt:47:2 [143] 77.9% [150] 7948(0.6%) 1732(0.1%) ??? ...ects/racket/contract/private/list.rkt:342:4 ??? [154] 73.7% ??? [249] 13.3% -------------------------------------------------------------------------------------------- reduce-to-single! [87] 24.0% ??? [142] 24.6% update-leader! [106] 51.3% [151] 1364(0.1%) 1364(0.1%) make-sequence ...ects/racket/private/for.rkt:509:2 -------------------------------------------------------------------------------------------- ...velop/src/common.rkt:47:2 [143] 100.0% [152] 1002(0.1%) 1002(0.1%) coerce-contract ...contract/private/guts.rkt:257:0 -------------------------------------------------------------------------------------------- make-multiplication-node [145] 100.0% [153] 102988(7.9%) 6634(0.5%) make-multiplication-subnode ...re/reduce.rkt:240:0 for-loop [157] 65.9% group-by68 [158] 25.7% compose [205] 2.0% -------------------------------------------------------------------------------------------- ??? [239] 2.3% ...higher-order.rkt:346:33 [74] 2.7% table-ref [234] 3.6% ??? [150] 27.9% for-loop [148] 63.4% [154] 27252(2.1%) 6466(0.5%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [160] 60.9% ??? [150] 10.4% for-loop [161] 3.8% ??? [209] 1.2% -------------------------------------------------------------------------------------------- ??? [147] 100.0% [155] 24076(1.8%) 2354(0.2%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [159] 90.2% -------------------------------------------------------------------------------------------- ??? [149] 100.0% [156] 1318(0.1%) 1318(0.1%) assoc-ref ...collects/racket/private/dict.rkt:56:0 -------------------------------------------------------------------------------------------- make-multiplication-subnode [153] 100.0% [157] 67838(5.2%) 7344(0.6%) for-loop ...rbie/develop/src/core/reduce.rkt:242:3 make-multiplication-subsubsubnode [162] 79.8% mterm->expr [167] 4.2% partition [166] 2.6% compose [205] 1.1% map [191] 1.0% loop [165] 0.5% -------------------------------------------------------------------------------------------- rle [56] 1.3% make-multiplication-subnode [153] 98.7% [158] 26780(2.0%) 22182(1.7%) group-by68 ...acket/collects/racket/list.rkt:749:0 hash-update [164] 17.2% -------------------------------------------------------------------------------------------- ??? [155] 100.0% [159] 21722(1.7%) 368(0.0%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [163] 98.3% -------------------------------------------------------------------------------------------- ??? [154] 100.0% [160] 16584(1.3%) 986(0.1%) ??? ...ects/racket/contract/private/list.rkt:686:7 ??? [249] 91.9% ??? [209] 2.2% -------------------------------------------------------------------------------------------- ??? [154] 100.0% [161] 1032(0.1%) 360(0.0%) for-loop ...acket/contract/private/list.rkt:190:15 ??? [150] 65.1% -------------------------------------------------------------------------------------------- make-multiplication-subsubsubnode [162] 30.8% for-loop [157] 69.2% [162] 54114(4.1%) 6708(0.5%) make-multiplication-subsubsubnode ...uce.rkt:262:0 mterm->expr [167] 60.1% make-multiplication-subsubsubnode [162] 30.8% -------------------------------------------------------------------------------------------- ??? [159] 100.0% [163] 21354(1.6%) 4164(0.3%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [168] 51.6% get/build-late-neg-projection [169] 28.9% -------------------------------------------------------------------------------------------- group-by68 [158] 100.0% [164] 4598(0.4%) 4598(0.4%) hash-update ...cket/private/more-scheme.rkt:356:13 -------------------------------------------------------------------------------------------- for-loop [157] 8.5% simplify-node [61] 24.8% make-addition-node [144] 66.7% [165] 4252(0.3%) 4252(0.3%) loop ...hare/racket/collects/racket/list.rkt:551:2 -------------------------------------------------------------------------------------------- make-addition-node [144] 26.1% for-loop [157] 73.9% [166] 2386(0.2%) 2386(0.2%) partition ...racket/collects/racket/list.rkt:547:0 -------------------------------------------------------------------------------------------- for-loop [157] 5.7% make-multiplication-subsubsubnode [162] 94.3% [167] 50254(3.8%) 15066(1.2%) mterm->expr ...e/develop/src/core/reduce.rkt:270:0 free-variables [170] 32.2% expression->type [199] 17.3% ??? [243] 7.7% return/no-unsupplied [242] 6.3% type-of [172] 3.5% f137 [188] 2.9% -------------------------------------------------------------------------------------------- for-loop [163] 100.0% [168] 11018(0.8%) 11018(0.8%) add-list-context ...ontract/private/list.rkt:752:0 -------------------------------------------------------------------------------------------- ??? [173] 6.9% ??? [141] 11.2% for-loop [163] 81.9% [169] 7534(0.6%) 1396(0.1%) get/build-late-neg-projection ...te/guts.rkt:691:0 ??? [171] 70.3% ??? [173] 11.2% -------------------------------------------------------------------------------------------- loop [193] 1.1% composed [81] 2.2% append-map [78] 46.5% mterm->expr [167] 50.1% [170] 32286(2.5%) 8356(0.6%) free-variables ...e/develop/src/programs.rkt:100:0 ??? [174] 44.5% variable? [107] 29.7% -------------------------------------------------------------------------------------------- get/build-late-neg-projection [169] 100.0% [171] 5816(0.4%) 1450(0.1%) ??? ...cts/racket/contract/private/prop.rkt:314:12 build-compound-type-name [175] 75.1% -------------------------------------------------------------------------------------------- mterm->expr [167] 100.0% [172] 1782(0.1%) 1782(0.1%) type-of .../herbie/develop/src/type-check.rkt:38:0 -------------------------------------------------------------------------------------------- get/build-late-neg-projection [169] 100.0% [173] 1362(0.1%) 322(0.0%) ??? ...ects/racket/contract/private/hash.rkt:211:2 get/build-late-neg-projection [169] 76.4% -------------------------------------------------------------------------------------------- for-loop [131] 0.3% setfindf [36] 0.6% f137 [188] 1.0% pattern-match [52] 1.0% debug7 [67] 1.3% substitute-e [93] 2.0% ??? [249] 2.2% expression->type [199] 3.0% free-variables [170] 13.6% get-sigs [136] 15.0% finalize-iter! [63] 17.5% match-e [79] 18.2% variable? [107] 23.9% [174] 105848(8.1%) 48870(3.7%) ??? ...contract/private/arrow-val-first.rkt:357:18 hash-has-key? [176] 34.6% for-loop [177] 17.1% ??? [249] 1.3% -------------------------------------------------------------------------------------------- contract-struct-name [178] 14.8% ??? [171] 85.2% [175] 4366(0.3%) 3652(0.3%) build-compound-type-name ...private/guts.rkt:448:0 contract-struct-name [178] 31.2% -------------------------------------------------------------------------------------------- mk-enode! [103] 6.1% ??? [174] 93.9% [176] 39534(3.0%) 15734(1.2%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [239] 51.5% ??? [180] 8.7% -------------------------------------------------------------------------------------------- ??? [174] 100.0% [177] 18476(1.4%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [179] 100.0% -------------------------------------------------------------------------------------------- build-compound-type-name [175] 100.0% [178] 2008(0.2%) 714(0.1%) contract-struct-name ...ract/private/prop.rkt:89:0 build-compound-type-name [175] 64.4% -------------------------------------------------------------------------------------------- for-loop [177] 98.2% [179] 18810(1.4%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:208:0 best-and-tied-at-points [181] 95.0% override-at-pnts [182] 5.0% -------------------------------------------------------------------------------------------- hash-has-key? [176] 100.0% [180] 3450(0.3%) 3450(0.3%) ??? ...ects/racket/contract/private/hash.rkt:245:7 -------------------------------------------------------------------------------------------- atab-add-altn [179] 100.0% [181] 17874(1.4%) 328(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [183] 88.8% for-loop [184] 9.4% -------------------------------------------------------------------------------------------- atab-add-altn [179] 100.0% [182] 936(0.1%) 0(0.0%) override-at-pnts ...p/src/core/alt-table.rkt:145:0 errors [183] 100.0% -------------------------------------------------------------------------------------------- override-at-pnts [182] 2.7% composed [81] 4.8% option-on-expr [204] 8.7% loop [197] 37.8% best-and-tied-at-points [181] 46.0% [183] 34518(2.6%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:218:0 for-loop [185] 82.2% eval-prog [186] 17.8% -------------------------------------------------------------------------------------------- best-and-tied-at-points [181] 100.0% [184] 1680(0.1%) 986(0.1%) for-loop .../develop/src/core/alt-table.rkt:124:16 ??? [187] 41.3% -------------------------------------------------------------------------------------------- errors [183] 100.0% [185] 28388(2.2%) 1648(0.1%) for-loop ...es/herbie/develop/src/points.rkt:221:4 ??? [29] 85.6% ulp-difference [189] 6.0% ??? [233] 2.5% -------------------------------------------------------------------------------------------- sort-context-on-expr [214] 2.1% make-exacts* [127] 19.9% errors [183] 38.3% loop [116] 39.7% [186] 16010(1.2%) 2414(0.2%) eval-prog ...herbie/develop/src/programs.rkt:148:0 hash-ref! [235] 41.8% f137 [188] 38.8% parse-app [192] 2.3% ??? [190] 2.1% -------------------------------------------------------------------------------------------- for-loop [184] 100.0% [187] 694(0.1%) 694(0.1%) ??? ...ket/collects/racket/private/for.rkt:1151:14 -------------------------------------------------------------------------------------------- ??? [17] 0.0% loop [193] 0.0% rewriter [112] 0.1% approximate9 [3] 0.1% mterm->expr [167] 0.1% hash-ref! [235] 0.1% loop [46] 0.3% for-loop [206] 0.3% for-loop [140] 0.3% eval-prog [186] 0.4% eval-const-expr [35] 0.4% composed [81] 0.5% simplify-node [61] 0.7% f137 [188] 2.6% loop [197] 4.4% parse-loop12 [135] 4.7% split-table [51] 5.2% append-map [78] 12.7% simplify [44] 22.3% map [191] 44.9% [188] 539912(41.3%) 56698(4.3%) f137 .../collects/racket/match/compiler.rkt:507:40 map [191] 69.9% append-map [78] 13.6% loop [197] 4.9% f137 [188] 2.6% gather-multiplicative-terms [198] 0.8% composed [81] 0.7% combine-mterms [12] 0.6% ??? [233] 0.4% parse-loop12 [135] 0.4% loop [193] 0.3% option-on-expr [204] 0.3% compose [205] 0.3% ??? [194] 0.3% loop [46] 0.3% ??? [141] 0.3% parse-app [192] 0.2% table-ref [234] 0.2% ??? [174] 0.1% make-keyword-procedure [264] 0.1% expression->type [199] 0.0% taylor [38] 0.0% taylor-sqrt [196] 0.0% taylor-invert [16] 0.0% -------------------------------------------------------------------------------------------- loop [20] 16.3% for-loop [185] 83.7% [189] 2042(0.2%) 1080(0.1%) ulp-difference ...erbie/develop/src/float.rkt:19:0 return/no-unsupplied [242] 30.9% ??? [243] 16.3% -------------------------------------------------------------------------------------------- eval-prog [186] 24.7% eval-const-expr [35] 75.3% [190] 1352(0.1%) 326(0.0%) ??? ...cket/collects/racket/private/kw.rkt:1633:36 unpack245 [195] 75.9% -------------------------------------------------------------------------------------------- for-loop [157] 0.0% ??? [17] 0.1% gather-multiplicative-terms [198] 1.2% make-exacts* [127] 2.6% loop [128] 2.8% parse-loop12 [135] 11.3% f137 [188] 81.9% [191] 536204(41.0%) 7946(0.6%) map ...acket/collects/racket/private/map.rkt:20:13 f137 [188] 56.4% parse-loop12 [135] 23.4% loop [197] 11.8% simplify-node [61] 4.9% simplify* [203] 1.2% gather-multiplicative-terms [198] 1.1% make-multiplication-node [145] 0.6% ??? [17] 0.2% ??? [14] 0.1% ??? [233] 0.1% ??? [29] 0.1% -------------------------------------------------------------------------------------------- eval-prog [186] 1.7% f137 [188] 14.6% parse-loop12 [135] 83.7% [192] 21572(1.6%) 18422(1.4%) parse-app .../collects/racket/private/kw.rkt:951:2 loop [200] 14.6% -------------------------------------------------------------------------------------------- f137 [188] 100.0% [193] 8428(0.6%) 1040(0.1%) loop ...es/herbie/develop/src/core/reduce.rkt:18:2 expression->type [199] 71.2% f137 [188] 12.2% free-variables [170] 4.2% -------------------------------------------------------------------------------------------- f137 [188] 100.0% [194] 1500(0.1%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:336:46 ??? [249] 100.0% -------------------------------------------------------------------------------------------- ??? [190] 100.0% [195] 1026(0.1%) 0(0.0%) unpack245 ...private/arrow-higher-order.rkt:354:44 maybe-cons-kwd [201] 100.0% -------------------------------------------------------------------------------------------- f137 [188] 34.8% ??? [17] 65.2% [196] 1000(0.1%) 0(0.0%) taylor-sqrt ...e/develop/src/core/taylor.rkt:346:0 first-nonzero-exp [37] 34.8% hash-ref! [235] 32.6% simplify [44] 32.6% -------------------------------------------------------------------------------------------- make-exacts* [127] 0.0% make-addition-node [144] 0.1% ??? [29] 0.2% match-e [79] 0.4% option-on-expr [204] 1.0% for-loop [92] 1.0% append-map [78] 1.8% loop! [202] 2.3% f137 [188] 3.4% map [191] 9.3% parse-loop12 [135] 21.2% loop [197] 58.4% [197] 373560(28.5%) 12896(1.0%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [197] 58.4% parse-loop12 [135] 19.5% f137 [188] 11.5% option-on-expr [204] 3.4% loop! [202] 2.1% errors [183] 1.0% hash-ref! [235] 0.7% make-multiplication-node [145] 0.2% foldl [207] 0.2% ??? [233] 0.2% simplify* [203] 0.2% ??? [29] 0.2% for-loop [15] 0.2% ??? [17] 0.1% ??? [14] 0.1% ??? [236] 0.0% ??? [209] 0.0% -------------------------------------------------------------------------------------------- gather-multiplicative-terms [198] 0.5% map [191] 44.0% f137 [188] 55.5% [198] 35878(2.7%) 28624(2.2%) gather-multiplicative-terms ...re/reduce.rkt:116:0 map [191] 49.2% compose [205] 7.3% curry* [208] 2.0% gather-multiplicative-terms [198] 0.5% -------------------------------------------------------------------------------------------- f137 [188] 2.4% loop [193] 12.5% for-loop [206] 28.8% mterm->expr [167] 56.4% [199] 15428(1.2%) 1800(0.1%) expression->type ...evelop/src/type-check.rkt:45:0 for-loop [206] 43.5% variable? [107] 24.3% ??? [174] 20.6% -------------------------------------------------------------------------------------------- loop [200] 5.7% parse-app [192] 94.3% [200] 3150(0.2%) 3150(0.2%) loop .../collects/racket/private/stxcase.rkt:112:7 loop [200] 5.7% -------------------------------------------------------------------------------------------- unpack245 [195] 100.0% [201] 1026(0.1%) 334(0.0%) maybe-cons-kwd ...ate/arrow-higher-order.rkt:498:0 unsafe-chaperone-procedure [210] 34.9% successfully-got-the-right-kind-of-function [258] 32.6% -------------------------------------------------------------------------------------------- for-loop [109] 2.4% merge-egraph-nodes! [91] 15.9% loop [197] 29.4% for-loop [77] 52.3% [202] 73016(5.6%) 11586(0.9%) loop! ...s/herbie/develop/src/core/enode.rkt:192:2 custom-set-union [211] 38.6% loop [197] 33.6% set [212] 14.5% update-en-expr [213] 4.4% -------------------------------------------------------------------------------------------- loop [197] 2.9% simplify [44] 5.1% parse-loop12 [135] 34.7% map [191] 57.3% [203] 48910(3.7%) 24574(1.9%) simplify* ...rbie/develop/src/core/reduce.rkt:31:0 hash-ref! [235] 20.8% ??? [215] 19.6% return/no-unsupplied [242] 7.1% variable? [107] 2.2% -------------------------------------------------------------------------------------------- f137 [188] 7.0% loop [197] 93.0% [204] 28974(2.2%) 0(0.0%) option-on-expr ...velop/src/core/regimes.rkt:103:0 loop [197] 45.0% sort-context-on-expr [214] 35.6% errors [183] 10.4% err-lsts->split-indices [217] 6.7% pick-errors [220] 2.3% -------------------------------------------------------------------------------------------- for-loop [15] 3.5% for-loop [157] 7.1% make-multiplication-subnode [153] 20.7% gather-multiplicative-terms [198] 34.0% f137 [188] 34.8% [205] 10146(0.8%) 10146(0.8%) compose ...collects/racket/private/list.rkt:385:12 -------------------------------------------------------------------------------------------- expression->type [199] 100.0% [206] 6708(0.5%) 312(0.0%) for-loop ...herbie/develop/src/type-check.rkt:52:5 expression->type [199] 66.2% f137 [188] 29.2% -------------------------------------------------------------------------------------------- for-loop [92] 15.3% loop [197] 84.7% [207] 2372(0.2%) 324(0.0%) foldl ...et/collects/racket/private/list.rkt:229:4 merge2 [216] 86.3% -------------------------------------------------------------------------------------------- match-e [79] 20.1% for-loop [92] 39.6% gather-multiplicative-terms [198] 40.3% [208] 1782(0.1%) 1076(0.1%) curry* ...racket/collects/racket/function.rkt:44:2 procedure-arity [218] 39.6% -------------------------------------------------------------------------------------------- loop [197] 24.3% ??? [154] 24.5% ??? [49] 24.8% ??? [160] 26.4% [209] 1364(0.1%) 666(0.1%) ??? ...ects/racket/contract/private/prop.rkt:493:4 ??? [219] 51.2% -------------------------------------------------------------------------------------------- maybe-cons-kwd [201] 100.0% [210] 358(0.0%) 358(0.0%) unsafe-chaperone-procedure ...ivate/kw.rkt:1588:11 -------------------------------------------------------------------------------------------- adopt-enode! [121] 4.2% loop! [202] 95.8% [211] 32212(2.5%) 11864(0.9%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [221] 52.7% for-loop [223] 10.5% -------------------------------------------------------------------------------------------- new-enode [114] 4.9% loop! [202] 95.1% [212] 21816(1.7%) 21816(1.7%) set ...collects/racket/private/set-types.rkt:981:0 -------------------------------------------------------------------------------------------- update-leader! [106] 2.0% for-loop [115] 2.0% for-loop [108] 20.0% for-loop [146] 37.7% loop! [202] 38.4% [213] 17618(1.3%) 17618(1.3%) update-en-expr ...evelop/src/core/egraph.rkt:211:0 -------------------------------------------------------------------------------------------- option-on-expr [204] 100.0% [214] 10314(0.8%) 0(0.0%) sort-context-on-expr ...velop/src/points.rkt:115:0 ??? [222] 96.8% eval-prog [186] 3.2% -------------------------------------------------------------------------------------------- simplify* [203] 100.0% [215] 9578(0.7%) 3540(0.3%) ??? ...racket/collects/racket/private/kw.rkt:762:9 ??? [251] 55.6% ??? [249] 7.5% -------------------------------------------------------------------------------------------- foldl [207] 100.0% [216] 2048(0.2%) 2048(0.2%) merge2 .../herbie/develop/src/core/ematch.rkt:31:0 -------------------------------------------------------------------------------------------- option-on-expr [204] 100.0% [217] 1946(0.1%) 0(0.0%) err-lsts->split-indices .../core/regimes.rkt:222:0 add-splitpoint [224] 100.0% -------------------------------------------------------------------------------------------- curry* [208] 100.0% [218] 706(0.1%) 706(0.1%) procedure-arity ...ket/private/norm-arity.rkt:7:27 -------------------------------------------------------------------------------------------- ??? [209] 100.0% [219] 698(0.1%) 698(0.1%) ??? ...lects/racket/contract/private/orc.rkt:83:14 -------------------------------------------------------------------------------------------- option-on-expr [204] 100.0% [220] 654(0.0%) 0(0.0%) pick-errors .../develop/src/core/regimes.rkt:184:0 for-loop [225] 100.0% -------------------------------------------------------------------------------------------- custom-set-union [211] 100.0% [221] 16974(1.3%) 4156(0.3%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [226] 75.5% -------------------------------------------------------------------------------------------- sort-context-on-expr [214] 100.0% [222] 9980(0.8%) 0(0.0%) ??? ...cket/collects/racket/private/sort.rkt:403:3 generic-sort/key [227] 75.9% loop [232] 24.1% -------------------------------------------------------------------------------------------- custom-set-union [211] 100.0% [223] 3374(0.3%) 3374(0.3%) for-loop ...cts/racket/private/set-types.rkt:152:2 -------------------------------------------------------------------------------------------- err-lsts->split-indices [217] 100.0% [224] 1946(0.1%) 0(0.0%) add-splitpoint ...velop/src/core/regimes.rkt:235:2 for-loop [228] 100.0% -------------------------------------------------------------------------------------------- pick-errors [220] 100.0% [225] 654(0.0%) 0(0.0%) for-loop ...bie/develop/src/core/regimes.rkt:186:2 ??? [229] 100.0% -------------------------------------------------------------------------------------------- for-loop [221] 100.0% [226] 12818(1.0%) 12818(1.0%) for-loop ...cts/racket/private/set-types.rkt:178:5 -------------------------------------------------------------------------------------------- ??? [222] 100.0% [227] 7574(0.6%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:185:2 copying-mergesort [230] 72.7% loop [232] 27.3% -------------------------------------------------------------------------------------------- add-splitpoint [224] 100.0% [228] 1946(0.1%) 0(0.0%) for-loop ...bie/develop/src/core/regimes.rkt:237:4 for-loop [231] 100.0% -------------------------------------------------------------------------------------------- for-loop [225] 100.0% [229] 654(0.0%) 0(0.0%) ??? ...s/herbie/develop/src/core/regimes.rkt:177:2 ??? [29] 50.2% ??? [233] 49.8% -------------------------------------------------------------------------------------------- generic-sort/key [227] 43.5% copying-mergesort [230] 56.5% [230] 5510(0.4%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:130:8 copying-mergesort [230] 56.5% loop [232] 35.7% jloop [18] 7.7% -------------------------------------------------------------------------------------------- for-loop [228] 100.0% [231] 1946(0.1%) 1946(0.1%) for-loop ...bie/develop/src/core/regimes.rkt:241:8 -------------------------------------------------------------------------------------------- generic-sort/key [227] 24.9% ??? [222] 29.1% copying-mergesort [230] 46.0% [232] 8274(0.6%) 0(0.0%) loop ...ket/collects/racket/private/sort.rkt:97:12 ??? [29] 91.7% ??? [233] 8.3% -------------------------------------------------------------------------------------------- ??? [229] 0.0% jloop [18] 0.0% map [191] 0.1% loop [232] 0.1% for-loop [132] 0.1% for-loop [185] 0.1% ??? [29] 0.4% loop [197] 0.5% f137 [188] 0.8% loop [23] 15.9% ??? [9] 16.6% table-ref [234] 32.7% for-loop [102] 32.7% [233] 720324(55.0%) 1018(0.1%) ??? ...tract/private/arrow-higher-order.rkt:342:33 table-ref [234] 34.1% approximate9 [3] 32.7% hash-ref! [235] 32.5% ??? [236] 0.3% ??? [249] 0.2% ...velop/src/common.rkt:47:2 [143] 0.1% best-alt [237] 0.1% -------------------------------------------------------------------------------------------- simplify-alt [55] 0.0% f137 [188] 0.1% get-sigs [136] 0.7% for-loop [80] 0.8% table-ref [234] 3.0% for-loop [238] 17.5% ??? [89] 19.1% ??? [233] 58.5% [234] 1199400(91.7%) 13332(1.0%) table-ref .../racket/private/norm-define.rkt:53:83 ??? [233] 57.6% iterate-egraph!13 [8] 17.7% for-loop [238] 17.5% table-ref [234] 3.0% loop [11] 1.7% ??? [239] 1.2% return/no-unsupplied [242] 0.2% ??? [243] 0.2% list-member? [240] 0.1% mk-egraph [245] 0.0% ??? [247] 0.0% ??? [154] 0.0% dict? [261] 0.0% -------------------------------------------------------------------------------------------- ??? [19] 0.0% taylor-sqrt [196] 0.0% for-loop [39] 0.0% first-nonzero-exp [37] 0.0% update-leader! [106] 0.0% simplify* [203] 0.1% ??? [17] 0.1% for-loop [32] 0.1% for-loop [94] 0.1% ??? [4] 0.2% ??? [9] 0.2% compile [98] 0.3% loop [197] 0.3% eval-prog [186] 0.6% for-loop [47] 1.5% for-loop [26] 2.9% for-loop [24] 3.8% loop [23] 3.9% ??? [233] 6.2% for-loop [25] 8.3% ??? [45] 70.8% [235] 716506(54.8%) 41248(3.2%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [5] 70.1% ??? [6] 8.4% ??? [4] 6.0% simplify [44] 4.6% ??? [9] 4.2% ??? [7] 2.9% ??? [10] 1.5% bigfloat-hash [244] 0.6% f137 [188] 0.3% parse-loop12 [135] 0.2% ??? [13] 0.1% ??? [19] 0.0% -------------------------------------------------------------------------------------------- loop [197] 4.4% ??? [233] 12.5% ??? [29] 83.1% [236] 16602(1.3%) 2380(0.2%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [241] 81.5% integer->bigfloat [246] 4.2% -------------------------------------------------------------------------------------------- ??? [233] 100.0% [237] 658(0.1%) 0(0.0%) best-alt ...tlies/herbie/develop/src/glue.rkt:71:0 loop [72] 100.0% -------------------------------------------------------------------------------------------- table-ref [234] 100.0% [238] 436488(33.4%) 326(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:63:12 table-ref [234] 99.9% -------------------------------------------------------------------------------------------- hash-has-key? [176] 33.3% table-ref [234] 66.7% [239] 61036(4.7%) 19604(1.5%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [248] 53.0% ??? [259] 11.6% arrow-higher-order:lnp [262] 1.7% ??? [154] 1.0% successfully-got-the-right-kind-of-function [258] 0.5% -------------------------------------------------------------------------------------------- ormap [139] 1.7% table-ref [234] 3.2% for-loop [77] 95.2% [240] 20926(1.6%) 1014(0.1%) list-member? ...llects/racket/private/set.rkt:24:0 loop [250] 92.0% member [257] 3.2% -------------------------------------------------------------------------------------------- ??? [236] 100.0% [241] 13526(1.0%) 11204(0.9%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [252] 17.2% -------------------------------------------------------------------------------------------- debug7 [67] 2.6% ??? [65] 2.7% ulp-difference [189] 4.8% ??? [149] 7.5% mterm->expr [167] 24.3% simplify* [203] 26.7% table-ref [234] 31.4% [242] 13088(1.0%) 8632(0.7%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 filter [253] 34.0% -------------------------------------------------------------------------------------------- ulp-difference [189] 2.6% ??? [65] 10.8% debug7 [67] 10.9% ??? [149] 17.4% table-ref [234] 28.3% mterm->expr [167] 30.0% [243] 12954(1.0%) 3050(0.2%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [251] 68.7% ??? [249] 7.7% -------------------------------------------------------------------------------------------- hash-ref! [235] 100.0% [244] 6362(0.5%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:165:0 bfcanonicalize [254] 70.9% sig+exp->bigfloat [255] 29.1% -------------------------------------------------------------------------------------------- table-ref [234] 100.0% [245] 1016(0.1%) 0(0.0%) mk-egraph ...bie/develop/src/core/egraph.rkt:123:0 expr->enode [256] 100.0% -------------------------------------------------------------------------------------------- ??? [236] 100.0% [246] 696(0.1%) 336(0.0%) integer->bigfloat ...ivate/bigfloat/mpfr.rkt:399:0 ??? [252] 51.7% -------------------------------------------------------------------------------------------- table-ref [234] 100.0% [247] 368(0.0%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:60:15 ??? [252] 100.0% -------------------------------------------------------------------------------------------- ??? [239] 100.0% [248] 32358(2.5%) 23238(1.8%) for-loop ...acket/contract/private/list.rkt:743:12 ??? [259] 18.0% for-loop [148] 9.2% arrow-higher-order:lnp [262] 1.0% -------------------------------------------------------------------------------------------- ??? [215] 3.1% ??? [243] 4.3% ??? [233] 5.8% ??? [174] 6.1% ??? [194] 6.4% ??? [150] 9.0% ??? [160] 65.3% [249] 23344(1.8%) 17696(1.4%) ??? ...ects/racket/contract/private/guts.rkt:644:8 ??? [174] 12.2% contract? [260] 9.0% dict? [261] 2.9% -------------------------------------------------------------------------------------------- list-member? [240] 100.0% [250] 19242(1.5%) 19242(1.5%) loop (unknown source) -------------------------------------------------------------------------------------------- ??? [215] 37.4% ??? [243] 62.6% [251] 14226(1.1%) 13898(1.1%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 ??? [263] 2.3% -------------------------------------------------------------------------------------------- bfneg [97] 6.3% integer->bigfloat [246] 7.1% ??? [247] 7.2% bfmul [96] 33.8% real->bigfloat [241] 45.6% [252] 5090(0.4%) 5090(0.4%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 -------------------------------------------------------------------------------------------- for-loop [92] 6.9% return/no-unsupplied [242] 93.1% [253] 4788(0.4%) 4788(0.4%) filter ...t/collects/racket/private/list.rkt:256:2 -------------------------------------------------------------------------------------------- bigfloat-hash [244] 100.0% [254] 4512(0.3%) 4512(0.3%) bfcanonicalize .../private/bigfloat/mpfr.rkt:155:0 -------------------------------------------------------------------------------------------- bigfloat-hash [244] 100.0% [255] 1850(0.1%) 1850(0.1%) sig+exp->bigfloat ...ivate/bigfloat/mpfr.rkt:385:0 -------------------------------------------------------------------------------------------- mk-egraph [245] 27.7% expr->enode [256] 72.3% [256] 1016(0.1%) 0(0.0%) expr->enode ...e/develop/src/core/egraph.rkt:124:2 expr->enode [256] 72.3% mk-enode! [103] 27.7% -------------------------------------------------------------------------------------------- list-member? [240] 100.0% [257] 670(0.1%) 670(0.1%) member (unknown source) -------------------------------------------------------------------------------------------- ??? [239] 47.5% maybe-cons-kwd [201] 52.5% [258] 636(0.0%) 636(0.0%) successfully-got-the-right-kind-of-function ...9:4 -------------------------------------------------------------------------------------------- for-loop [248] 45.1% ??? [239] 54.9% [259] 12926(1.0%) 5982(0.5%) ??? ...private/unconstrained-domain-arrow.rkt:74:4 make-keyword-procedure [264] 53.7% -------------------------------------------------------------------------------------------- ??? [249] 100.0% [260] 2110(0.2%) 2110(0.2%) contract? ...acket/contract/private/guts.rkt:109:0 -------------------------------------------------------------------------------------------- ??? [249] 48.6% table-ref [234] 51.4% [261] 1406(0.1%) 1406(0.1%) dict? ...ollects/racket/private/generic.rkt:146:11 -------------------------------------------------------------------------------------------- for-loop [248] 22.7% ??? [239] 77.3% [262] 1354(0.1%) 362(0.0%) arrow-higher-order:lnp ...w-higher-order.rkt:597:7 ??? [265] 73.3% -------------------------------------------------------------------------------------------- ??? [251] 100.0% [263] 328(0.0%) 328(0.0%) ??? ...ects/racket/contract/private/prop.rkt:256:4 -------------------------------------------------------------------------------------------- f137 [188] 7.2% parse-loop12 [135] 18.6% ??? [259] 74.2% [264] 9364(0.7%) 9364(0.7%) make-keyword-procedure ...ket/private/kw.rkt:260:4 -------------------------------------------------------------------------------------------- arrow-higher-order:lnp [262] 100.0% [265] 992(0.1%) 992(0.1%) ??? ...et/contract/private/arity-checking.rkt:19:2 --------------------------------------------------------------------------------------------