Profiling results ----------------- Total cpu time observed: 62154ms (out of 62668ms) Number of samples taken: 193 (once every 322ms) (Hiding functions with self<1.0% and local<2.0%: 2 of 205 hidden) ===================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ===================================================================================== ??? [90] 100.0% [1] 62154(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [13] 100.0% ------------------------------------------------------------------------------------- ??? [90] 100.0% [2] 47784(76.9%) 0(0.0%) run-improve40 ...dirty-bits/src/mainloop.rkt:336:0 for-loop [14] 94.9% simplify! [29] 5.1% ------------------------------------------------------------------------------------- ??? [178] 100.0% [3] 1968(3.2%) 0(0.0%) approximate9 ...irty-bits/src/core/taylor.rkt:12:0 loop [15] 82.9% for-loop [20] 17.1% ------------------------------------------------------------------------------------- matcher [76] 100.0% [4] 1526(2.5%) 0(0.0%) ??? ...e/no-dirty-bits/src/core/matcher.rkt:175:11 for-loop [16] 100.0% ------------------------------------------------------------------------------------- hash-ref! [181] 100.0% [5] 1000(1.6%) 0(0.0%) ??? ...ie/no-dirty-bits/src/core/taylor.rkt:301:23 for-loop [17] 100.0% ------------------------------------------------------------------------------------- hash-ref! [181] 100.0% [6] 998(1.6%) 0(0.0%) ??? ...ie/no-dirty-bits/src/core/taylor.rkt:291:26 for-loop [18] 100.0% ------------------------------------------------------------------------------------- hash-ref! [181] 100.0% [7] 666(1.1%) 0(0.0%) ??? ...ie/no-dirty-bits/src/core/taylor.rkt:407:23 for-loop [21] 50.2% for-loop [23] 49.8% ------------------------------------------------------------------------------------- hash-ref! [181] 100.0% [8] 664(1.1%) 0(0.0%) ??? ...bie/no-dirty-bits/src/core/taylor.rkt:68:15 hash-ref! [181] 50.0% ??? [178] 50.0% ------------------------------------------------------------------------------------- for-loop [154] 100.0% [9] 346(0.6%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [19] 100.0% ------------------------------------------------------------------------------------- hash-ref! [181] 100.0% [10] 334(0.5%) 0(0.0%) ??? ...ie/no-dirty-bits/src/core/taylor.rkt:510:23 for-loop [22] 100.0% ------------------------------------------------------------------------------------- match-e [91] 100.0% [11] 310(0.5%) 0(0.0%) variable? ...rty-bits/src/syntax/syntax.rkt:1159:0 ??? [39] 100.0% ------------------------------------------------------------------------------------- for-loop [154] 100.0% [12] 296(0.5%) 0(0.0%) expand-identifier (unknown source) resolve+shift28 [19] 100.0% ------------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [13] 62154(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [90] 100.0% ------------------------------------------------------------------------------------- run-improve40 [2] 100.0% [14] 45368(73.0%) 0(0.0%) for-loop ...e/no-dirty-bits/src/mainloop.rkt:351:4 run-iter! [24] 100.0% ------------------------------------------------------------------------------------- approximate9 [3] 100.0% [15] 1632(2.6%) 0(0.0%) loop ...bie/no-dirty-bits/src/core/taylor.rkt:87:4 ??? [178] 59.3% hash-ref! [181] 40.7% ------------------------------------------------------------------------------------- ??? [4] 100.0% [16] 1526(2.5%) 0(0.0%) for-loop ...dirty-bits/src/core/matcher.rkt:179:21 matcher [76] 100.0% ------------------------------------------------------------------------------------- ??? [5] 100.0% [17] 1000(1.6%) 0(0.0%) for-loop ...-dirty-bits/src/core/taylor.rkt:304:27 hash-ref! [181] 66.4% simplify [25] 33.6% ------------------------------------------------------------------------------------- ??? [6] 100.0% [18] 998(1.6%) 0(0.0%) for-loop ...-dirty-bits/src/core/taylor.rkt:291:52 ??? [26] 66.9% hash-ref! [181] 33.1% ------------------------------------------------------------------------------------- expand-identifier [12] 46.1% expand-implicit [9] 53.9% [19] 642(1.0%) 0(0.0%) resolve+shift28 (unknown source) fallback-loop [27] 100.0% ------------------------------------------------------------------------------------- approximate9 [3] 100.0% [20] 336(0.5%) 0(0.0%) for-loop ...o-dirty-bits/src/core/taylor.rkt:30:18 taylor [28] 100.0% ------------------------------------------------------------------------------------- ??? [7] 100.0% [21] 334(0.5%) 0(0.0%) for-loop ...-dirty-bits/src/core/taylor.rkt:411:33 hash-ref! [181] 100.0% ------------------------------------------------------------------------------------- ??? [10] 100.0% [22] 334(0.5%) 0(0.0%) for-loop ...-dirty-bits/src/core/taylor.rkt:514:35 parse-loop80 [32] 100.0% ------------------------------------------------------------------------------------- ??? [7] 100.0% [23] 332(0.5%) 0(0.0%) for-loop ...-dirty-bits/src/core/taylor.rkt:413:39 hash-ref! [181] 100.0% ------------------------------------------------------------------------------------- for-loop [14] 100.0% [24] 45368(73.0%) 0(0.0%) run-iter! .../no-dirty-bits/src/mainloop.rkt:317:0 simplify! [29] 75.3% finalize-iter! [30] 15.6% gen-series! [31] 5.1% gen-rewrites! [33] 3.4% localize! [37] 0.7% ------------------------------------------------------------------------------------- ??? [178] 14.1% for-loop [17] 14.7% hash-ref! [181] 71.2% [25] 2292(3.7%) 0(0.0%) simplify ...no-dirty-bits/src/core/reduce.rkt:16:0 f46 [34] 57.9% parse-loop80 [32] 27.7% debug-print [36] 14.4% ------------------------------------------------------------------------------------- for-loop [18] 100.0% [26] 668(1.1%) 0(0.0%) ??? ...ie/no-dirty-bits/src/core/taylor.rkt:294:19 hash-ref! [181] 100.0% ------------------------------------------------------------------------------------- resolve+shift28 [19] 100.0% [27] 642(1.0%) 346(0.6%) fallback-loop (unknown source) for-loop [154] 46.1% ------------------------------------------------------------------------------------- for-loop [20] 100.0% [28] 336(0.5%) 0(0.0%) taylor .../no-dirty-bits/src/core/taylor.rkt:170:0 loop [35] 100.0% ------------------------------------------------------------------------------------- run-improve40 [2] 6.6% run-iter! [24] 93.4% [29] 36576(58.8%) 0(0.0%) simplify! .../no-dirty-bits/src/mainloop.rkt:213:0 ??? [38] 100.0% ------------------------------------------------------------------------------------- run-iter! [24] 100.0% [30] 7066(11.4%) 0(0.0%) finalize-iter! ...irty-bits/src/mainloop.rkt:268:0 ??? [39] 100.0% ------------------------------------------------------------------------------------- run-iter! [24] 100.0% [31] 2292(3.7%) 0(0.0%) gen-series! ...o-dirty-bits/src/mainloop.rkt:149:0 for-loop [40] 100.0% ------------------------------------------------------------------------------------- hash-ref! [181] 19.9% map [128] 20.4% for-loop [22] 20.5% simplify [25] 39.1% [32] 1626(2.6%) 0(0.0%) parse-loop80 ...s/racket/match/compiler.rkt:418:15 eval-const-expr [41] 59.5% for-loop [43] 20.5% loop [121] 19.9% ------------------------------------------------------------------------------------- run-iter! [24] 100.0% [33] 1526(2.5%) 0(0.0%) gen-rewrites! ...dirty-bits/src/mainloop.rkt:172:0 for-loop [42] 100.0% ------------------------------------------------------------------------------------- map [128] 16.9% simplify [25] 83.1% [34] 1326(2.1%) 0(0.0%) f46 ...0/collects/racket/match/compiler.rkt:507:40 map [128] 66.4% eval-const-expr [41] 33.6% ------------------------------------------------------------------------------------- taylor [28] 100.0% [35] 336(0.5%) 0(0.0%) loop ...ie/no-dirty-bits/src/core/taylor.rkt:268:2 hash-ref! [181] 100.0% ------------------------------------------------------------------------------------- simplify [25] 100.0% [36] 330(0.5%) 0(0.0%) debug-print ...e/no-dirty-bits/src/debug.rkt:110:0 ??? [44] 100.0% ------------------------------------------------------------------------------------- run-iter! [24] 100.0% [37] 324(0.5%) 0(0.0%) localize! .../no-dirty-bits/src/mainloop.rkt:116:0 localize-error [45] 100.0% ------------------------------------------------------------------------------------- simplify! [29] 100.0% [38] 36576(58.8%) 0(0.0%) ??? ...ie/no-dirty-bits/src/core/simplify.rkt:26:0 one-iter [52] 39.7% for-loop [46] 37.9% loop [47] 22.5% ------------------------------------------------------------------------------------- variable? [11] 3.1% loop [119] 3.3% match-e [91] 22.5% finalize-iter! [30] 71.2% [39] 9930(16.0%) 2864(4.6%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [48] 71.2% ------------------------------------------------------------------------------------- gen-series! [31] 100.0% [40] 2292(3.7%) 0(0.0%) for-loop ...e/no-dirty-bits/src/mainloop.rkt:156:7 taylor-alt [49] 100.0% ------------------------------------------------------------------------------------- ??? [90] 15.8% f46 [34] 34.4% parse-loop80 [32] 49.7% [41] 1946(3.1%) 0(0.0%) eval-const-expr ...rty-bits/src/programs.rkt:149:0 eval-prog [74] 100.0% ------------------------------------------------------------------------------------- gen-rewrites! [33] 100.0% [42] 1526(2.5%) 0(0.0%) for-loop .../no-dirty-bits/src/mainloop.rkt:180:11 rewrite-expression-head20 [50] 100.0% ------------------------------------------------------------------------------------- parse-loop80 [32] 100.0% [43] 334(0.5%) 0(0.0%) for-loop ...-dirty-bits/src/core/taylor.rkt:517:59 hash-ref! [181] 100.0% ------------------------------------------------------------------------------------- debug-print [36] 100.0% [44] 330(0.5%) 0(0.0%) ??? .../contract/private/arrow-val-first.rkt:428:3 ~r78 [51] 100.0% ------------------------------------------------------------------------------------- localize! [37] 100.0% [45] 324(0.5%) 0(0.0%) localize-error ...-bits/src/core/localize.rkt:52:0 hash-ref! [181] 100.0% ------------------------------------------------------------------------------------- ??? [38] 100.0% [46] 13854(22.3%) 0(0.0%) for-loop ...-dirty-bits/src/core/simplify.rkt:33:2 one-iter [52] 100.0% ------------------------------------------------------------------------------------- ??? [38] 100.0% [47] 8212(13.2%) 0(0.0%) loop .../no-dirty-bits/src/core/simplify.rkt:139:2 for-loop [53] 100.0% ------------------------------------------------------------------------------------- ??? [39] 100.0% [48] 7066(11.4%) 0(0.0%) for-loop ...dirty-bits/src/core/alt-table.rkt:56:2 atab-add-altn [54] 82.0% loop [57] 18.0% ------------------------------------------------------------------------------------- for-loop [40] 100.0% [49] 2292(3.7%) 0(0.0%) taylor-alt ...no-dirty-bits/src/mainloop.rkt:135:0 for-loop [55] 100.0% ------------------------------------------------------------------------------------- for-loop [42] 100.0% [50] 1526(2.5%) 0(0.0%) rewrite-expression-head20 ...ore/matcher.rkt:126:0 rewriter [56] 100.0% ------------------------------------------------------------------------------------- ??? [44] 100.0% [51] 330(0.5%) 330(0.5%) ~r78 ...acket-7.0/collects/racket/format.rkt:189:0 ------------------------------------------------------------------------------------- for-loop [46] 48.8% ??? [38] 51.2% [52] 28364(45.6%) 0(0.0%) one-iter ...-dirty-bits/src/core/simplify.rkt:82:0 for-loop [58] 53.8% find-matches [59] 42.9% for-loop [65] 3.3% ------------------------------------------------------------------------------------- loop [47] 100.0% [53] 8212(13.2%) 0(0.0%) for-loop ...dirty-bits/src/core/simplify.rkt:145:4 loop [61] 37.0% argmin [111] 29.1% for-loop [63] 14.9% for-loop [122] 11.3% expression-cost [73] 7.6% ------------------------------------------------------------------------------------- for-loop [48] 100.0% [54] 5796(9.3%) 0(0.0%) atab-add-altn ...bits/src/core/alt-table.rkt:202:0 errors [60] 73.8% override-at-pnts [66] 15.7% best-and-tied-at-points [69] 5.3% append-at-pnts [70] 5.2% ------------------------------------------------------------------------------------- taylor-alt [49] 100.0% [55] 2292(3.7%) 0(0.0%) for-loop ...e/no-dirty-bits/src/mainloop.rkt:141:6 ??? [178] 100.0% ------------------------------------------------------------------------------------- rewrite-expression-head20 [50] 36.6% matcher [76] 63.4% [56] 1526(2.5%) 0(0.0%) rewriter ...-dirty-bits/src/core/matcher.rkt:128:2 for-loop [62] 70.4% *rules* [64] 29.6% ------------------------------------------------------------------------------------- for-loop [48] 100.0% [57] 1270(2.0%) 0(0.0%) loop ...no-dirty-bits/src/core/alt-table.rkt:176:2 loop [67] 49.0% argmax [68] 26.5% loop [121] 24.6% ------------------------------------------------------------------------------------- one-iter [52] 100.0% [58] 15270(24.6%) 0(0.0%) for-loop ...-dirty-bits/src/core/simplify.rkt:91:2 loop [71] 90.1% update-leader! [110] 9.9% ------------------------------------------------------------------------------------- one-iter [52] 100.0% [59] 12162(19.6%) 0(0.0%) find-matches ...ty-bits/src/core/simplify.rkt:56:0 for-loop [72] 100.0% ------------------------------------------------------------------------------------- for-loop [152] 5.5% ??? [90] 16.7% atab-add-altn [54] 77.9% [60] 5492(8.8%) 0(0.0%) errors ...erbie/no-dirty-bits/src/points.rkt:228:0 for-loop [75] 66.5% eval-prog [74] 33.5% ------------------------------------------------------------------------------------- for-loop [53] 100.0% [61] 3038(4.9%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 expression-cost [73] 50.4% for-loop [122] 49.6% ------------------------------------------------------------------------------------- rewriter [56] 100.0% [62] 1526(2.5%) 0(0.0%) for-loop ...dirty-bits/src/core/matcher.rkt:131:10 matcher [76] 100.0% ------------------------------------------------------------------------------------- for-loop [53] 100.0% [63] 1226(2.0%) 304(0.5%) for-loop ...irty-bits/src/core/simplify.rkt:149:16 for-loop [78] 75.2% ------------------------------------------------------------------------------------- rewriter [56] 100.0% [64] 1202(1.9%) 300(0.5%) *rules* ...o-dirty-bits/src/syntax/rules.rkt:783:0 for-loop [80] 75.0% ------------------------------------------------------------------------------------- one-iter [52] 100.0% [65] 932(1.5%) 0(0.0%) for-loop ...dirty-bits/src/core/simplify.rkt:107:2 set-precompute! [77] 100.0% ------------------------------------------------------------------------------------- atab-add-altn [54] 100.0% [66] 912(1.5%) 0(0.0%) override-at-pnts ...s/src/core/alt-table.rkt:138:0 for-loop [79] 100.0% ------------------------------------------------------------------------------------- loop [57] 10.1% loop [67] 89.9% [67] 622(1.0%) 622(1.0%) loop ...racket-7.0/collects/racket/list.rkt:434:28 loop [67] 89.9% ------------------------------------------------------------------------------------- loop [57] 100.0% [68] 336(0.5%) 0(0.0%) argmax ...acket-7.0/collects/racket/list.rkt:766:0 expression-cost [73] 100.0% ------------------------------------------------------------------------------------- atab-add-altn [54] 100.0% [69] 306(0.5%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:117:0 for-loop [81] 100.0% ------------------------------------------------------------------------------------- atab-add-altn [54] 100.0% [70] 302(0.5%) 0(0.0%) append-at-pnts ...its/src/core/alt-table.rkt:146:0 loop [121] 100.0% ------------------------------------------------------------------------------------- for-loop [58] 100.0% [71] 13752(22.1%) 0(0.0%) loop ...e/no-dirty-bits/src/core/simplify.rkt:96:4 apply-match [82] 100.0% ------------------------------------------------------------------------------------- for-loop [72] 48.8% find-matches [59] 51.2% [72] 12162(19.6%) 1542(2.5%) for-loop ...-dirty-bits/src/core/simplify.rkt:58:8 for-loop [72] 48.8% match-e [91] 43.7% ------------------------------------------------------------------------------------- argmax [68] 8.4% for-loop [53] 15.7% argmin [111] 37.5% loop [61] 38.4% [73] 3986(6.4%) 0(0.0%) expression-cost ...rty-bits/src/programs.rkt:204:0 compile [83] 100.0% ------------------------------------------------------------------------------------- errors [60] 48.6% eval-const-expr [41] 51.4% [74] 3788(6.1%) 0(0.0%) eval-prog .../no-dirty-bits/src/programs.rkt:130:0 temp68_2 [84] 84.2% inductor [89] 7.9% loop [161] 7.9% ------------------------------------------------------------------------------------- errors [60] 100.0% [75] 3650(5.9%) 888(1.4%) for-loop ...bie/no-dirty-bits/src/points.rkt:230:2 ??? [90] 75.7% ------------------------------------------------------------------------------------- for-loop [16] 50.0% for-loop [62] 50.0% [76] 1526(2.5%) 0(0.0%) matcher ...o-dirty-bits/src/core/matcher.rkt:163:2 ??? [4] 50.0% rewriter [56] 46.5% for-loop [88] 3.5% ------------------------------------------------------------------------------------- for-loop [65] 100.0% [77] 932(1.5%) 0(0.0%) set-precompute! ...its/src/core/simplify.rkt:113:0 for-loop [85] 100.0% ------------------------------------------------------------------------------------- for-loop [63] 100.0% [78] 922(1.5%) 922(1.5%) for-loop ...irty-bits/src/core/simplify.rkt:153:23 ------------------------------------------------------------------------------------- override-at-pnts [66] 100.0% [79] 912(1.5%) 302(0.5%) for-loop ...rty-bits/src/core/alt-table.rkt:139:22 ??? [87] 66.9% ------------------------------------------------------------------------------------- *rules* [64] 100.0% [80] 902(1.5%) 0(0.0%) for-loop ...rbie/no-dirty-bits/src/common.rkt:71:9 ormap [86] 100.0% ------------------------------------------------------------------------------------- best-and-tied-at-points [69] 100.0% [81] 306(0.5%) 306(0.5%) for-loop ...rty-bits/src/core/alt-table.rkt:119:16 ------------------------------------------------------------------------------------- loop [71] 100.0% [82] 13752(22.1%) 0(0.0%) apply-match ...rty-bits/src/core/simplify.rkt:64:0 for-loop [92] 83.7% match-e [91] 14.0% set [146] 2.3% ------------------------------------------------------------------------------------- expression-cost [73] 100.0% [83] 3986(6.4%) 662(1.1%) compile ...ie/no-dirty-bits/src/programs.rkt:181:0 hash-ref! [181] 83.4% ------------------------------------------------------------------------------------- eval-prog [74] 100.0% [84] 3188(5.1%) 0(0.0%) temp68_2 (unknown source) compile16 [93] 100.0% ------------------------------------------------------------------------------------- set-precompute! [77] 100.0% [85] 932(1.5%) 0(0.0%) for-loop ...dirty-bits/src/core/simplify.rkt:115:2 ??? [90] 68.0% setfindf [96] 32.0% ------------------------------------------------------------------------------------- for-loop [80] 100.0% [86] 902(1.5%) 300(0.5%) ormap ....0/collects/racket/private/map.rkt:141:13 flag-set? [94] 33.5% curried [95] 33.3% ------------------------------------------------------------------------------------- for-loop [79] 100.0% [87] 610(1.0%) 610(1.0%) ??? ...7.0/collects/racket/private/for.rkt:1208:14 ------------------------------------------------------------------------------------- matcher [76] 100.0% [88] 324(0.5%) 324(0.5%) for-loop ...-dirty-bits/src/core/matcher.rkt:155:4 ------------------------------------------------------------------------------------- eval-prog [74] 20.0% inductor [89] 80.0% [89] 300(0.5%) 0(0.0%) inductor ...e/no-dirty-bits/src/programs.rkt:135:4 inductor [89] 80.0% table-ref [170] 20.0% ------------------------------------------------------------------------------------- for-loop [85] 0.3% for-loop [75] 1.5% run [13] 49.1% [90] 62154(100.0%) 626(1.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.1% run-improve40 [2] 37.6% prepare-points-intervals [99] 6.4% get-final-combination [101] 1.2% eval-errors [135] 1.1% baseline-error [102] 1.1% ??? [173] 1.0% oracle-error [103] 1.0% errors [60] 0.6% ulp-difference [105] 0.3% eval-const-expr [41] 0.2% ------------------------------------------------------------------------------------- apply-match [82] 6.4% for-loop [109] 32.1% for-loop [72] 61.5% [91] 12550(20.2%) 1848(3.0%) match-e .../no-dirty-bits/src/core/ematch.rkt:39:0 for-loop [97] 75.3% ??? [39] 6.8% make-sequence [106] 2.4% variable? [11] 0.8% ------------------------------------------------------------------------------------- apply-match [82] 100.0% [92] 11510(18.5%) 0(0.0%) for-loop ...-dirty-bits/src/core/simplify.rkt:77:2 merge-egraph-nodes! [98] 78.0% mk-enode! [124] 8.1% dedup-children! [115] 8.1% substitute-e [104] 5.8% ------------------------------------------------------------------------------------- temp68_2 [84] 100.0% [93] 3188(5.1%) 0(0.0%) compile16 (unknown source) temp74_0 [100] 90.5% loop [161] 9.5% ------------------------------------------------------------------------------------- ormap [86] 100.0% [94] 302(0.5%) 302(0.5%) flag-set? ...bie/no-dirty-bits/src/config.rkt:28:0 ------------------------------------------------------------------------------------- ormap [86] 100.0% [95] 300(0.5%) 300(0.5%) curried ...-7.0/collects/racket/function.rkt:71:18 ------------------------------------------------------------------------------------- for-loop [85] 100.0% [96] 298(0.5%) 0(0.0%) setfindf ...bie/no-dirty-bits/src/common.rkt:139:0 for-loop [107] 100.0% ------------------------------------------------------------------------------------- match-e [91] 100.0% [97] 10402(16.7%) 6284(10.1%) for-loop ...o-dirty-bits/src/core/ematch.rkt:52:11 for-loop [109] 55.4% loop [121] 3.3% cp-2 [118] 1.5% ------------------------------------------------------------------------------------- merge-egraph-nodes! [98] 7.2% for-loop [92] 91.1% [98] 8974(14.4%) 660(1.1%) merge-egraph-nodes! ...s/src/core/egraph.rkt:145:0 update-leader! [110] 47.9% loop! [134] 32.5% merge-egraph-nodes! [98] 7.2% dedup-children! [115] 3.4% ------------------------------------------------------------------------------------- ??? [90] 100.0% [99] 7980(12.8%) 0(0.0%) prepare-points-intervals ...s/src/points.rkt:133:0 loop [108] 100.0% ------------------------------------------------------------------------------------- compile16 [93] 100.0% [100] 2886(4.6%) 0(0.0%) temp74_0 (unknown source) expand-single [112] 54.9% compile-top9 [114] 45.1% ------------------------------------------------------------------------------------- ??? [90] 100.0% [101] 1548(2.5%) 0(0.0%) get-final-combination ...ts/src/mainloop.rkt:357:0 infer-splitpoints [113] 100.0% ------------------------------------------------------------------------------------- ??? [90] 100.0% [102] 1340(2.2%) 0(0.0%) baseline-error ...-dirty-bits/src/points.rkt:216:0 argmin [111] 100.0% ------------------------------------------------------------------------------------- ??? [90] 100.0% [103] 1222(2.0%) 0(0.0%) oracle-error ...no-dirty-bits/src/points.rkt:212:0 for-loop [116] 100.0% ------------------------------------------------------------------------------------- for-loop [92] 100.0% [104] 668(1.1%) 0(0.0%) substitute-e ...irty-bits/src/core/ematch.rkt:64:0 for-loop [117] 100.0% ------------------------------------------------------------------------------------- ??? [90] 100.0% [105] 628(1.0%) 628(1.0%) ulp-difference ...no-dirty-bits/src/float.rkt:14:0 ------------------------------------------------------------------------------------- match-e [91] 100.0% [106] 300(0.5%) 300(0.5%) make-sequence ...ects/racket/private/for.rkt:528:2 ------------------------------------------------------------------------------------- setfindf [96] 100.0% [107] 298(0.5%) 298(0.5%) for-loop ...bie/no-dirty-bits/src/common.rkt:140:2 ------------------------------------------------------------------------------------- prepare-points-intervals [99] 100.0% [108] 7980(12.8%) 0(0.0%) loop .../herbie/no-dirty-bits/src/points.rkt:145:4 loop [119] 84.1% ??? [129] 15.9% ------------------------------------------------------------------------------------- for-loop [97] 100.0% [109] 7848(12.6%) 598(1.0%) for-loop ...o-dirty-bits/src/core/ematch.rkt:58:37 match-e [91] 90.0% ??? [131] 4.3% ------------------------------------------------------------------------------------- for-loop [58] 23.5% merge-egraph-nodes! [98] 76.5% [110] 6462(10.4%) 298(0.5%) update-leader! ...y-bits/src/core/egraph.rkt:213:0 for-loop [120] 95.4% ------------------------------------------------------------------------------------- baseline-error [102] 35.9% for-loop [53] 64.1% [111] 3732(6.0%) 0(0.0%) argmin ...acket-7.0/collects/racket/list.rkt:765:0 expression-cost [73] 40.0% ??? [126] 35.9% for-loop [122] 24.1% ------------------------------------------------------------------------------------- temp74_0 [100] 100.0% [112] 1584(2.5%) 0(0.0%) expand-single (unknown source) expand-capturing-lifts [123] 100.0% ------------------------------------------------------------------------------------- get-final-combination [101] 100.0% [113] 1548(2.5%) 0(0.0%) infer-splitpoints ...its/src/core/regimes.rkt:34:0 for-loop [125] 100.0% ------------------------------------------------------------------------------------- temp74_0 [100] 100.0% [114] 1302(2.1%) 0(0.0%) compile-top9 (unknown source) compile-forms31 [127] 100.0% ------------------------------------------------------------------------------------- merge-egraph-nodes! [98] 24.5% for-loop [92] 75.5% [115] 1234(2.0%) 0(0.0%) dedup-children! ...y-bits/src/core/enode.rkt:199:0 loop [130] 72.9% loop [132] 27.1% ------------------------------------------------------------------------------------- oracle-error [103] 100.0% [116] 1222(2.0%) 0(0.0%) for-loop ...bie/no-dirty-bits/src/points.rkt:213:2 loop [121] 75.6% map [128] 24.4% ------------------------------------------------------------------------------------- substitute-e [104] 100.0% [117] 668(1.1%) 0(0.0%) for-loop ...o-dirty-bits/src/core/ematch.rkt:73:24 mk-enode! [124] 100.0% ------------------------------------------------------------------------------------- for-loop [97] 100.0% [118] 302(0.5%) 0(0.0%) cp-2 .../racket-7.0/collects/racket/list.rkt:826:2 for-loop [133] 100.0% ------------------------------------------------------------------------------------- loop [108] 100.0% [119] 6708(10.8%) 0(0.0%) loop .../herbie/no-dirty-bits/src/points.rkt:104:2 ??? [173] 80.1% ??? [178] 15.1% ??? [39] 4.8% ------------------------------------------------------------------------------------- update-leader! [110] 100.0% [120] 6164(9.9%) 0(0.0%) for-loop ...o-dirty-bits/src/core/egraph.rkt:218:6 hash-update! [144] 59.9% for-loop [136] 40.1% ------------------------------------------------------------------------------------- append-at-pnts [70] 0.3% loop [57] 0.3% for-loop [97] 0.8% parse-loop80 [32] 7.4% loop! [134] 14.7% for-loop [116] 17.5% loop [121] 58.9% [121] 4374(7.0%) 920(1.5%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [121] 58.9% loop! [134] 14.7% hash-ref! [181] 7.4% ??? [178] 6.9% ??? [173] 3.6% ------------------------------------------------------------------------------------- argmin [111] 26.9% for-loop [53] 27.9% loop [61] 45.2% [122] 3336(5.4%) 598(1.0%) for-loop ...e/no-dirty-bits/src/programs.rkt:205:2 table-ref [170] 82.1% ------------------------------------------------------------------------------------- loop [161] 27.5% expand-single [112] 72.5% [123] 2186(3.5%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [137] 72.5% loop [161] 13.8% dispatch-transformer41 [166] 13.7% ------------------------------------------------------------------------------------- for-loop [117] 41.6% for-loop [92] 58.4% [124] 1604(2.6%) 972(1.6%) mk-enode! ...o-dirty-bits/src/core/egraph.rkt:99:0 new-enode [139] 39.4% ------------------------------------------------------------------------------------- infer-splitpoints [113] 100.0% [125] 1548(2.5%) 0(0.0%) for-loop ...o-dirty-bits/src/core/regimes.rkt:46:6 option-on-expr [138] 100.0% ------------------------------------------------------------------------------------- argmin [111] 100.0% [126] 1340(2.2%) 0(0.0%) ??? .../herbie/no-dirty-bits/src/points.rkt:217:27 eval-errors [135] 100.0% ------------------------------------------------------------------------------------- compile-top9 [114] 100.0% [127] 1302(2.1%) 332(0.5%) compile-forms31 (unknown source) for-loop [154] 51.5% loop! [142] 23.0% ------------------------------------------------------------------------------------- for-loop [116] 23.1% f46 [34] 76.9% [128] 1290(2.1%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 f46 [34] 26.0% parse-loop80 [32] 25.7% make-multiplication-node [140] 25.1% ??? [143] 23.1% ------------------------------------------------------------------------------------- loop [108] 100.0% [129] 1272(2.0%) 300(0.5%) ??? ...s/herbie/no-dirty-bits/src/points.rkt:129:2 ??? [178] 52.0% compose [141] 24.4% ------------------------------------------------------------------------------------- dedup-children! [115] 43.0% loop [130] 57.0% [130] 900(1.4%) 900(1.4%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [130] 57.0% ------------------------------------------------------------------------------------- for-loop [109] 100.0% [131] 334(0.5%) 334(0.5%) ??? ...rbie/no-dirty-bits/src/core/ematch.rkt:43:5 ------------------------------------------------------------------------------------- dedup-children! [115] 12.5% loop [132] 87.5% [132] 334(0.5%) 0(0.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [132] 87.5% loop [161] 12.5% ------------------------------------------------------------------------------------- cp-2 [118] 100.0% [133] 302(0.5%) 302(0.5%) for-loop ...ket-7.0/collects/racket/list.rkt:827:4 ------------------------------------------------------------------------------------- loop [121] 35.3% merge-egraph-nodes! [98] 64.7% [134] 3068(4.9%) 660(1.1%) loop! ...ie/no-dirty-bits/src/core/enode.rkt:191:2 loop [121] 35.3% custom-set-union [149] 34.2% set [146] 14.6% update-en-expr [165] 5.1% ------------------------------------------------------------------------------------- ??? [126] 49.6% ??? [90] 50.4% [135] 2704(4.4%) 0(0.0%) eval-errors .../no-dirty-bits/src/points.rkt:203:0 for-loop [145] 100.0% ------------------------------------------------------------------------------------- for-loop [120] 100.0% [136] 2470(4.0%) 0(0.0%) for-loop ...o-dirty-bits/src/core/egraph.rkt:219:8 hash-update! [144] 100.0% ------------------------------------------------------------------------------------- expand-capturing-lifts [123] 100.0% [137] 1584(2.5%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [147] 80.6% loop [161] 19.4% ------------------------------------------------------------------------------------- for-loop [125] 100.0% [138] 1548(2.5%) 0(0.0%) option-on-expr ...-bits/src/core/regimes.rkt:150:0 sort-context-on-expr [148] 80.6% for-loop [152] 19.4% ------------------------------------------------------------------------------------- mk-enode! [124] 100.0% [139] 632(1.0%) 0(0.0%) new-enode ...no-dirty-bits/src/core/enode.rkt:96:0 set [146] 52.5% type-of-enode-expr [151] 47.5% ------------------------------------------------------------------------------------- map [128] 100.0% [140] 324(0.5%) 0(0.0%) make-multiplication-node .../core/reduce.rkt:234:0 make-multiplication-subnode [150] 100.0% ------------------------------------------------------------------------------------- ??? [129] 100.0% [141] 310(0.5%) 310(0.5%) compose ...collects/racket/private/list.rkt:385:12 ------------------------------------------------------------------------------------- compile-forms31 [127] 100.0% [142] 300(0.5%) 0(0.0%) loop! (unknown source) for-loop [154] 100.0% ------------------------------------------------------------------------------------- map [128] 100.0% [143] 298(0.5%) 0(0.0%) ??? .../herbie/no-dirty-bits/src/points.rkt:214:26 ??? [173] 100.0% ------------------------------------------------------------------------------------- for-loop [136] 40.1% for-loop [120] 59.9% [144] 6164(9.9%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [153] 100.0% ------------------------------------------------------------------------------------- eval-errors [135] 100.0% [145] 2704(4.4%) 0(0.0%) for-loop ...bie/no-dirty-bits/src/points.rkt:205:2 ??? [173] 100.0% ------------------------------------------------------------------------------------- apply-match [82] 20.2% new-enode [139] 21.5% loop! [134] 58.2% [146] 1542(2.5%) 1230(2.0%) set ...collects/racket/private/set-types.rkt:981:0 for-loop [157] 20.2% ------------------------------------------------------------------------------------- lambda-clause-expander [137] 12.2% for-loop [154] 87.8% [147] 1276(2.1%) 0(0.0%) finish-bodys (unknown source) for-loop [154] 100.0% ------------------------------------------------------------------------------------- option-on-expr [138] 100.0% [148] 1248(2.0%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:145:0 ??? [155] 100.0% ------------------------------------------------------------------------------------- loop! [134] 100.0% [149] 1200(1.9%) 600(1.0%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [158] 25.0% for-loop [159] 25.0% ------------------------------------------------------------------------------------- make-multiplication-node [140] 100.0% [150] 324(0.5%) 0(0.0%) make-multiplication-subnode ...re/reduce.rkt:244:0 for-loop [156] 100.0% ------------------------------------------------------------------------------------- new-enode [139] 100.0% [151] 300(0.5%) 0(0.0%) type-of-enode-expr ...bits/src/core/enode.rkt:69:0 table-ref [170] 100.0% ------------------------------------------------------------------------------------- option-on-expr [138] 100.0% [152] 300(0.5%) 0(0.0%) for-loop ...-dirty-bits/src/core/regimes.rkt:158:4 errors [60] 100.0% ------------------------------------------------------------------------------------- hash-update! [144] 100.0% [153] 6164(9.9%) 310(0.5%) ??? ...ie/no-dirty-bits/src/core/egraph.rkt:221:24 for-loop [160] 95.0% ------------------------------------------------------------------------------------- fallback-loop [27] 0.8% for-loop [154] 2.3% loop! [142] 13.4% compile-forms31 [127] 29.8% finish-bodys [147] 53.6% [154] 2246(3.6%) 1600(2.6%) for-loop (unknown source) finish-bodys [147] 46.9% for-loop [154] 2.3% loop [161] 1.5% expand-identifier [12] 0.8% expand-implicit [9] 0.7% ------------------------------------------------------------------------------------- sort-context-on-expr [148] 100.0% [155] 1248(2.0%) 0(0.0%) ??? ...-7.0/collects/racket/private/sort.rkt:369:3 generic-sort/key [162] 72.3% loop [171] 27.7% ------------------------------------------------------------------------------------- make-multiplication-subnode [150] 100.0% [156] 324(0.5%) 0(0.0%) for-loop ...o-dirty-bits/src/core/reduce.rkt:246:3 mterm->expr [163] 100.0% ------------------------------------------------------------------------------------- set [146] 100.0% [157] 312(0.5%) 312(0.5%) for-loop ...cts/racket/private/set-types.rkt:937:4 ------------------------------------------------------------------------------------- custom-set-union [149] 100.0% [158] 300(0.5%) 300(0.5%) for-loop ...cts/racket/private/set-types.rkt:152:2 ------------------------------------------------------------------------------------- custom-set-union [149] 100.0% [159] 300(0.5%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [164] 100.0% ------------------------------------------------------------------------------------- ??? [153] 100.0% [160] 5854(9.4%) 4624(7.4%) for-loop ...-dirty-bits/src/core/egraph.rkt:222:26 update-en-expr [165] 21.0% ------------------------------------------------------------------------------------- expand-capturing-lifts [123] 9.8% compile16 [93] 9.8% for-loop [154] 19.4% eval-prog [74] 19.4% lambda-clause-expander [137] 19.9% loop [132] 21.6% [161] 1544(2.5%) 636(1.0%) loop (unknown source) expand-capturing-lifts [123] 29.2% dispatch-transformer41 [166] 19.9% core-form-sym [168] 19.4% ------------------------------------------------------------------------------------- ??? [155] 100.0% [162] 902(1.5%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 loop [171] 66.7% copying-mergesort [169] 33.3% ------------------------------------------------------------------------------------- for-loop [156] 100.0% [163] 324(0.5%) 0(0.0%) mterm->expr ...irty-bits/src/core/reduce.rkt:274:0 type-of [167] 100.0% ------------------------------------------------------------------------------------- for-loop [159] 100.0% [164] 300(0.5%) 300(0.5%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------------------------- loop! [134] 20.1% for-loop [160] 79.9% [165] 1540(2.5%) 1540(2.5%) update-en-expr ...y-bits/src/core/egraph.rkt:207:0 ------------------------------------------------------------------------------------- expand-capturing-lifts [123] 49.3% loop [161] 50.7% [166] 608(1.0%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [172] 100.0% ------------------------------------------------------------------------------------- mterm->expr [163] 100.0% [167] 324(0.5%) 0(0.0%) type-of ...e/no-dirty-bits/src/type-check.rkt:34:0 table-ref [170] 100.0% ------------------------------------------------------------------------------------- loop [161] 100.0% [168] 300(0.5%) 300(0.5%) core-form-sym (unknown source) ------------------------------------------------------------------------------------- generic-sort/key [162] 33.3% copying-mergesort [169] 66.7% [169] 300(0.5%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [169] 66.7% loop [171] 33.3% ------------------------------------------------------------------------------------- type-of-enode-expr [151] 8.2% inductor [89] 8.2% type-of [167] 8.8% for-loop [122] 74.8% [170] 3662(5.9%) 2764(4.4%) table-ref ...bie/no-dirty-bits/src/common.rkt:42:0 for-loop [174] 16.3% assoc-iterate-first [176] 8.2% ------------------------------------------------------------------------------------- copying-mergesort [169] 24.0% ??? [155] 27.7% generic-sort/key [162] 48.2% [171] 1248(2.0%) 600(1.0%) loop ...7.0/collects/racket/private/sort.rkt:96:12 ??? [173] 51.9% ------------------------------------------------------------------------------------- dispatch-transformer41 [166] 100.0% [172] 608(1.0%) 300(0.5%) apply-transformer52 (unknown source) syntax-remove-taint-dispatch-properties [175] 50.7% ------------------------------------------------------------------------------------- ??? [143] 2.7% loop [121] 2.8% loop [171] 5.8% ??? [90] 16.4% for-loop [145] 24.2% loop [119] 48.1% [173] 11170(18.0%) 900(1.4%) ??? ...herbie/no-dirty-bits/src/programs.rkt:146:2 ??? [177] 48.2% ??? [178] 43.7% ------------------------------------------------------------------------------------- table-ref [170] 100.0% [174] 598(1.0%) 598(1.0%) for-loop ...rbie/no-dirty-bits/src/common.rkt:44:4 ------------------------------------------------------------------------------------- apply-transformer52 [172] 100.0% [175] 308(0.5%) 308(0.5%) syntax-remove-taint-dispatch-properties ...source) ------------------------------------------------------------------------------------- table-ref [170] 100.0% [176] 300(0.5%) 300(0.5%) assoc-iterate-first ...cket/private/dict.rkt:166:0 ------------------------------------------------------------------------------------- ??? [173] 100.0% [177] 5386(8.7%) 300(0.5%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [178] 58.6% ??? [179] 24.1% ??? [180] 11.8% ------------------------------------------------------------------------------------- ??? [8] 1.8% loop [121] 2.5% loop [15] 2.6% ??? [129] 5.4% location-do [184] 7.1% for-loop [55] 7.1% loop [119] 8.2% ??? [177] 25.6% ??? [173] 39.7% [178] 12310(19.8%) 610(1.0%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ->flonum [182] 42.9% ival-mult [183] 25.6% location-do [184] 7.1% approximate9 [3] 5.8% sample-multi-bounded [186] 5.4% hash-ref! [181] 4.4% mk-ival [187] 2.5% simplify [25] 1.3% ------------------------------------------------------------------------------------- ??? [177] 100.0% [179] 1296(2.1%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-add [185] 100.0% ------------------------------------------------------------------------------------- ??? [177] 100.0% [180] 634(1.0%) 0(0.0%) ??? .../no-dirty-bits/src/syntax/syntax.rkt:317:17 return/no-unsupplied [188] 52.7% ??? [192] 47.3% ------------------------------------------------------------------------------------- for-loop [43] 1.0% for-loop [21] 1.0% localize-error [45] 1.4% for-loop [18] 1.7% for-loop [17] 1.8% for-loop [23] 2.0% ??? [8] 2.0% loop [15] 2.0% ??? [26] 2.2% loop [121] 4.3% ??? [191] 5.0% loop [35] 6.0% ??? [178] 10.4% ??? [189] 16.8% compile [83] 42.4% [181] 5616(9.0%) 2426(3.9%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [189] 28.5% simplify [25] 10.4% ??? [5] 7.8% ??? [191] 5.0% parse-loop80 [32] 4.3% ??? [8] 4.1% ??? [6] 3.9% ??? [7] 3.0% ??? [194] 1.4% ??? [10] 1.0% ------------------------------------------------------------------------------------- ??? [178] 100.0% [182] 5280(8.5%) 2262(3.6%) ->flonum ...ie/no-dirty-bits/src/programs.rkt:38:0 return/no-unsupplied [188] 38.9% ??? [192] 18.2% ------------------------------------------------------------------------------------- ??? [178] 100.0% [183] 3156(5.1%) 660(1.1%) ival-mult ...-dirty-bits/src/biginterval.rkt:105:0 classify-ival [190] 48.7% bf* [193] 30.4% ------------------------------------------------------------------------------------- ??? [178] 37.3% location-do [184] 62.7% [184] 2292(3.7%) 0(0.0%) location-do ...o-dirty-bits/src/programs.rkt:111:0 location-do [184] 62.7% ??? [178] 37.3% ------------------------------------------------------------------------------------- ??? [179] 100.0% [185] 1296(2.1%) 648(1.0%) ival-add ...no-dirty-bits/src/biginterval.rkt:87:0 ??? [196] 26.9% ...higher-order.rkt:361:33 [195] 23.1% ------------------------------------------------------------------------------------- ??? [178] 100.0% [186] 662(1.1%) 662(1.1%) sample-multi-bounded ...y-bits/src/points.rkt:16:0 ------------------------------------------------------------------------------------- ??? [178] 100.0% [187] 310(0.5%) 310(0.5%) mk-ival .../no-dirty-bits/src/biginterval.rkt:59:0 ------------------------------------------------------------------------------------- ??? [180] 14.0% ->flonum [182] 86.0% [188] 2390(3.8%) 2390(3.8%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 ------------------------------------------------------------------------------------- hash-ref! [181] 100.0% [189] 1830(2.9%) 898(1.4%) ??? ...herbie/no-dirty-bits/src/programs.rkt:189:5 hash-ref! [181] 64.0% ------------------------------------------------------------------------------------- ival-mult [183] 100.0% [190] 1538(2.5%) 1248(2.0%) classify-ival ...ty-bits/src/biginterval.rkt:310:0 ...higher-order.rkt:357:33 [198] 18.9% ------------------------------------------------------------------------------------- hash-ref! [181] 100.0% [191] 1330(2.1%) 0(0.0%) ??? ...bie/no-dirty-bits/src/core/taylor.rkt:45:15 hash-ref! [181] 100.0% ------------------------------------------------------------------------------------- ??? [180] 23.8% ->flonum [182] 76.2% [192] 1262(2.0%) 1262(2.0%) ??? ...s/racket/contract/private/arr-i.rkt:1252:29 ------------------------------------------------------------------------------------- ival-mult [183] 100.0% [193] 958(1.5%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [196] 100.0% ------------------------------------------------------------------------------------- hash-ref! [181] 100.0% [194] 324(0.5%) 0(0.0%) ??? ...e/no-dirty-bits/src/core/localize.rkt:22:13 bf [197] 100.0% ------------------------------------------------------------------------------------- ival-add [185] 100.0% [195] 300(0.5%) 300(0.5%) ...higher-order.rkt:361:33 (unknown source) ------------------------------------------------------------------------------------- ival-add [185] 26.6% bf* [193] 73.4% [196] 1306(2.1%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfadd [199] 100.0% ------------------------------------------------------------------------------------- ??? [194] 100.0% [197] 324(0.5%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [202] 100.0% ------------------------------------------------------------------------------------- classify-ival [190] 100.0% [198] 290(0.5%) 0(0.0%) ...higher-order.rkt:357:33 (unknown source) ??? [200] 100.0% ------------------------------------------------------------------------------------- ??? [196] 100.0% [199] 1306(2.1%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 ??? [201] 73.4% new-mpfr [202] 26.6% ------------------------------------------------------------------------------------- ...higher-order.rkt:357:33 [198] 100.0% [200] 290(0.5%) 0(0.0%) ??? ...cts/racket/contract/private/list.rkt:209:10 ??? [203] 100.0% ------------------------------------------------------------------------------------- bfadd [199] 100.0% [201] 958(1.5%) 958(1.5%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 ------------------------------------------------------------------------------------- bf [197] 48.2% bfadd [199] 51.8% [202] 672(1.1%) 672(1.1%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ------------------------------------------------------------------------------------- ??? [200] 100.0% [203] 290(0.5%) 290(0.5%) ??? ...ects/racket/contract/private/guts.rkt:746:8 -------------------------------------------------------------------------------------