Profiling results ----------------- Total cpu time observed: 19662ms (out of 20336ms) Number of samples taken: 64 (once every 307ms) =================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =================================================================== ??? [47] 100.0% [1] 19662(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [5] 100.0% ------------------------------------------------------------------- ??? [47] 100.0% [2] 12918(65.7%) 0(0.0%) run-improve40 ...ie/develop/src/mainloop.rkt:340:0 for-loop [6] 95.0% prepare-points-intervals [7] 2.6% finalize-iter! [14] 2.4% ------------------------------------------------------------------- ??? [47] 100.0% [3] 610(3.1%) 0(0.0%) eval-const-expr .../develop/src/programs.rkt:149:0 eval-prog [10] 100.0% ------------------------------------------------------------------- match-e [49] 100.0% [4] 244(1.2%) 0(0.0%) variable? .../develop/src/syntax/syntax.rkt:1159:0 ??? [18] 100.0% ------------------------------------------------------------------- profile-thunk16 [1] 100.0% [5] 19662(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [47] 100.0% ------------------------------------------------------------------- run-improve40 [2] 100.0% [6] 12268(62.4%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:355:4 run-iter! [8] 100.0% ------------------------------------------------------------------- run-improve40 [2] 6.1% ??? [47] 93.9% [7] 5514(28.0%) 0(0.0%) prepare-points-intervals ...p/src/points.rkt:133:0 loop [9] 93.9% eval-prog [10] 6.1% ------------------------------------------------------------------- for-loop [6] 100.0% [8] 12268(62.4%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:321:0 simplify! [11] 89.9% finalize-iter! [14] 7.6% gen-series! [16] 2.5% ------------------------------------------------------------------- prepare-points-intervals [7]100.0% [9] 5178(26.3%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:145:4 loop [12] 69.8% ??? [13] 30.2% ------------------------------------------------------------------- prepare-points-intervals [7] 35.5% eval-const-expr [3] 64.5% [10] 946(4.8%) 0(0.0%) eval-prog ...herbie/develop/src/programs.rkt:130:0 loop [76] 67.0% temp68_2 [15] 33.0% ------------------------------------------------------------------- run-iter! [8] 100.0% [11] 11024(56.1%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:217:0 ??? [17] 100.0% ------------------------------------------------------------------- loop [9] 100.0% [12] 3616(18.4%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:104:2 ??? [54] 100.0% ------------------------------------------------------------------- loop [9] 100.0% [13] 1562(7.9%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:129:2 ??? [79] 100.0% ------------------------------------------------------------------- run-improve40 [2] 25.1% run-iter! [8] 74.9% [14] 1252(6.4%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:272:0 ??? [18] 100.0% ------------------------------------------------------------------- eval-prog [10] 100.0% [15] 312(1.6%) 0(0.0%) temp68_2 (unknown source) compile16 [19] 100.0% ------------------------------------------------------------------- run-iter! [8] 100.0% [16] 306(1.6%) 0(0.0%) gen-series! ...rbie/develop/src/mainloop.rkt:153:0 for-loop [20] 100.0% ------------------------------------------------------------------- simplify! [11] 100.0% [17] 11024(56.1%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:29:0 loop [21] 94.6% loop [23] 5.4% ------------------------------------------------------------------- variable? [4] 16.3% finalize-iter! [14] 83.7% [18] 1496(7.6%) 244(1.2%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [22] 83.7% ------------------------------------------------------------------- temp68_2 [15] 100.0% [19] 312(1.6%) 0(0.0%) compile16 (unknown source) temp74_0 [24] 100.0% ------------------------------------------------------------------- gen-series! [16] 100.0% [20] 306(1.6%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:160:7 taylor-alt [25] 100.0% ------------------------------------------------------------------- ??? [17] 100.0% [21] 10424(53.0%) 0(0.0%) loop .../herbie/develop/src/core/simplify.rkt:44:2 one-iter [26] 94.1% loop [28] 5.9% ------------------------------------------------------------------- ??? [18] 100.0% [22] 1252(6.4%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [27] 100.0% ------------------------------------------------------------------- ??? [17] 100.0% [23] 600(3.1%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:132:2 for-loop [29] 100.0% ------------------------------------------------------------------- compile16 [19] 100.0% [24] 312(1.6%) 0(0.0%) temp74_0 (unknown source) expand-single [30] 100.0% ------------------------------------------------------------------- for-loop [20] 100.0% [25] 306(1.6%) 0(0.0%) taylor-alt ...erbie/develop/src/mainloop.rkt:139:0 for-loop [31] 100.0% ------------------------------------------------------------------- loop [21] 100.0% [26] 9814(49.9%) 0(0.0%) one-iter ...ie/develop/src/core/simplify.rkt:100:0 for-loop [32] 78.5% find-matches [33] 21.5% ------------------------------------------------------------------- for-loop [22] 100.0% [27] 1252(6.4%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:200:0 best-and-tied-at-points [35] 49.0% append-at-pnts [37] 26.5% override-at-pnts [38] 24.4% ------------------------------------------------------------------- loop [21] 100.0% [28] 610(3.1%) 0(0.0%) loop ...-7.0/collects/racket/private/map.rkt:74:19 set-precompute! [36] 100.0% ------------------------------------------------------------------- loop [23] 100.0% [29] 600(3.1%) 300(1.5%) for-loop ...ie/develop/src/core/simplify.rkt:138:4 loop [39] 50.0% ------------------------------------------------------------------- temp74_0 [24] 100.0% [30] 312(1.6%) 0(0.0%) expand-single (unknown source) expand-capturing-lifts [34] 100.0% ------------------------------------------------------------------- taylor-alt [25] 100.0% [31] 306(1.6%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:145:6 ??? [79] 100.0% ------------------------------------------------------------------- one-iter [26] 100.0% [32] 7700(39.2%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:101:2 apply-match [40] 100.0% ------------------------------------------------------------------- one-iter [26] 100.0% [33] 2114(10.8%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:64:0 for-loop [41] 100.0% ------------------------------------------------------------------- expand-single [30] 33.0% loop [76] 67.0% [34] 946(4.8%) 0(0.0%) expand-capturing-lifts (unknown source) loop [76] 35.5% lambda-clause-expander [44] 33.0% dispatch-transformer41 [46] 31.5% ------------------------------------------------------------------- atab-add-altn [27] 100.0% [35] 614(3.1%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:112:0 errors [42] 100.0% ------------------------------------------------------------------- loop [28] 100.0% [36] 610(3.1%) 0(0.0%) set-precompute! ...lop/src/core/simplify.rkt:105:0 for-loop [43] 100.0% ------------------------------------------------------------------- atab-add-altn [27] 100.0% [37] 332(1.7%) 0(0.0%) append-at-pnts ...lop/src/core/alt-table.rkt:144:0 loop [75] 100.0% ------------------------------------------------------------------- atab-add-altn [27] 100.0% [38] 306(1.6%) 0(0.0%) override-at-pnts ...p/src/core/alt-table.rkt:135:0 errors [42] 100.0% ------------------------------------------------------------------- for-loop [29] 100.0% [39] 300(1.5%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 expression-cost [45] 100.0% ------------------------------------------------------------------- for-loop [32] 100.0% [40] 7700(39.2%) 350(1.8%) apply-match .../develop/src/core/simplify.rkt:73:0 for-loop [48] 72.1% match-e [49] 23.4% ------------------------------------------------------------------- for-loop [41] 50.0% find-matches [33] 50.0% [41] 2114(10.8%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:66:8 for-loop [41] 50.0% match-e [49] 50.0% ------------------------------------------------------------------- override-at-pnts [38] 19.2% best-and-tied-at-points [35] 38.6% ??? [47] 42.2% [42] 1592(8.1%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:228:0 for-loop [50] 100.0% ------------------------------------------------------------------- set-precompute! [36] 100.0% [43] 610(3.1%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:108:2 ??? [47] 100.0% ------------------------------------------------------------------- expand-capturing-lifts [34] 100.0% [44] 312(1.6%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [51] 100.0% ------------------------------------------------------------------- loop [39] 100.0% [45] 300(1.5%) 0(0.0%) expression-cost .../develop/src/programs.rkt:204:0 compile [52] 100.0% ------------------------------------------------------------------- expand-capturing-lifts [34] 100.0% [46] 298(1.5%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [53] 100.0% ------------------------------------------------------------------- for-loop [43] 1.0% run [5] 49.5% [47] 19662(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.5% run-improve40 [2] 32.3% prepare-points-intervals [7] 13.2% errors [42] 1.7% oracle-error [58] 1.5% eval-const-expr [3] 1.0% eval-errors [61] 0.8% ------------------------------------------------------------------- apply-match [40] 100.0% [48] 5552(28.2%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:87:2 dedup-children! [56] 48.9% merge-egraph-nodes! [57] 47.0% substitute-e [62] 4.1% ------------------------------------------------------------------- for-loop [64] 27.7% apply-match [40] 30.9% for-loop [41] 41.4% [49] 3912(19.9%) 1400(7.1%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [55] 68.4% variable? [4] 2.1% ------------------------------------------------------------------- errors [42] 100.0% [50] 1592(8.1%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:230:2 ??? [54] 43.2% point-error [59] 19.2% ulp-difference [68] 18.8% ??? [79] 18.7% ------------------------------------------------------------------- for-loop [81] 50.0% lambda-clause-expander [44] 50.0% [51] 312(1.6%) 0(0.0%) finish-bodys (unknown source) for-loop [81] 100.0% ------------------------------------------------------------------- expression-cost [45] 100.0% [52] 300(1.5%) 0(0.0%) compile ...s/herbie/develop/src/programs.rkt:181:0 hash-ref! [60] 100.0% ------------------------------------------------------------------- dispatch-transformer41 [46] 100.0% [53] 298(1.5%) 0(0.0%) apply-transformer52 (unknown source) loop [76] 100.0% ------------------------------------------------------------------- for-loop [72] 6.5% for-loop [50] 15.0% loop [12] 78.6% [54] 4602(23.4%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:146:2 ??? [63] 63.8% ??? [79] 36.2% ------------------------------------------------------------------- match-e [49] 100.0% [55] 3000(15.3%) 900(4.6%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [64] 57.8% loop [75] 9.9% curried [70] 8.8% cartesian-product [74] 3.7% ------------------------------------------------------------------- for-loop [48] 100.0% [56] 2714(13.8%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:199:0 loop [65] 61.5% loop [67] 38.5% ------------------------------------------------------------------- for-loop [71] 4.9% merge-egraph-nodes! [57] 11.4% for-loop [48] 83.8% [57] 2612(13.3%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:145:0 loop! [80] 42.4% update-leader! [66] 41.3% merge-egraph-nodes! [57] 11.4% for-loop [71] 4.9% ------------------------------------------------------------------- ??? [47] 100.0% [58] 596(3.0%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:212:0 for-loop [69] 100.0% ------------------------------------------------------------------- for-loop [50] 100.0% [59] 306(1.6%) 0(0.0%) point-error ...herbie/develop/src/points.rkt:195:0 ulp-difference [68] 100.0% ------------------------------------------------------------------- compile [52] 100.0% [60] 300(1.5%) 300(1.5%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ------------------------------------------------------------------- ??? [47] 100.0% [61] 298(1.5%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:203:0 for-loop [72] 100.0% ------------------------------------------------------------------- for-loop [48] 33.3% for-loop [73] 66.7% [62] 226(1.1%) 226(1.1%) substitute-e ...e/develop/src/core/ematch.rkt:64:0 for-loop [73] 66.7% ------------------------------------------------------------------- ??? [54] 100.0% [63] 2934(14.9%) 0(0.0%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [79] 100.0% ------------------------------------------------------------------- for-loop [55] 100.0% [64] 2410(12.3%) 326(1.7%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [49] 86.5% ------------------------------------------------------------------- dedup-children! [56] 34.6% loop [65] 65.4% [65] 1668(8.5%) 0(0.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [65] 65.4% member [78] 19.5% loop [76] 15.0% ------------------------------------------------------------------- merge-egraph-nodes! [57] 100.0% [66] 1164(5.9%) 0(0.0%) update-leader! ...evelop/src/core/egraph.rkt:213:0 for-loop [77] 100.0% ------------------------------------------------------------------- dedup-children! [56] 5.9% loop [67] 94.1% [67] 1046(5.3%) 1046(5.3%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [67] 94.1% ------------------------------------------------------------------- for-loop [50] 49.5% point-error [59] 50.5% [68] 606(3.1%) 606(3.1%) ulp-difference ...erbie/develop/src/float.rkt:14:0 ------------------------------------------------------------------- oracle-error [58] 100.0% [69] 596(3.0%) 300(1.5%) for-loop ...es/herbie/develop/src/points.rkt:213:2 loop [75] 49.7% ------------------------------------------------------------------- for-loop [55] 100.0% [70] 526(2.7%) 526(2.7%) curried ...-7.0/collects/racket/function.rkt:71:18 ------------------------------------------------------------------- merge-egraph-nodes! [57] 100.0% [71] 338(1.7%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:199:4 merge-egraph-nodes! [57] 100.0% ------------------------------------------------------------------- eval-errors [61] 100.0% [72] 298(1.5%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:205:2 ??? [54] 100.0% ------------------------------------------------------------------- substitute-e [62] 100.0% [73] 226(1.1%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:73:24 substitute-e [62] 100.0% ------------------------------------------------------------------- for-loop [55] 100.0% [74] 220(1.1%) 220(1.1%) cartesian-product ...ollects/racket/list.rkt:822:0 ------------------------------------------------------------------- append-at-pnts [37] 0.1% for-loop [55] 1.8% for-loop [69] 14.4% loop! [80] 15.7% loop [75] 67.9% [75] 2052(10.4%) 628(3.2%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [75] 67.9% loop! [80] 15.7% ??? [79] 14.4% ------------------------------------------------------------------- loop [76] 5.7% expand-capturing-lifts [34] 5.7% apply-transformer52 [53] 7.5% eval-prog [10] 13.2% loop [65] 67.9% [76] 1976(10.0%) 1342(6.8%) loop (unknown source) expand-capturing-lifts [34] 13.2% core-form-sym [83] 7.5% loop [76] 5.7% for-loop [81] 5.7% ------------------------------------------------------------------- update-leader! [66] 100.0% [77] 1164(5.9%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:218:6 for-loop [82] 55.0% hash-update! [85] 45.0% ------------------------------------------------------------------- loop [65] 100.0% [78] 326(1.7%) 326(1.7%) member (unknown source) ------------------------------------------------------------------- location-do [94] 2.2% for-loop [31] 2.2% loop [75] 4.2% for-loop [50] 4.2% ??? [13] 22.1% ??? [54] 23.6% ??? [63] 41.5% [79] 7064(35.9%) 1282(6.5%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ival-mult [84] 41.5% sample-multi-bounded [86] 13.4% ->flonum [87] 12.9% mk-ival [88] 9.7% location-do [94] 2.2% approximate9 [93] 2.2% ------------------------------------------------------------------- loop [75] 39.0% merge-egraph-nodes! [57] 61.0% [80] 1448(7.4%) 168(0.9%) loop! ...s/herbie/develop/src/core/enode.rkt:191:2 loop [75] 39.0% custom-set-union [89] 32.3% set [90] 11.8% update-en-expr [108] 11.1% ------------------------------------------------------------------- run-module-instance!125 [92] 25.9% loop [76] 25.9% finish-bodys [51] 48.1% [81] 648(3.3%) 312(1.6%) for-loop (unknown source) run-module-instance!125 [92] 25.9% [running body] [91] 25.9% finish-bodys [51] 24.1% ------------------------------------------------------------------- for-loop [77] 100.0% [82] 640(3.3%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:219:8 hash-update! [85] 100.0% ------------------------------------------------------------------- loop [76] 100.0% [83] 298(1.5%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [95] 100.0% ------------------------------------------------------------------- ??? [79] 100.0% [84] 2934(14.9%) 358(1.8%) ival-mult ...bie/develop/src/biginterval.rkt:105:0 bf* [96] 55.6% classify-ival [98] 32.2% ------------------------------------------------------------------- for-loop [77] 45.0% for-loop [82] 55.0% [85] 1164(5.9%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [97] 100.0% ------------------------------------------------------------------- ??? [79] 100.0% [86] 950(4.8%) 302(1.5%) sample-multi-bounded ...evelop/src/points.rkt:16:0 loop [99] 68.2% ------------------------------------------------------------------- ??? [79] 100.0% [87] 910(4.6%) 910(4.6%) ->flonum ...s/herbie/develop/src/programs.rkt:38:0 ------------------------------------------------------------------- ??? [79] 100.0% [88] 682(3.5%) 328(1.7%) mk-ival ...herbie/develop/src/biginterval.rkt:59:0 bf [100] 51.9% ------------------------------------------------------------------- loop! [80] 100.0% [89] 616(3.1%) 616(3.1%) custom-set-union ...et/private/set-types.rkt:168:0 ------------------------------------------------------------------- loop! [80] 100.0% [90] 342(1.7%) 342(1.7%) set ...collects/racket/private/set-types.rkt:981:0 ------------------------------------------------------------------- for-loop [81] 100.0% [91] 336(1.7%) 336(1.7%) [running body] ...rbie/develop/src/errors.rkt":##f ------------------------------------------------------------------- for-loop [81] 100.0% [92] 336(1.7%) 0(0.0%) run-module-instance!125 (unknown source) for-loop [81] 100.0% ------------------------------------------------------------------- ??? [79] 100.0% [93] 306(1.6%) 0(0.0%) approximate9 ...e/develop/src/core/taylor.rkt:12:0 for-loop [101] 100.0% ------------------------------------------------------------------- ??? [79] 100.0% [94] 306(1.6%) 0(0.0%) location-do ...rbie/develop/src/programs.rkt:111:0 ??? [79] 100.0% ------------------------------------------------------------------- core-form-sym [83] 100.0% [95] 298(1.5%) 298(1.5%) resolve+shift28 (unknown source) ------------------------------------------------------------------- ival-mult [84] 100.0% [96] 1630(8.3%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [102] 100.0% ------------------------------------------------------------------- hash-update! [85] 100.0% [97] 1164(5.9%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:221:24 for-loop [103] 100.0% ------------------------------------------------------------------- ival-mult [84] 100.0% [98] 946(4.8%) 586(3.0%) classify-ival ...develop/src/biginterval.rkt:310:0 fold-binary-pred [105] 38.1% ------------------------------------------------------------------- sample-multi-bounded [86] 100.0% [99] 648(3.3%) 0(0.0%) loop ...ghtlies/herbie/develop/src/points.rkt:45:6 random-exp [104] 100.0% ------------------------------------------------------------------- mk-ival [88] 100.0% [100] 354(1.8%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 ??? [109] 100.0% ------------------------------------------------------------------- approximate9 [93] 100.0% [101] 306(1.6%) 0(0.0%) for-loop ...erbie/develop/src/core/taylor.rkt:20:9 ??? [107] 100.0% ------------------------------------------------------------------- bf* [96] 100.0% [102] 1630(8.3%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfmul [106] 100.0% ------------------------------------------------------------------- ??? [97] 100.0% [103] 1164(5.9%) 834(4.2%) for-loop ...bie/develop/src/core/egraph.rkt:222:26 update-en-expr [108] 28.4% ------------------------------------------------------------------- loop [99] 100.0% [104] 648(3.3%) 648(3.3%) random-exp .../herbie/develop/src/common.rkt:173:0 ------------------------------------------------------------------- classify-ival [98] 100.0% [105] 360(1.8%) 0(0.0%) fold-binary-pred ...gfloat/bigfloat-mpfr.rkt:117:0 ??? [107] 100.0% ------------------------------------------------------------------- ??? [102] 100.0% [106] 1630(8.3%) 344(1.7%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:821:4 ??? [109] 56.1% new-mpfr [110] 22.8% ------------------------------------------------------------------- for-loop [101] 45.9% fold-binary-pred [105] 54.1% [107] 666(3.4%) 666(3.4%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ------------------------------------------------------------------- loop! [80] 49.4% for-loop [103] 50.6% [108] 652(3.3%) 652(3.3%) update-en-expr ...evelop/src/core/egraph.rkt:207:0 ------------------------------------------------------------------- bf [100] 27.9% bfmul [106] 72.1% [109] 1268(6.4%) 1268(6.4%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 ------------------------------------------------------------------- bfmul [106] 100.0% [110] 372(1.9%) 372(1.9%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 -------------------------------------------------------------------