Profiling results ----------------- Total cpu time observed: 2468832ms (out of 2475804ms) Number of samples taken: 7446 (once every 332ms) (Hiding functions with self<1.0% and local<2.0%: 25 of 294 hidden) =========================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =========================================================================================== ??? [82] 100.0% [1] 1885018(76.4%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [25] 100.0% ------------------------------------------------------------------------------------------- ??? [82] 100.0% [2] 1868342(75.7%) 0(0.0%) run-improve50 ...ie/develop/src/mainloop.rkt:234:0 for-loop [26] 98.9% get-final-combination [32] 0.9% setup-alt-simplified [40] 0.2% prepare-points [98] 0.0% ------------------------------------------------------------------------------------------- ??? [196] 100.0% [3] 1846124(74.8%) 300(0.0%) iterate-egraph!13 ...p/src/core/simplify.rkt:105:0 one-iter [27] 98.6% map-enodes [31] 1.3% debug-print [198] 0.0% debug7 [208] 0.0% ------------------------------------------------------------------------------------------- ??? [196] 100.0% [4] 449148(18.2%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:237:2 pass [28] 100.0% ------------------------------------------------------------------------------------------- ??? [192] 100.0% [5] 61508(2.5%) 0(0.0%) approximate9 ...e/develop/src/core/taylor.rkt:12:0 loop [29] 94.8% f66 [191] 4.7% taylor-quotient [13] 0.5% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [6] 54442(2.2%) 300(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:67:15 ??? [192] 80.3% hash-ref! [202] 19.4% ------------------------------------------------------------------------------------------- parse-loop12 [170] 0.3% ??? [38] 1.0% f66 [191] 97.9% [7] 47664(1.9%) 652(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 f66 [191] 57.8% simplify-node [66] 20.7% parse-loop12 [170] 9.1% make-multiplication-node [180] 3.1% ??? [38] 2.5% simplify* [39] 2.0% taylor [193] 1.0% ??? [192] 1.0% taylor-invert [17] 0.8% taylor-quotient [13] 0.5% ??? [19] 0.4% loop [197] 0.2% ------------------------------------------------------------------------------------------- expression->type [188] 0.7% type-of-enode-expr [106] 0.7% substitute-e [75] 22.1% match-e [61] 76.5% [8] 45584(1.8%) 2608(0.1%) variable? ...e/develop/src/syntax/syntax.rkt:665:0 ??? [124] 94.3% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [9] 33428(1.4%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:285:26 for-loop [30] 100.0% ------------------------------------------------------------------------------------------- map-enodes [31] 3.1% loop [197] 96.9% [10] 20964(0.8%) 5222(0.2%) for-loop ...ie/develop/src/core/simplify.rkt:195:2 setfindf [34] 54.4% compose [41] 9.4% eval-const-expr [43] 6.3% curried [237] 5.0% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [11] 16118(0.7%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:295:23 for-loop [33] 100.0% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [12] 9116(0.4%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:338:33 hash-ref! [202] 51.6% for-loop [37] 48.4% ------------------------------------------------------------------------------------------- approximate9 [5] 4.4% hash-ref! [202] 5.2% map [7] 13.9% f66 [191] 76.5% [13] 6872(0.3%) 0(0.0%) taylor-quotient ...velop/src/core/taylor.rkt:328:0 first-nonzero-exp [35] 71.7% simplify [51] 28.3% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [14] 6154(0.2%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:392:23 for-loop [36] 100.0% ------------------------------------------------------------------------------------------- rewriter [103] 100.0% [15] 2930(0.1%) 0(0.0%) *rules* ...rbie/develop/src/syntax/rules.rkt:565:0 for-loop [220] 100.0% ------------------------------------------------------------------------------------------- f66 [191] 100.0% [16] 2688(0.1%) 0(0.0%) loop ...es/herbie/develop/src/core/reduce.rkt:18:2 expression->type [188] 100.0% ------------------------------------------------------------------------------------------- map [7] 44.8% f66 [191] 55.2% [17] 2248(0.1%) 0(0.0%) taylor-invert ...develop/src/core/taylor.rkt:312:0 first-nonzero-exp [35] 69.1% curry* [92] 15.7% simplify [51] 15.2% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [18] 1660(0.1%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:322:33 for-loop [42] 100.0% ------------------------------------------------------------------------------------------- map [7] 100.0% [19] 962(0.0%) 0(0.0%) ??? ...ies/herbie/develop/src/core/reduce.rkt:61:5 for-loop [44] 100.0% ------------------------------------------------------------------------------------------- parse-loop12 [170] 100.0% [20] 672(0.0%) 0(0.0%) for-loop ...rbie/develop/src/core/reduce.rkt:89:11 make-multiplication-node [180] 100.0% ------------------------------------------------------------------------------------------- copying-mergesort [258] 100.0% [21] 628(0.0%) 0(0.0%) jloop ...t/collects/racket/private/sort.rkt:121:23 ??? [155] 100.0% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [22] 328(0.0%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:483:23 for-loop [45] 100.0% ------------------------------------------------------------------------------------------- matcher [121] 100.0% [23] 310(0.0%) 0(0.0%) for-loop ...bie/develop/src/core/matcher.rkt:159:6 pattern-substitute [229] 100.0% ------------------------------------------------------------------------------------------- ??? [192] 100.0% [24] 300(0.0%) 0(0.0%) best-alt ...tlies/herbie/develop/src/glue.rkt:71:0 loop [46] 100.0% ------------------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [25] 1885018(76.4%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [82] 100.0% ------------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [26] 1847568(74.8%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:249:10 run-iter! [47] 100.0% ------------------------------------------------------------------------------------------- iterate-egraph!13 [3] 100.0% [27] 1820988(73.8%) 18632(0.8%) one-iter ...ie/develop/src/core/simplify.rkt:116:0 for-loop [48] 80.9% for-loop [50] 18.0% filter [263] 0.0% ------------------------------------------------------------------------------------------- loop [4] 100.0% [28] 449148(18.2%) 1310(0.1%) pass ...herbie/develop/src/core/simplify.rkt:227:2 for-loop [49] 99.7% ------------------------------------------------------------------------------------------- approximate9 [5] 100.0% [29] 58314(2.4%) 0(0.0%) loop ...es/herbie/develop/src/core/taylor.rkt:86:4 hash-ref! [202] 93.4% ??? [192] 6.6% ------------------------------------------------------------------------------------------- ??? [9] 100.0% [30] 33428(1.4%) 304(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:285:52 hash-ref! [202] 84.5% ??? [53] 11.8% simplify [51] 2.7% ------------------------------------------------------------------------------------------- iterate-egraph!13 [3] 100.0% [31] 24132(1.0%) 0(0.0%) map-enodes ...ie/develop/src/core/egraph.rkt:140:0 loop [197] 97.3% for-loop [10] 2.7% ------------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [32] 17190(0.7%) 0(0.0%) get-final-combination ...op/src/mainloop.rkt:264:0 split-table [52] 97.9% extract-alt [58] 2.1% ------------------------------------------------------------------------------------------- ??? [11] 100.0% [33] 16118(0.7%) 328(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:298:27 hash-ref! [202] 97.1% simplify [51] 1.8% ------------------------------------------------------------------------------------------- for-loop [10] 100.0% [34] 11400(0.5%) 5852(0.2%) setfindf ...es/herbie/develop/src/common.rkt:186:0 for-loop [55] 39.6% ??? [124] 9.0% ------------------------------------------------------------------------------------------- taylor-invert [17] 24.0% taylor-quotient [13] 76.0% [35] 6482(0.3%) 0(0.0%) first-nonzero-exp ...lop/src/core/taylor.rkt:260:0 hash-ref! [202] 90.5% simplify [51] 9.5% ------------------------------------------------------------------------------------------- ??? [14] 100.0% [36] 6154(0.2%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:396:33 for-loop [54] 100.0% ------------------------------------------------------------------------------------------- ??? [12] 100.0% [37] 5540(0.2%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:341:46 hash-ref! [202] 100.0% ------------------------------------------------------------------------------------------- loop [197] 18.0% map [7] 82.0% [38] 5204(0.2%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 f66 [191] 81.2% hash-ref! [202] 16.5% map [7] 2.2% ------------------------------------------------------------------------------------------- map [7] 100.0% [39] 3652(0.1%) 1346(0.1%) simplify* ...rbie/develop/src/core/reduce.rkt:31:0 hash-ref! [202] 36.1% return/no-unsupplied [254] 27.0% ------------------------------------------------------------------------------------------- run-improve50 [2] 100.0% [40] 2852(0.1%) 0(0.0%) setup-alt-simplified .../develop/src/glue.rkt:49:0 simplify-alt [56] 100.0% ------------------------------------------------------------------------------------------- for-loop [10] 100.0% [41] 1974(0.1%) 1974(0.1%) compose ...collects/racket/private/list.rkt:385:12 ------------------------------------------------------------------------------------------- ??? [18] 100.0% [42] 1660(0.1%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:324:46 hash-ref! [202] 100.0% ------------------------------------------------------------------------------------------- for-loop [10] 100.0% [43] 1322(0.1%) 0(0.0%) eval-const-expr .../develop/src/programs.rkt:168:0 f66 [191] 76.6% ??? [160] 23.4% ------------------------------------------------------------------------------------------- ??? [19] 100.0% [44] 962(0.0%) 318(0.0%) for-loop ...erbie/develop/src/core/reduce.rkt:62:7 pattern-match [57] 66.9% ------------------------------------------------------------------------------------------- ??? [22] 100.0% [45] 328(0.0%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:487:35 parse-loop12 [170] 100.0% ------------------------------------------------------------------------------------------- best-alt [24] 100.0% [46] 300(0.0%) 0(0.0%) loop ...htlies/herbie/develop/src/common.rkt:153:2 composed [195] 100.0% ------------------------------------------------------------------------------------------- for-loop [26] 100.0% [47] 1847568(74.8%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:215:0 simplify! [59] 93.6% gen-series! [64] 3.3% finalize-iter! [65] 2.8% gen-rewrites! [69] 0.2% ------------------------------------------------------------------------------------------- one-iter [27] 100.0% [48] 1472356(59.6%) 5566(0.2%) for-loop ...ie/develop/src/core/simplify.rkt:166:2 for-loop [60] 90.4% match-e [61] 8.7% reduce-to-single! [68] 0.3% update-leader! [84] 0.2% ------------------------------------------------------------------------------------------- pass [28] 100.0% [49] 447838(18.1%) 6834(0.3%) for-loop ...e/develop/src/core/simplify.rkt:230:29 argmin [62] 76.8% loop [63] 16.6% for-loop [67] 4.6% make-sequence [221] 0.4% filter [263] 0.1% ------------------------------------------------------------------------------------------- for-loop [50] 48.9% one-iter [27] 51.1% [50] 327450(13.3%) 70906(2.9%) for-loop ...e/develop/src/core/simplify.rkt:126:12 for-loop [50] 48.9% match-e [61] 39.1% ??? [101] 0.0% ------------------------------------------------------------------------------------------- for-loop [33] 0.5% loop [197] 0.5% taylor-invert [17] 0.6% first-nonzero-exp [35] 1.1% for-loop [30] 1.6% taylor-quotient [13] 3.4% hash-ref! [202] 91.8% [51] 57664(2.3%) 312(0.0%) simplify ...erbie/develop/src/core/reduce.rkt:16:0 f66 [191] 76.2% simplify-node [66] 11.9% parse-loop12 [170] 3.9% debug7 [208] 2.8% debug-print [198] 2.3% make-multiplication-node [180] 2.3% ------------------------------------------------------------------------------------------- get-final-combination [32] 100.0% [52] 16836(0.7%) 0(0.0%) split-table ...s/herbie/develop/src/glue.rkt:162:0 f66 [191] 98.1% ??? [124] 1.9% ------------------------------------------------------------------------------------------- ??? [216] 4.3% for-loop [30] 95.7% [53] 14954(0.6%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:288:19 hash-ref! [202] 100.0% ------------------------------------------------------------------------------------------- for-loop [36] 100.0% [54] 6154(0.2%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:398:39 hash-ref! [202] 100.0% ------------------------------------------------------------------------------------------- setfindf [34] 100.0% [55] 4520(0.2%) 4520(0.2%) for-loop ...es/herbie/develop/src/common.rkt:187:2 ------------------------------------------------------------------------------------------- setup-alt-simplified [40] 100.0% [56] 2852(0.1%) 0(0.0%) simplify-alt ...s/herbie/develop/src/glue.rkt:76:0 ??? [196] 100.0% ------------------------------------------------------------------------------------------- for-loop [70] 25.0% for-loop [44] 75.0% [57] 644(0.0%) 0(0.0%) pattern-match ...develop/src/core/matcher.rkt:48:0 for-loop [70] 75.0% ??? [124] 25.0% ------------------------------------------------------------------------------------------- get-final-combination [32] 100.0% [58] 354(0.0%) 0(0.0%) extract-alt ...es/herbie/develop/src/glue.rkt:55:0 argmins [71] 100.0% ------------------------------------------------------------------------------------------- run-iter! [47] 100.0% [59] 1729224(70.0%) 302(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:155:0 for-loop [72] 100.0% ------------------------------------------------------------------------------------------- for-loop [48] 100.0% [60] 1330354(53.9%) 6530(0.3%) for-loop ...e/develop/src/core/simplify.rkt:148:10 mk-enode! [83] 32.1% merge-egraph-nodes! [73] 29.1% substitute-e [75] 25.5% loop! [95] 9.7% list-member? [203] 3.0% ------------------------------------------------------------------------------------------- for-loop [48] 21.2% for-loop [85] 27.3% for-loop [50] 51.5% [61] 384746(15.6%) 128688(5.2%) match-e ...herbie/develop/src/core/ematch.rkt:46:0 for-loop [76] 47.1% for-loop [85] 10.8% ??? [124] 5.4% variable? [8] 3.5% list-cartesian-product [89] 2.5% loop [197] 2.4% custom-in-set [248] 0.9% curry* [92] 0.5% ------------------------------------------------------------------------------------------- for-loop [49] 100.0% [62] 343782(13.9%) 354(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [74] 90.0% expression-cost [78] 9.9% ------------------------------------------------------------------------------------------- for-loop [49] 100.0% [63] 74322(3.0%) 0(0.0%) loop ...hare/racket/collects/racket/list.rkt:729:4 for-loop [74] 93.2% expression-cost [78] 6.8% ------------------------------------------------------------------------------------------- run-iter! [47] 100.0% [64] 61508(2.5%) 0(0.0%) gen-series! ...rbie/develop/src/mainloop.rkt:129:0 for-loop [77] 100.0% ------------------------------------------------------------------------------------------- run-iter! [47] 100.0% [65] 51032(2.1%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:169:0 ??? [124] 100.0% ------------------------------------------------------------------------------------------- simplify [51] 25.5% map [7] 74.5% [66] 26926(1.1%) 0(0.0%) simplify-node .../develop/src/core/reduce.rkt:50:0 append-map [79] 79.2% f66 [191] 19.6% ------------------------------------------------------------------------------------------- for-loop [49] 100.0% [67] 20620(0.8%) 20620(0.8%) for-loop ...e/develop/src/core/simplify.rkt:217:13 ------------------------------------------------------------------------------------------- for-loop [48] 100.0% [68] 4990(0.2%) 1980(0.1%) reduce-to-single! ...lop/src/core/egraph.rkt:325:0 for-loop [81] 46.7% make-sequence [221] 13.6% ------------------------------------------------------------------------------------------- run-iter! [47] 100.0% [69] 3902(0.2%) 0(0.0%) gen-rewrites! ...ie/develop/src/mainloop.rkt:142:0 for-loop [80] 100.0% ------------------------------------------------------------------------------------------- pattern-match [57] 100.0% [70] 644(0.0%) 322(0.0%) for-loop ...rbie/develop/src/core/matcher.rkt:66:9 pattern-match [57] 50.0% ------------------------------------------------------------------------------------------- extract-alt [58] 100.0% [71] 354(0.0%) 0(0.0%) argmins ...ies/herbie/develop/src/common.rkt:152:0 composed [195] 100.0% ------------------------------------------------------------------------------------------- simplify! [59] 98.5% [72] 1754672(71.1%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:159:6 ??? [82] 100.0% foldl [205] 0.0% debug-print [198] 0.0% ------------------------------------------------------------------------------------------- merge-egraph-nodes! [73] 4.3% for-loop [86] 8.2% for-loop [60] 87.4% [73] 387376(15.7%) 7690(0.3%) merge-egraph-nodes! ...p/src/core/egraph.rkt:153:0 update-leader! [84] 48.7% for-loop [86] 15.4% for-loop [88] 12.3% loop! [95] 12.1% merge-egraph-nodes! [73] 4.3% enode-merge! [91] 3.6% for-loop [220] 1.3% make-sequence [221] 0.5% ------------------------------------------------------------------------------------------- loop [63] 18.3% argmin [62] 81.7% [74] 378588(15.3%) 11762(0.5%) for-loop .../herbie/develop/src/programs.rkt:210:2 ??? [196] 70.5% ...velop/src/common.rkt:47:2 [125] 23.8% ??? [123] 2.6% ------------------------------------------------------------------------------------------- substitute-e [75] 4.7% for-loop [60] 95.3% [75] 339502(13.8%) 11762(0.5%) substitute-e ...e/develop/src/core/ematch.rkt:71:0 mk-enode! [83] 90.4% substitute-e [75] 4.7% variable? [8] 1.2% ??? [124] 1.2% ------------------------------------------------------------------------------------------- match-e [61] 100.0% [76] 240234(9.7%) 74904(3.0%) for-loop ...rbie/develop/src/core/ematch.rkt:59:11 for-loop [85] 55.9% list-cartesian-product [89] 10.7% loop [197] 4.1% curry* [92] 0.8% foldl [205] 0.6% curried [237] 0.4% filter [263] 0.3% ------------------------------------------------------------------------------------------- gen-series! [64] 100.0% [77] 61508(2.5%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:135:7 taylor-alt [87] 100.0% ------------------------------------------------------------------------------------------- loop [63] 13.0% argmin [62] 87.0% [78] 39162(1.6%) 362(0.0%) expression-cost .../develop/src/programs.rkt:209:0 compile [90] 99.1% ------------------------------------------------------------------------------------------- f66 [191] 17.1% append-map [79] 37.5% simplify-node [66] 45.4% [79] 26916(1.1%) 942(0.0%) append-map ...acket/collects/racket/list.rkt:565:2 parse-loop12 [170] 52.7% append-map [79] 37.5% f66 [191] 5.7% ------------------------------------------------------------------------------------------- gen-rewrites! [69] 100.0% [80] 3902(0.2%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:147:11 ??? [93] 100.0% ------------------------------------------------------------------------------------------- reduce-to-single! [68] 100.0% [81] 2332(0.1%) 2332(0.1%) for-loop ...rbie/develop/src/core/egraph.rkt:326:8 ------------------------------------------------------------------------------------------- for-loop [72] 24.6% run [25] 26.8% [82] 2443700(99.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 ??? [196] 46.3% profile-thunk16 [1] 26.8% run-improve50 [2] 26.5% prepare-points [98] 0.4% ------------------------------------------------------------------------------------------- mk-egraph [206] 0.1% mk-enode-rec! [223] 0.9% substitute-e [75] 41.4% for-loop [60] 57.6% [83] 741960(30.1%) 59804(2.4%) mk-enode! ...bie/develop/src/core/egraph.rkt:102:0 new-enode [94] 90.1% hash-has-key? [133] 1.5% ------------------------------------------------------------------------------------------- for-loop [48] 1.4% merge-egraph-nodes! [73] 98.6% [84] 212248(8.6%) 19256(0.8%) update-leader! ...evelop/src/core/egraph.rkt:218:0 for-loop [96] 83.5% custom-set-union! [102] 3.1% update-en-expr [233] 2.0% hash-ref! [202] 1.0% make-sequence [221] 0.9% ------------------------------------------------------------------------------------------- match-e [61] 33.4% for-loop [76] 66.6% [85] 205788(8.3%) 14642(0.6%) for-loop ...rbie/develop/src/core/ematch.rkt:65:37 match-e [61] 90.7% ??? [101] 3.4% ------------------------------------------------------------------------------------------- merge-egraph-nodes! [73] 100.0% [86] 90824(3.7%) 648(0.0%) for-loop ...bie/develop/src/core/egraph.rkt:201:10 merge-egraph-nodes! [73] 69.4% loop! [95] 29.9% ------------------------------------------------------------------------------------------- for-loop [77] 100.0% [87] 61508(2.5%) 0(0.0%) taylor-alt ...es/herbie/develop/src/glue.rkt:134:0 for-loop [97] 100.0% ------------------------------------------------------------------------------------------- merge-egraph-nodes! [73] 100.0% [88] 47764(1.9%) 38562(1.6%) for-loop ...rbie/develop/src/core/egraph.rkt:233:6 update-en-expr [233] 19.3% ------------------------------------------------------------------------------------------- match-e [61] 22.4% list-cartesian-product [89] 25.3% for-loop [76] 52.2% [89] 42174(1.7%) 31548(1.3%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [89] 25.3% for-loop [100] 20.1% ------------------------------------------------------------------------------------------- expression-cost [78] 100.0% [90] 38800(1.6%) 1266(0.1%) compile ...s/herbie/develop/src/programs.rkt:186:0 hash-ref! [202] 96.7% ------------------------------------------------------------------------------------------- merge-egraph-nodes! [73] 100.0% [91] 15734(0.6%) 2186(0.1%) enode-merge! ...e/develop/src/core/enode.rkt:129:0 adopt-enode! [99] 73.7% custom-set-intersect! [105] 12.4% ------------------------------------------------------------------------------------------- taylor-invert [17] 7.0% match-e [61] 39.6% for-loop [76] 53.4% [92] 5042(0.2%) 1368(0.1%) curry* ...racket/collects/racket/function.rkt:44:2 procedure-arity [104] 72.9% ------------------------------------------------------------------------------------------- for-loop [80] 100.0% [93] 3902(0.2%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:88:0 rewriter [103] 100.0% ------------------------------------------------------------------------------------------- mk-enode! [83] 100.0% [94] 668590(27.1%) 3282(0.1%) new-enode ...erbie/develop/src/core/enode.rkt:97:0 type-of-enode-expr [106] 98.2% set [109] 0.9% ------------------------------------------------------------------------------------------- for-loop [86] 8.4% merge-egraph-nodes! [73] 22.7% loop [197] 28.9% for-loop [60] 40.0% [95] 227472(9.2%) 46332(1.9%) loop! ...s/herbie/develop/src/core/enode.rkt:192:2 custom-set-union [108] 36.8% loop [197] 32.7% set [109] 12.9% update-en-expr [233] 5.8% ------------------------------------------------------------------------------------------- update-leader! [84] 100.0% [96] 177292(7.2%) 6462(0.3%) for-loop ...rbie/develop/src/core/egraph.rkt:223:6 for-loop [107] 96.0% update-en-expr [233] 0.4% ------------------------------------------------------------------------------------------- taylor-alt [87] 100.0% [97] 61508(2.5%) 0(0.0%) for-loop ...lies/herbie/develop/src/glue.rkt:139:6 ??? [192] 100.0% ------------------------------------------------------------------------------------------- run-improve50 [2] 2.9% pred [264] 16.0% ??? [82] 81.1% [98] 25006(1.0%) 0(0.0%) prepare-points ...bie/develop/src/points.rkt:214:0 make-exacts* [118] 38.4% loop [110] 35.7% loop [119] 24.6% for-loop [114] 1.3% ------------------------------------------------------------------------------------------- enode-merge! [91] 100.0% [99] 11598(0.5%) 6842(0.3%) adopt-enode! ...e/develop/src/core/enode.rkt:105:0 custom-set-union [108] 41.0% ------------------------------------------------------------------------------------------- list-cartesian-product [89] 100.0% [100] 10626(0.4%) 10626(0.4%) for-loop ...erbie/develop/src/core/ematch.rkt:24:8 ------------------------------------------------------------------------------------------- for-loop [50] 3.6% for-loop [85] 96.4% [101] 8216(0.3%) 2202(0.1%) ??? ...ies/herbie/develop/src/core/ematch.rkt:50:5 for-loop [111] 69.0% custom-in-set [248] 4.2% ------------------------------------------------------------------------------------------- update-leader! [84] 100.0% [102] 6612(0.3%) 3958(0.2%) custom-set-union! ...t/private/set-types.rkt:245:0 for-loop [113] 40.1% ------------------------------------------------------------------------------------------- ??? [93] 23.2% matcher [121] 76.8% [103] 3902(0.2%) 662(0.0%) rewriter ...bie/develop/src/core/matcher.rkt:131:2 for-loop [112] 78.4% *rules* [15] 16.7% ------------------------------------------------------------------------------------------- curry* [92] 100.0% [104] 3674(0.1%) 3674(0.1%) procedure-arity ...ket/private/norm-arity.rkt:7:27 ------------------------------------------------------------------------------------------- enode-merge! [91] 100.0% [105] 1950(0.1%) 1950(0.1%) custom-set-intersect! ...ivate/set-types.rkt:269:0 ------------------------------------------------------------------------------------------- new-enode [94] 100.0% [106] 656722(26.6%) 13316(0.5%) type-of-enode-expr ...elop/src/core/enode.rkt:68:0 get-sigs [115] 97.6% parse-loop12 [170] 0.3% variable? [8] 0.0% ------------------------------------------------------------------------------------------- for-loop [96] 100.0% [107] 170186(6.9%) 2644(0.1%) for-loop ...rbie/develop/src/core/egraph.rkt:224:8 hash-update! [116] 98.4% ------------------------------------------------------------------------------------------- adopt-enode! [99] 5.1% loop! [95] 94.9% [108] 93034(3.8%) 31074(1.3%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [117] 56.3% for-loop [120] 10.3% ------------------------------------------------------------------------------------------- new-enode [94] 9.1% loop! [95] 90.9% [109] 64414(2.6%) 64414(2.6%) set ...collects/racket/private/set-types.rkt:981:0 ------------------------------------------------------------------------------------------- prepare-points [98] 100.0% [110] 8934(0.4%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:158:2 loop [119] 62.1% make-exacts* [118] 37.9% ------------------------------------------------------------------------------------------- ??? [101] 100.0% [111] 5668(0.2%) 4988(0.2%) for-loop ...erbie/develop/src/core/ematch.rkt:51:7 ??? [124] 12.0% ------------------------------------------------------------------------------------------- rewriter [103] 100.0% [112] 3902(0.2%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:134:10 matcher [121] 100.0% ------------------------------------------------------------------------------------------- custom-set-union! [102] 100.0% [113] 2654(0.1%) 2654(0.1%) for-loop ...cts/racket/private/set-types.rkt:253:4 ------------------------------------------------------------------------------------------- prepare-points [98] 100.0% [114] 324(0.0%) 0(0.0%) for-loop ...s/herbie/develop/src/points.rkt:255:26 ??? [122] 100.0% ------------------------------------------------------------------------------------------- type-of-enode-expr [106] 100.0% [115] 640834(26.0%) 10040(0.4%) get-sigs .../herbie/develop/src/type-check.rkt:5:0 ??? [123] 38.4% ??? [196] 33.6% ??? [124] 13.6% ...velop/src/common.rkt:47:2 [125] 12.9% ------------------------------------------------------------------------------------------- for-loop [107] 100.0% [116] 167542(6.8%) 2310(0.1%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [126] 98.6% ------------------------------------------------------------------------------------------- custom-set-union [108] 100.0% [117] 52366(2.1%) 17278(0.7%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [127] 67.0% ------------------------------------------------------------------------------------------- loop [110] 26.1% prepare-points [98] 73.9% [118] 12988(0.5%) 0(0.0%) make-exacts* ...erbie/develop/src/points.rkt:138:0 loop [197] 77.3% eval-prog [152] 22.7% ------------------------------------------------------------------------------------------- loop [110] 47.4% prepare-points [98] 52.6% [119] 11694(0.5%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:141:4 loop [197] 100.0% ------------------------------------------------------------------------------------------- custom-set-union [108] 100.0% [120] 9594(0.4%) 9594(0.4%) for-loop ...cts/racket/private/set-types.rkt:152:2 ------------------------------------------------------------------------------------------- for-loop [128] 21.3% matcher [121] 28.7% for-loop [112] 50.0% [121] 3902(0.2%) 0(0.0%) matcher ...rbie/develop/src/core/matcher.rkt:167:2 rewriter [103] 49.2% matcher [121] 28.7% for-loop [128] 21.3% for-loop [23] 0.8% ------------------------------------------------------------------------------------------- for-loop [114] 100.0% [122] 324(0.0%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:230:7 for-loop [129] 100.0% ------------------------------------------------------------------------------------------- ??? [192] 0.1% for-loop [74] 3.7% f66 [191] 4.7% get-sigs [115] 91.5% [123] 268582(10.9%) 19008(0.8%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 ??? [131] 49.8% for-loop [132] 36.4% get/build-late-neg-projection [150] 6.0% ??? [235] 0.4% ??? [269] 0.3% ------------------------------------------------------------------------------------------- pattern-match [57] 0.1% split-table [52] 0.1% expression->type [188] 0.1% debug7 [208] 0.3% pattern-substitute [229] 0.3% for-loop [111] 0.3% setfindf [34] 0.4% ??? [261] 0.5% f66 [191] 2.3% substitute-e [75] 4.3% variable? [8] 17.3% match-e [61] 18.1% finalize-iter! [65] 20.3% get-sigs [115] 35.0% [124] 248330(10.1%) 80796(3.3%) ??? ...contract/private/arrow-val-first.rkt:357:18 hash-has-key? [133] 45.6% for-loop [136] 20.0% ??? [261] 1.2% ??? [137] 0.2% split-atab [138] 0.1% ------------------------------------------------------------------------------------------- f66 [191] 0.9% ??? [192] 1.3% get-sigs [115] 46.8% for-loop [74] 51.0% [125] 176702(7.2%) 50920(2.1%) ...velop/src/common.rkt:47:2 ...e/arr-i.rkt:906:19 ??? [134] 36.7% ??? [135] 33.9% ------------------------------------------------------------------------------------------- hash-update! [116] 100.0% [126] 165232(6.7%) 1644(0.1%) ??? ...s/herbie/develop/src/core/egraph.rkt:226:24 for-loop [130] 98.4% make-sequence [221] 0.6% ------------------------------------------------------------------------------------------- for-loop [117] 100.0% [127] 35088(1.4%) 35088(1.4%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------------------------------- matcher [121] 100.0% [128] 3246(0.1%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:183:21 matcher [121] 100.0% ------------------------------------------------------------------------------------------- ??? [122] 100.0% [129] 324(0.0%) 324(0.0%) for-loop ...es/herbie/develop/src/points.rkt:231:9 ------------------------------------------------------------------------------------------- ??? [126] 100.0% [130] 162594(6.6%) 135000(5.5%) for-loop ...bie/develop/src/core/egraph.rkt:227:26 update-en-expr [233] 17.0% ------------------------------------------------------------------------------------------- ??? [123] 100.0% [131] 133764(5.4%) 9216(0.4%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [139] 93.1% ------------------------------------------------------------------------------------------- for-loop [214] 26.8% ??? [123] 73.2% [132] 133598(5.4%) 21482(0.9%) for-loop ...racket/contract/private/hash.rkt:239:6 ??? [215] 80.5% ??? [246] 3.4% ------------------------------------------------------------------------------------------- mk-enode! [83] 9.2% ??? [124] 90.8% [133] 125386(5.1%) 36868(1.5%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [201] 67.9% ??? [207] 2.7% ------------------------------------------------------------------------------------------- for-loop [234] 8.8% ??? [215] 12.5% ...velop/src/common.rkt:47:2 [125] 78.7% [134] 64918(2.6%) 16374(0.7%) ??? ...ects/racket/contract/private/list.rkt:342:4 ??? [215] 64.8% ??? [261] 11.7% ??? [235] 7.8% ------------------------------------------------------------------------------------------- ...velop/src/common.rkt:47:2 [125] 100.0% [135] 59850(2.4%) 20982(0.8%) ??? ...s/racket/contract/private/arr-i.rkt:1268:39 ??? [253] 30.1% return/no-unsupplied [254] 19.4% assoc-ref [219] 15.4% ------------------------------------------------------------------------------------------- ??? [124] 100.0% [136] 50364(2.0%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [140] 100.0% ------------------------------------------------------------------------------------------- ??? [124] 100.0% [137] 604(0.0%) 0(0.0%) ??? .../herbie/develop/src/core/alt-table.rkt:54:0 filter [263] 50.3% ??? [192] 49.7% ------------------------------------------------------------------------------------------- ??? [124] 100.0% [138] 326(0.0%) 0(0.0%) split-atab .../develop/src/core/alt-table.rkt:74:0 for-loop [141] 100.0% ------------------------------------------------------------------------------------------- ??? [131] 100.0% [139] 124548(5.0%) 3992(0.2%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [142] 96.8% ------------------------------------------------------------------------------------------- for-loop [136] 98.7% [140] 51032(2.1%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:208:0 best-and-tied-at-points [143] 98.7% ------------------------------------------------------------------------------------------- split-atab [138] 100.0% [141] 326(0.0%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:75:2 for-loop [144] 100.0% ------------------------------------------------------------------------------------------- ??? [139] 100.0% [142] 120556(4.9%) 4868(0.2%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [145] 96.0% ------------------------------------------------------------------------------------------- atab-add-altn [140] 100.0% [143] 50362(2.0%) 298(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [146] 97.4% for-loop [147] 2.0% ------------------------------------------------------------------------------------------- for-loop [141] 100.0% [144] 326(0.0%) 0(0.0%) for-loop ...e/develop/src/core/alt-table.rkt:76:45 ??? [148] 100.0% ------------------------------------------------------------------------------------------- ??? [142] 100.0% [145] 115688(4.7%) 30356(1.2%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [149] 46.9% get/build-late-neg-projection [150] 26.8% ------------------------------------------------------------------------------------------- composed [195] 1.1% pred [264] 1.7% loop [197] 5.2% option-on-expr [204] 6.2% best-and-tied-at-points [143] 84.6% [146] 57972(2.3%) 354(0.0%) errors ...lies/herbie/develop/src/points.rkt:271:0 for-loop [151] 78.5% eval-prog [152] 20.9% ------------------------------------------------------------------------------------------- best-and-tied-at-points [143] 100.0% [147] 1000(0.0%) 642(0.0%) for-loop .../develop/src/core/alt-table.rkt:124:16 ??? [153] 35.8% ------------------------------------------------------------------------------------------- for-loop [144] 100.0% [148] 326(0.0%) 0(0.0%) ??? ...s/herbie/develop/src/core/regimes.rkt:302:4 ??? [154] 100.0% ------------------------------------------------------------------------------------------- for-loop [145] 100.0% [149] 54302(2.2%) 54302(2.2%) add-list-context ...ontract/private/list.rkt:752:0 ------------------------------------------------------------------------------------------- listof-late-neg-projection [158] 1.4% ??? [157] 13.5% ??? [123] 19.2% for-loop [145] 65.9% [150] 47060(1.9%) 11772(0.5%) get/build-late-neg-projection ...te/guts.rkt:691:0 ??? [156] 62.0% ??? [157] 17.2% listof-late-neg-projection [158] 2.1% ------------------------------------------------------------------------------------------- errors [146] 100.0% [151] 45524(1.8%) 2002(0.1%) for-loop ...es/herbie/develop/src/points.rkt:274:4 ??? [155] 87.3% ulp-difference [159] 4.8% ??? [192] 3.5% ------------------------------------------------------------------------------------------- sindices->spoints [224] 2.0% make-exacts* [118] 19.2% errors [146] 78.7% [152] 15360(0.6%) 3296(0.1%) eval-prog ...herbie/develop/src/programs.rkt:150:0 f66 [191] 59.3% hash-ref! [202] 10.7% keyword-procedure-extract/method [161] 2.2% ??? [160] 2.2% ??? [162] 2.1% go [163] 2.0% ------------------------------------------------------------------------------------------- for-loop [147] 100.0% [153] 358(0.0%) 358(0.0%) ??? ...ket/collects/racket/private/for.rkt:1151:14 ------------------------------------------------------------------------------------------- ??? [148] 100.0% [154] 326(0.0%) 0(0.0%) ??? ...s/herbie/develop/src/core/regimes.rkt:190:2 ??? [155] 100.0% ------------------------------------------------------------------------------------------- ??? [154] 0.5% jloop [21] 1.0% loop [266] 5.3% loop [197] 29.9% for-loop [151] 63.3% [155] 62748(2.5%) 350(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:156:4 ??? [164] 82.2% ??? [192] 9.8% ??? [166] 6.8% ------------------------------------------------------------------------------------------- get/build-late-neg-projection [150] 100.0% [156] 32884(1.3%) 8560(0.3%) ??? ...cts/racket/contract/private/prop.rkt:314:12 build-compound-type-name [165] 74.0% ------------------------------------------------------------------------------------------- get/build-late-neg-projection [150] 100.0% [157] 15082(0.6%) 1730(0.1%) ??? ...ects/racket/contract/private/hash.rkt:211:2 get/build-late-neg-projection [150] 88.5% ------------------------------------------------------------------------------------------- get/build-late-neg-projection [150] 100.0% [158] 2632(0.1%) 674(0.0%) listof-late-neg-projection ...ivate/list.rkt:162:0 get/build-late-neg-projection [150] 74.4% ------------------------------------------------------------------------------------------- for-loop [151] 100.0% [159] 2186(0.1%) 318(0.0%) ulp-difference ...erbie/develop/src/float.rkt:19:0 ??? [253] 71.6% return/no-unsupplied [254] 13.8% ------------------------------------------------------------------------------------------- eval-const-expr [43] 48.3% eval-prog [152] 51.7% [160] 642(0.0%) 332(0.0%) ??? ...cket/collects/racket/private/kw.rkt:1633:36 unpack245 [169] 48.3% ------------------------------------------------------------------------------------------- eval-prog [152] 100.0% [161] 336(0.0%) 336(0.0%) keyword-procedure-extract/method .../kw.rkt:1325:2 ------------------------------------------------------------------------------------------- eval-prog [152] 100.0% [162] 322(0.0%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [167] 100.0% ------------------------------------------------------------------------------------------- eval-prog [152] 100.0% [163] 312(0.0%) 0(0.0%) go .../collects/racket/private/qq-and-or.rkt:50:20 loop [168] 100.0% ------------------------------------------------------------------------------------------- ??? [155] 100.0% [164] 51602(2.1%) 35188(1.4%) ??? ...acket/collects/racket/private/kw.rkt:444:14 ??? [178] 8.9% ??? [172] 7.0% bf* [173] 6.2% ??? [175] 5.6% ??? [246] 1.3% for-loop [176] 0.7% parse-loop12 [170] 0.7% ------------------------------------------------------------------------------------------- contract-struct-name [171] 25.4% ??? [156] 74.6% [165] 24324(1.0%) 15880(0.6%) build-compound-type-name ...private/guts.rkt:448:0 contract-struct-name [171] 53.0% ------------------------------------------------------------------------------------------- ??? [155] 100.0% [166] 4282(0.2%) 1374(0.1%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [174] 67.9% ------------------------------------------------------------------------------------------- ??? [162] 100.0% [167] 322(0.0%) 322(0.0%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 ------------------------------------------------------------------------------------------- go [163] 9.1% loop [168] 90.9% [168] 312(0.0%) 312(0.0%) loop ...llects/racket/private/qq-and-or.rkt:101:61 loop [168] 90.9% ------------------------------------------------------------------------------------------- ??? [160] 100.0% [169] 310(0.0%) 310(0.0%) unpack245 ...private/arrow-higher-order.rkt:354:44 ------------------------------------------------------------------------------------------- loop [197] 0.6% for-loop [45] 0.8% ??? [164] 0.9% f66 [191] 1.9% hash-ref! [202] 3.3% simplify [51] 4.3% type-of-enode-expr [106] 5.7% parse-loop12 [170] 16.4% map [7] 17.0% append-map [79] 49.2% [170] 39588(1.6%) 10062(0.4%) parse-loop12 ...s/racket/match/compiler.rkt:418:15 make-multiplication-node [180] 28.6% parse-loop12 [170] 16.4% for-loop [177] 16.2% f66 [191] 11.7% loop [197] 3.1% loop [236] 1.3% map [7] 1.2% for-loop [20] 0.8% ------------------------------------------------------------------------------------------- build-compound-type-name [165] 100.0% [171] 17336(0.7%) 8444(0.3%) contract-struct-name ...ract/private/prop.rkt:89:0 build-compound-type-name [165] 61.3% ------------------------------------------------------------------------------------------- ??? [164] 100.0% [172] 3616(0.1%) 1298(0.1%) ??? ...herbie/develop/src/syntax/syntax.rkt:156:17 ??? [253] 36.1% return/no-unsupplied [254] 28.0% ------------------------------------------------------------------------------------------- ??? [164] 100.0% [173] 3224(0.1%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [178] 100.0% ------------------------------------------------------------------------------------------- ??? [166] 100.0% [174] 2908(0.1%) 2172(0.1%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [227] 25.3% ------------------------------------------------------------------------------------------- ??? [164] 100.0% [175] 2896(0.1%) 2896(0.1%) ??? ...rivate/unconstrained-domain-arrow.rkt:40:13 ------------------------------------------------------------------------------------------- ??? [164] 100.0% [176] 354(0.0%) 0(0.0%) for-loop ...ie/develop/src/syntax/syntax.rkt:531:2 bf> [179] 100.0% ------------------------------------------------------------------------------------------- parse-loop12 [170] 100.0% [177] 11142(0.5%) 310(0.0%) for-loop ...rbie/develop/src/core/reduce.rkt:99:13 make-multiplication-node [180] 94.4% f66 [191] 2.8% ------------------------------------------------------------------------------------------- bf* [173] 41.2% ??? [164] 58.8% [178] 7832(0.3%) 724(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfdiv [181] 90.8% ------------------------------------------------------------------------------------------- for-loop [176] 100.0% [179] 354(0.0%) 0(0.0%) bf> ...th/private/bigfloat/bigfloat-mpfr.rkt:127:4 ??? [211] 100.0% ------------------------------------------------------------------------------------------- for-loop [20] 2.1% simplify [51] 4.3% map [7] 20.6% for-loop [177] 33.4% parse-loop12 [170] 39.7% [180] 31520(1.3%) 0(0.0%) make-multiplication-node .../core/reduce.rkt:230:0 make-multiplication-subnode [182] 100.0% ------------------------------------------------------------------------------------------- ??? [178] 100.0% [181] 7108(0.3%) 5796(0.2%) bfdiv ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [227] 18.5% ------------------------------------------------------------------------------------------- make-multiplication-node [180] 100.0% [182] 31520(1.3%) 326(0.0%) make-multiplication-subnode ...re/reduce.rkt:240:0 for-loop [183] 94.7% group-by68 [184] 4.3% ------------------------------------------------------------------------------------------- make-multiplication-subnode [182] 100.0% [183] 29848(1.2%) 702(0.0%) for-loop ...rbie/develop/src/core/reduce.rkt:242:3 mterm->expr [187] 68.9% make-multiplication-subsubsubnode [185] 28.8% ------------------------------------------------------------------------------------------- make-multiplication-subnode [182] 100.0% [184] 1346(0.1%) 1016(0.0%) group-by68 ...acket/collects/racket/list.rkt:749:0 hash-update [186] 24.5% ------------------------------------------------------------------------------------------- for-loop [183] 100.0% [185] 8586(0.3%) 0(0.0%) make-multiplication-subsubsubnode ...uce.rkt:262:0 mterm->expr [187] 100.0% ------------------------------------------------------------------------------------------- group-by68 [184] 100.0% [186] 330(0.0%) 330(0.0%) hash-update ...cket/private/more-scheme.rkt:356:13 ------------------------------------------------------------------------------------------- make-multiplication-subsubsubnode [185] 29.5% for-loop [183] 70.5% [187] 29146(1.2%) 976(0.0%) mterm->expr ...e/develop/src/core/reduce.rkt:270:0 expression->type [188] 87.3% f66 [191] 3.5% type-of [189] 2.4% return/no-unsupplied [254] 1.2% ??? [253] 1.1% ------------------------------------------------------------------------------------------- f66 [191] 1.2% loop [16] 7.5% for-loop [190] 31.7% mterm->expr [187] 59.5% [188] 28480(1.2%) 324(0.0%) expression->type ...evelop/src/type-check.rkt:45:0 for-loop [190] 97.2% variable? [8] 1.1% ??? [124] 0.6% ------------------------------------------------------------------------------------------- mterm->expr [187] 100.0% [189] 690(0.0%) 690(0.0%) type-of .../herbie/develop/src/type-check.rkt:38:0 ------------------------------------------------------------------------------------------- expression->type [188] 100.0% [190] 27854(1.1%) 0(0.0%) for-loop ...herbie/develop/src/type-check.rkt:52:5 f66 [191] 67.3% expression->type [188] 32.5% return/no-unsupplied [254] 0.2% ------------------------------------------------------------------------------------------- for-loop [177] 0.1% composed [195] 0.3% loop [197] 0.3% mterm->expr [187] 0.5% ??? [38] 0.9% eval-const-expr [43] 1.2% approximate9 [5] 1.6% simplify-node [66] 2.0% hash-ref! [202] 2.4% append-map [79] 2.5% eval-prog [152] 2.9% parse-loop12 [170] 3.3% for-loop [190] 9.4% f66 [191] 12.3% simplify [51] 15.2% split-table [52] 18.1% map [7] 27.1% [191] 83004(3.4%) 4484(0.2%) f66 ...t/collects/racket/match/compiler.rkt:507:40 map [7] 44.4% loop [197] 12.7% f66 [191] 12.3% append-map [79] 6.0% option-on-expr [204] 5.4% ??? [123] 4.5% ??? [196] 2.8% ??? [192] 2.4% ??? [124] 2.1% taylor-quotient [13] 1.6% ...velop/src/common.rkt:47:2 [125] 0.8% combine-mterms [194] 0.6% loop [16] 0.5% taylor [193] 0.4% make-keyword-procedure [245] 0.4% parse-loop12 [170] 0.3% taylor-invert [17] 0.3% composed [195] 0.3% expression->type [188] 0.1% ??? [253] 0.1% ------------------------------------------------------------------------------------------- ??? [137] 0.2% loop [266] 0.4% ??? [230] 0.4% loop [236] 0.4% map [7] 0.8% loop [29] 1.6% for-loop [151] 2.0% loop [197] 4.0% ??? [155] 7.5% f66 [191] 9.4% ??? [6] 22.0% ??? [196] 25.7% for-loop [97] 25.7% [192] 82096(3.3%) 984(0.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [196] 44.5% approximate9 [5] 25.7% hash-ref! [202] 23.6% ...velop/src/common.rkt:47:2 [125] 2.8% ??? [261] 1.9% best-alt [24] 0.2% ??? [123] 0.2% ------------------------------------------------------------------------------------------- hash-ref! [202] 15.2% f66 [191] 29.7% map [7] 55.1% [193] 2198(0.1%) 624(0.0%) taylor ...herbie/develop/src/core/taylor.rkt:163:0 debug-print [198] 42.9% debug7 [208] 14.9% loop [197] 13.7% ------------------------------------------------------------------------------------------- f66 [191] 100.0% [194] 1664(0.1%) 976(0.0%) combine-mterms ...evelop/src/core/reduce.rkt:191:0 for-loop [199] 41.3% ------------------------------------------------------------------------------------------- loop [46] 18.4% argmins [71] 21.7% f66 [191] 60.0% [195] 1634(0.1%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 f66 [191] 60.0% errors [146] 40.0% ------------------------------------------------------------------------------------------- simplify-alt [56] 0.1% f66 [191] 0.2% ??? [196] 2.7% ??? [192] 2.7% get-sigs [115] 3.0% for-loop [74] 3.7% for-loop [200] 42.7% ??? [82] 44.6% [196] 2380366(96.4%) 126168(5.1%) ??? ...llects/racket/private/norm-define.rkt:53:83 for-loop [200] 42.7% iterate-egraph!13 [3] 37.3% loop [4] 7.6% ??? [201] 4.7% ??? [196] 2.7% ??? [192] 2.1% return/no-unsupplied [254] 0.3% ??? [253] 0.2% mk-egraph [206] 0.1% ??? [215] 0.1% dict? [268] 0.1% ??? [207] 0.0% ??? [212] 0.0% *simplify-rules* [213] 0.0% list-member? [203] 0.0% debug7 [208] 0.0% ??? [211] 0.0% ------------------------------------------------------------------------------------------- loop [119] 0.0% map [7] 0.1% taylor [193] 0.1% make-exacts* [118] 0.3% parse-loop12 [170] 0.5% option-on-expr [204] 0.6% ??? [217] 0.6% map-enodes [31] 0.9% for-loop [76] 3.5% f66 [191] 4.2% match-e [61] 4.5% loop! [95] 14.8% loop [197] 69.8% [197] 221096(9.0%) 22052(0.9%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [197] 69.8% loop! [95] 13.7% option-on-expr [204] 4.2% foldl [205] 1.9% curried [237] 0.9% for-loop [10] 0.7% hash-ref! [202] 0.6% errors [146] 0.6% ??? [155] 0.3% f66 [191] 0.2% parse-loop12 [170] 0.2% ??? [38] 0.2% set-precompute! [209] 0.2% simplify [51] 0.1% ??? [192] 0.1% ------------------------------------------------------------------------------------------- for-loop [72] 10.9% iterate-egraph!13 [3] 12.1% taylor [193] 31.7% simplify [51] 45.3% [198] 2982(0.1%) 660(0.0%) debug-print .../herbie/develop/src/debug.rkt:107:0 for-loop [210] 77.9% ------------------------------------------------------------------------------------------- combine-mterms [194] 100.0% [199] 688(0.0%) 688(0.0%) for-loop ...rbie/develop/src/core/reduce.rkt:195:5 ------------------------------------------------------------------------------------------- ??? [196] 100.0% [200] 2184334(88.5%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:66:12 ??? [196] 100.0% ------------------------------------------------------------------------------------------- hash-has-key? [133] 20.5% ??? [196] 79.5% [201] 416302(16.9%) 165316(6.7%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [214] 44.3% ??? [231] 13.4% ??? [215] 2.3% successfully-got-the-right-kind-of-function [241] 0.2% ------------------------------------------------------------------------------------------- for-loop [42] 0.2% simplify* [39] 0.2% ??? [38] 0.7% for-loop [37] 0.7% eval-prog [152] 0.8% for-loop [54] 0.8% loop [197] 0.9% ??? [12] 0.9% ??? [53] 1.7% first-nonzero-exp [35] 1.8% update-leader! [84] 2.2% for-loop [33] 3.8% ??? [6] 4.9% ??? [216] 6.8% loop [29] 9.3% ??? [192] 9.9% for-loop [30] 16.9% compile [90] 18.0% ??? [217] 18.5% [202] 102626(4.2%) 34170(1.4%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [217] 22.4% ??? [9] 18.9% ??? [6] 14.2% simplify [51] 8.5% ??? [216] 7.0% ??? [11] 4.0% f66 [191] 2.7% ??? [12] 1.6% parse-loop12 [170] 1.2% ??? [14] 0.8% bigfloat-hash [228] 0.6% ??? [18] 0.2% taylor [193] 0.1% taylor-quotient [13] 0.0% ??? [22] 0.0% ------------------------------------------------------------------------------------------- ??? [196] 0.8% for-loop [60] 99.2% [203] 40708(1.6%) 1638(0.1%) list-member? ...llects/racket/private/set.rkt:24:0 loop [218] 75.8% member [222] 20.1% ------------------------------------------------------------------------------------------- f66 [191] 32.1% loop [197] 67.9% [204] 16510(0.7%) 0(0.0%) option-on-expr ...evelop/src/core/regimes.rkt:90:0 sindices->spoints [224] 32.1% sort-context-on-expr [226] 25.8% errors [146] 21.9% loop [197] 20.2% ------------------------------------------------------------------------------------------- for-loop [72] 4.2% for-loop [76] 20.3% loop [197] 75.5% [205] 8254(0.3%) 3634(0.1%) foldl ...et/collects/racket/private/list.rkt:229:4 merge2 [225] 51.8% ??? [230] 4.2% ------------------------------------------------------------------------------------------- ??? [196] 100.0% [206] 7464(0.3%) 0(0.0%) mk-egraph ...bie/develop/src/core/egraph.rkt:131:0 mk-enode-rec! [223] 87.0% mk-enode! [83] 13.0% ------------------------------------------------------------------------------------------- ??? [196] 31.7% hash-has-key? [133] 68.3% [207] 4914(0.2%) 4914(0.2%) ??? ...ects/racket/contract/private/hash.rkt:245:7 ------------------------------------------------------------------------------------------- ??? [196] 12.4% taylor [193] 12.6% iterate-egraph!13 [3] 13.2% simplify [51] 61.8% [208] 2602(0.1%) 944(0.0%) debug7 ...tlies/herbie/develop/src/debug.rkt:102:0 assoc-ref [219] 26.5% ??? [124] 25.0% return/no-unsupplied [254] 12.2% ------------------------------------------------------------------------------------------- loop [197] 100.0% [209] 2552(0.1%) 958(0.0%) set-precompute! ...lop/src/core/simplify.rkt:193:0 make-sequence [221] 62.5% ------------------------------------------------------------------------------------------- debug-print [198] 100.0% [210] 2322(0.1%) 2322(0.1%) for-loop ...ies/herbie/develop/src/debug.rkt:113:2 ------------------------------------------------------------------------------------------- ??? [196] 49.3% bf> [179] 50.7% [211] 698(0.0%) 354(0.0%) ??? ...tract/private/arrow-higher-order.rkt:346:33 pattern-substitute [229] 49.3% ------------------------------------------------------------------------------------------- ??? [196] 100.0% [212] 380(0.0%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:60:15 ??? [227] 100.0% ------------------------------------------------------------------------------------------- ??? [196] 100.0% [213] 336(0.0%) 0(0.0%) *simplify-rules* ...lop/src/syntax/rules.rkt:570:0 for-loop [220] 100.0% ------------------------------------------------------------------------------------------- ??? [201] 100.0% [214] 184526(7.5%) 88044(3.6%) for-loop ...acket/contract/private/list.rkt:743:12 ??? [231] 28.9% for-loop [132] 19.4% ??? [235] 2.6% ??? [261] 1.2% successfully-got-the-right-kind-of-function [241] 0.2% ------------------------------------------------------------------------------------------- ??? [196] 2.5% ??? [201] 5.3% ??? [134] 31.4% for-loop [132] 60.5% [215] 177660(7.2%) 28264(1.1%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [232] 57.8% for-loop [234] 13.0% ??? [134] 9.1% ??? [246] 4.0% ??? [261] 0.2% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [216] 47912(1.9%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:44:15 hash-ref! [202] 98.7% ??? [53] 1.3% ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [217] 31700(1.3%) 7208(0.3%) ??? ...tlies/herbie/develop/src/programs.rkt:194:5 hash-ref! [202] 85.0% loop [197] 5.2% ------------------------------------------------------------------------------------------- list-member? [203] 100.0% [218] 30874(1.3%) 30874(1.3%) loop (unknown source) ------------------------------------------------------------------------------------------- debug7 [208] 7.0% ??? [135] 93.0% [219] 9926(0.4%) 9926(0.4%) assoc-ref ...collects/racket/private/dict.rkt:56:0 ------------------------------------------------------------------------------------------- *simplify-rules* [213] 3.7% *rules* [15] 32.1% merge-egraph-nodes! [73] 64.3% [220] 9140(0.4%) 5538(0.2%) for-loop ...ies/herbie/develop/src/common.rkt:99:9 ormap [240] 14.9% loop [243] 7.3% update-en-expr [233] 7.1% flag-set? [251] 6.6% curried [237] 3.5% ------------------------------------------------------------------------------------------- reduce-to-single! [68] 7.5% ??? [126] 10.9% set-precompute! [209] 17.5% for-loop [49] 21.1% update-leader! [84] 21.2% merge-egraph-nodes! [73] 21.7% [221] 9094(0.4%) 7164(0.3%) make-sequence ...ects/racket/private/for.rkt:509:2 ??? [239] 21.2% ------------------------------------------------------------------------------------------- list-member? [203] 100.0% [222] 8196(0.3%) 8196(0.3%) member (unknown source) ------------------------------------------------------------------------------------------- mk-egraph [206] 41.0% mk-enode-rec! [223] 59.0% [223] 6494(0.3%) 0(0.0%) mk-enode-rec! ...develop/src/core/egraph.rkt:122:0 mk-enode-rec! [223] 59.0% mk-enode! [83] 41.0% ------------------------------------------------------------------------------------------- option-on-expr [204] 100.0% [224] 5304(0.2%) 0(0.0%) sindices->spoints ...op/src/core/regimes.rkt:129:0 loop [236] 94.1% eval-prog [152] 5.9% ------------------------------------------------------------------------------------------- foldl [205] 100.0% [225] 4276(0.2%) 4276(0.2%) merge2 .../herbie/develop/src/core/ematch.rkt:31:0 ------------------------------------------------------------------------------------------- option-on-expr [204] 100.0% [226] 4254(0.2%) 0(0.0%) sort-context-on-expr ...velop/src/points.rkt:115:0 ??? [238] 100.0% ------------------------------------------------------------------------------------------- ??? [212] 15.7% real->bigfloat [174] 30.3% bfdiv [181] 54.0% [227] 2428(0.1%) 2428(0.1%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ------------------------------------------------------------------------------------------- hash-ref! [202] 100.0% [228] 1348(0.1%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:165:0 bfcanonicalize [242] 73.7% bigfloat->sig+exp [244] 26.3% ------------------------------------------------------------------------------------------- ??? [211] 10.5% for-loop [23] 11.9% pattern-substitute [229] 77.6% [229] 654(0.0%) 0(0.0%) pattern-substitute ...op/src/core/matcher.rkt:73:0 pattern-substitute [229] 77.6% ??? [124] 22.4% ------------------------------------------------------------------------------------------- foldl [205] 100.0% [230] 344(0.0%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:66:9 ??? [192] 100.0% ------------------------------------------------------------------------------------------- for-loop [214] 48.9% ??? [201] 51.1% [231] 108970(4.4%) 50366(2.0%) ??? ...private/unconstrained-domain-arrow.rkt:74:4 make-keyword-procedure [245] 53.8% ------------------------------------------------------------------------------------------- ??? [215] 100.0% [232] 102650(4.2%) 9030(0.4%) ??? ...ects/racket/contract/private/list.rkt:686:7 ??? [261] 83.7% ??? [246] 7.5% ------------------------------------------------------------------------------------------- for-loop [96] 0.9% for-loop [220] 1.0% update-leader! [84] 6.3% for-loop [88] 13.6% loop! [95] 37.6% for-loop [130] 40.7% [233] 67852(2.7%) 67852(2.7%) update-en-expr ...evelop/src/core/egraph.rkt:212:0 ------------------------------------------------------------------------------------------- ??? [215] 100.0% [234] 23104(0.9%) 11686(0.5%) for-loop ...acket/contract/private/list.rkt:190:15 ??? [134] 49.4% ------------------------------------------------------------------------------------------- ??? [123] 8.9% for-loop [214] 44.1% ??? [134] 46.9% [235] 10814(0.4%) 2566(0.1%) ??? ...ects/racket/contract/private/hash.rkt:222:6 check-hash/c [247] 76.3% ------------------------------------------------------------------------------------------- parse-loop12 [170] 0.2% loop [236] 11.7% sindices->spoints [224] 88.0% [236] 5670(0.2%) 322(0.0%) loop ...cket/collects/racket/private/map.rkt:36:19 sidx->spoint [249] 88.0% loop [236] 11.7% ??? [192] 0.1% ------------------------------------------------------------------------------------------- for-loop [220] 6.1% for-loop [10] 19.8% for-loop [76] 30.9% loop [197] 43.2% [237] 5280(0.2%) 5280(0.2%) curried ...cket/collects/racket/function.rkt:71:18 ------------------------------------------------------------------------------------------- sort-context-on-expr [226] 100.0% [238] 4254(0.2%) 0(0.0%) ??? ...cket/collects/racket/private/sort.rkt:403:3 generic-sort/key [250] 84.7% loop [266] 15.3% ------------------------------------------------------------------------------------------- make-sequence [221] 100.0% [239] 1930(0.1%) 928(0.0%) ??? ...acket/collects/racket/private/for.rkt:429:7 custom-in-set [248] 51.9% ------------------------------------------------------------------------------------------- for-loop [220] 100.0% [240] 1360(0.1%) 348(0.0%) ormap ...et/collects/racket/private/map.rkt:105:13 flag-set? [251] 74.4% ------------------------------------------------------------------------------------------- for-loop [214] 35.0% ??? [201] 65.0% [241] 1030(0.0%) 346(0.0%) successfully-got-the-right-kind-of-function ...9:4 arity-checking-wrapper [252] 66.4% ------------------------------------------------------------------------------------------- bigfloat-hash [228] 100.0% [242] 994(0.0%) 994(0.0%) bfcanonicalize .../private/bigfloat/mpfr.rkt:155:0 ------------------------------------------------------------------------------------------- for-loop [220] 100.0% [243] 666(0.0%) 0(0.0%) loop ...ket/collects/racket/private/map.rkt:112:23 flag-set? [251] 100.0% ------------------------------------------------------------------------------------------- bigfloat-hash [228] 100.0% [244] 354(0.0%) 354(0.0%) bigfloat->sig+exp ...ivate/bigfloat/mpfr.rkt:370:0 ------------------------------------------------------------------------------------------- f66 [191] 0.6% ??? [231] 99.4% [245] 58932(2.4%) 58932(2.4%) make-keyword-procedure ...ket/private/kw.rkt:260:4 ------------------------------------------------------------------------------------------- ??? [164] 3.4% for-loop [132] 22.9% ??? [215] 35.4% ??? [232] 38.3% [246] 20098(0.8%) 12098(0.5%) ??? ...ects/racket/contract/private/prop.rkt:493:4 ??? [255] 39.8% ------------------------------------------------------------------------------------------- ??? [235] 100.0% [247] 8248(0.3%) 2490(0.1%) check-hash/c ...ket/contract/private/hash.rkt:83:0 flat-contract? [256] 69.8% ------------------------------------------------------------------------------------------- ??? [101] 6.9% ??? [239] 19.8% match-e [61] 73.3% [248] 5048(0.2%) 5048(0.2%) custom-in-set ...acket/private/set-types.rkt:577:0 ------------------------------------------------------------------------------------------- loop [236] 100.0% [249] 4992(0.2%) 0(0.0%) sidx->spoint ...develop/src/core/regimes.rkt:139:2 binary-search [257] 80.1% binary-search-floats [259] 19.9% ------------------------------------------------------------------------------------------- ??? [238] 100.0% [250] 3604(0.1%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:185:2 copying-mergesort [258] 63.5% loop [266] 36.5% ------------------------------------------------------------------------------------------- for-loop [220] 26.5% loop [243] 29.2% ormap [240] 44.3% [251] 2284(0.1%) 990(0.0%) flag-set? ...es/herbie/develop/src/config.rkt:34:0 ??? [253] 42.2% return/no-unsupplied [254] 14.4% ------------------------------------------------------------------------------------------- successfully-got-the-right-kind-of-function [241]100.0% [252] 684(0.0%) 0(0.0%) arity-checking-wrapper ...w-higher-order.rkt:402:0 matches-arity-exactly? [260] 100.0% ------------------------------------------------------------------------------------------- f66 [191] 0.9% mterm->expr [187] 0.9% flag-set? [251] 2.8% ??? [172] 3.8% ulp-difference [159] 4.6% ??? [196] 34.0% ??? [135] 52.9% [253] 34066(1.4%) 7338(0.3%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [262] 57.2% ??? [261] 21.3% ------------------------------------------------------------------------------------------- ulp-difference [159] 1.0% debug7 [208] 1.0% flag-set? [251] 1.1% for-loop [190] 1.1% mterm->expr [187] 1.2% simplify* [39] 3.2% ??? [172] 3.3% ??? [135] 38.2% ??? [196] 49.8% [254] 30366(1.2%) 21324(0.9%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 filter [263] 29.8% ------------------------------------------------------------------------------------------- ??? [246] 100.0% [255] 8000(0.3%) 3192(0.1%) ??? ...lects/racket/contract/private/orc.rkt:83:14 ??? [265] 60.1% ------------------------------------------------------------------------------------------- check-hash/c [247] 100.0% [256] 5758(0.2%) 5758(0.2%) flat-contract? .../contract/private/guts.rkt:111:0 ------------------------------------------------------------------------------------------- sidx->spoint [249] 100.0% [257] 3998(0.2%) 0(0.0%) binary-search ...rbie/develop/src/common.rkt:228:0 pred [264] 100.0% ------------------------------------------------------------------------------------------- generic-sort/key [250] 33.3% copying-mergesort [258] 66.7% [258] 2288(0.1%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:130:8 copying-mergesort [258] 66.7% loop [266] 26.5% jloop [21] 6.9% ------------------------------------------------------------------------------------------- sidx->spoint [249] 100.0% [259] 994(0.0%) 0(0.0%) binary-search-floats ...velop/src/common.rkt:243:0 pred [264] 100.0% ------------------------------------------------------------------------------------------- arity-checking-wrapper [252] 100.0% [260] 684(0.0%) 684(0.0%) matches-arity-exactly? ...te/arrow-common.rkt:70:0 ------------------------------------------------------------------------------------------- ??? [215] 0.3% ??? [192] 1.4% for-loop [214] 1.9% ??? [124] 2.5% ??? [253] 6.3% ??? [134] 13.1% ??? [232] 74.2% [261] 115816(4.7%) 96884(3.9%) ??? ...ects/racket/contract/private/guts.rkt:644:8 contract? [267] 10.6% dict? [268] 4.1% ??? [124] 1.6% ------------------------------------------------------------------------------------------- ??? [253] 100.0% [262] 19472(0.8%) 17594(0.7%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 ??? [269] 9.6% ------------------------------------------------------------------------------------------- ??? [137] 2.8% one-iter [27] 3.0% for-loop [49] 3.4% for-loop [76] 6.2% return/no-unsupplied [254] 84.6% [263] 10690(0.4%) 10690(0.4%) filter ...t/collects/racket/private/list.rkt:256:2 ------------------------------------------------------------------------------------------- binary-search-floats [259] 19.9% binary-search [257] 80.1% [264] 4992(0.2%) 0(0.0%) pred ...herbie/develop/src/core/regimes.rkt:145:17 prepare-points [98] 80.2% errors [146] 19.8% ------------------------------------------------------------------------------------------- ??? [255] 100.0% [265] 4808(0.2%) 4808(0.2%) ??? ...ects/racket/contract/private/list.rkt:141:5 ------------------------------------------------------------------------------------------- ??? [238] 17.9% generic-sort/key [250] 36.3% copying-mergesort [258] 45.8% [266] 3626(0.1%) 0(0.0%) loop ...ket/collects/racket/private/sort.rkt:97:12 ??? [155] 91.0% ??? [192] 9.0% ------------------------------------------------------------------------------------------- ??? [261] 100.0% [267] 12258(0.5%) 12258(0.5%) contract? ...acket/contract/private/guts.rkt:109:0 ------------------------------------------------------------------------------------------- ??? [196] 46.8% ??? [261] 53.2% [268] 8970(0.4%) 8970(0.4%) dict? ...ollects/racket/private/generic.rkt:146:11 ------------------------------------------------------------------------------------------- ??? [123] 26.6% ??? [262] 73.4% [269] 2560(0.1%) 2560(0.1%) ??? ...ects/racket/contract/private/prop.rkt:256:4 -------------------------------------------------------------------------------------------