Profiling results ----------------- Total cpu time observed: 43830ms (out of 44288ms) Number of samples taken: 154 (once every 285ms) (Hiding functions with self<1.0% and local<2.0%: 2 of 204 hidden) ======================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================================== ??? [18] 100.0% [1] 43830(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [9] 100.0% ---------------------------------------------------------------------------------------- matcher [86] 100.0% [2] 7662(17.5%) 0(0.0%) ??? ...various-cleanup/src/core/matcher.rkt:130:11 for-loop [10] 91.8% for-loop [14] 5.9% foldl [121] 2.3% ---------------------------------------------------------------------------------------- ??? [130] 100.0% [3] 2430(5.5%) 0(0.0%) approximate9 ...s-cleanup/src/core/taylor.rkt:12:0 loop [12] 63.1% for-loop [15] 24.5% taylor [20] 12.3% ---------------------------------------------------------------------------------------- ??? [18] 100.0% [4] 2044(4.7%) 0(0.0%) get-final-combination ...up/src/mainloop.rkt:365:0 infer-splitpoints [11] 100.0% ---------------------------------------------------------------------------------------- loop [188] 20.7% for-loop [173] 79.3% [5] 1354(3.1%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [13] 100.0% ---------------------------------------------------------------------------------------- hash-ref! [144] 100.0% [6] 1236(2.8%) 0(0.0%) ??? ...e/various-cleanup/src/core/taylor.rkt:68:15 hash-ref! [144] 56.6% ??? [130] 43.4% ---------------------------------------------------------------------------------------- hash-ref! [144] 100.0% [7] 632(1.4%) 0(0.0%) ??? ...e/various-cleanup/src/core/taylor.rkt:45:15 ??? [16] 56.6% simplify [53] 43.4% ---------------------------------------------------------------------------------------- hash-ref! [144] 100.0% [8] 358(0.8%) 0(0.0%) ??? .../various-cleanup/src/core/taylor.rkt:291:26 for-loop [17] 100.0% ---------------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [9] 43830(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [18] 100.0% ---------------------------------------------------------------------------------------- ??? [2] 100.0% [10] 7662(17.5%) 0(0.0%) for-loop ...us-cleanup/src/core/matcher.rkt:132:15 matcher [86] 100.0% ---------------------------------------------------------------------------------------- get-final-combination [4] 100.0% [11] 2044(4.7%) 0(0.0%) infer-splitpoints ...nup/src/core/regimes.rkt:34:0 for-loop [19] 100.0% ---------------------------------------------------------------------------------------- approximate9 [3] 100.0% [12] 1534(3.5%) 0(0.0%) loop ...e/various-cleanup/src/core/taylor.rkt:87:4 hash-ref! [144] 80.6% ??? [130] 19.4% ---------------------------------------------------------------------------------------- syntax-e [5] 100.0% [13] 1354(3.1%) 280(0.6%) syntax-e/no-taint (unknown source) loop [188] 79.3% ---------------------------------------------------------------------------------------- ??? [2] 100.0% [14] 1268(2.9%) 0(0.0%) for-loop ...ous-cleanup/src/core/matcher.rkt:106:4 foldl [121] 100.0% ---------------------------------------------------------------------------------------- approximate9 [3] 100.0% [15] 596(1.4%) 0(0.0%) for-loop ...ious-cleanup/src/core/taylor.rkt:30:18 taylor [20] 100.0% ---------------------------------------------------------------------------------------- ??? [7] 100.0% [16] 358(0.8%) 0(0.0%) ??? .../various-cleanup/src/core/taylor.rkt:294:19 hash-ref! [144] 100.0% ---------------------------------------------------------------------------------------- ??? [8] 100.0% [17] 358(0.8%) 0(0.0%) for-loop ...ous-cleanup/src/core/taylor.rkt:291:52 hash-ref! [144] 100.0% ---------------------------------------------------------------------------------------- for-loop [88] 2.5% run [9] 48.8% [18] 43830(100.0%) 196(0.4%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 48.8% run-improve47 [21] 39.1% prepare-points [22] 4.1% get-final-combination [4] 2.3% oracle-error [24] 2.2% ??? [69] 1.3% infer-double-representation [178] 0.8% errors [79] 0.5% for-loop [25] 0.2% eval-errors [165] 0.2% baseline-error [26] 0.2% ---------------------------------------------------------------------------------------- infer-splitpoints [11] 100.0% [19] 2044(4.7%) 0(0.0%) for-loop ...ious-cleanup/src/core/regimes.rkt:46:6 option-on-expr [23] 100.0% ---------------------------------------------------------------------------------------- approximate9 [3] 10.0% taylor [20] 19.9% for-loop [15] 19.9% hash-ref! [144] 24.1% map [34] 26.2% [20] 1500(3.4%) 324(0.7%) taylor ...arious-cleanup/src/core/taylor.rkt:170:0 map [34] 64.7% taylor [20] 19.9% loop [119] 10.0% ---------------------------------------------------------------------------------------- ??? [18] 100.0% [21] 35104(80.1%) 0(0.0%) run-improve47 ...us-cleanup/src/mainloop.rkt:342:0 for-loop [27] 89.5% simplify! [40] 10.5% ---------------------------------------------------------------------------------------- ??? [18] 100.0% [22] 3590(8.2%) 0(0.0%) prepare-points ...ous-cleanup/src/points.rkt:146:0 loop [28] 100.0% ---------------------------------------------------------------------------------------- for-loop [19] 100.0% [23] 2044(4.7%) 0(0.0%) option-on-expr ...eanup/src/core/regimes.rkt:126:0 sort-context-on-expr [30] 69.5% for-loop [31] 20.0% loop [119] 10.6% ---------------------------------------------------------------------------------------- ??? [18] 100.0% [24] 1886(4.3%) 0(0.0%) oracle-error ...rious-cleanup/src/points.rkt:188:0 for-loop [29] 100.0% ---------------------------------------------------------------------------------------- ??? [18] 100.0% [25] 202(0.5%) 0(0.0%) for-loop ...e/various-cleanup/src/sandbox.rkt:70:8 errors-score [32] 100.0% ---------------------------------------------------------------------------------------- ??? [18] 100.0% [26] 200(0.5%) 0(0.0%) baseline-error ...ous-cleanup/src/points.rkt:192:0 loop [147] 100.0% ---------------------------------------------------------------------------------------- run-improve47 [21] 100.0% [27] 31426(71.7%) 0(0.0%) for-loop ...various-cleanup/src/mainloop.rkt:359:4 run-iter! [33] 100.0% ---------------------------------------------------------------------------------------- prepare-points [22] 100.0% [28] 3590(8.2%) 216(0.5%) loop ...erbie/various-cleanup/src/points.rkt:122:4 loop [35] 45.6% ??? [36] 42.3% andmap [38] 6.0% ---------------------------------------------------------------------------------------- oracle-error [24] 100.0% [29] 1886(4.3%) 204(0.5%) for-loop ...e/various-cleanup/src/points.rkt:189:2 loop [119] 65.6% map [34] 23.5% ---------------------------------------------------------------------------------------- option-on-expr [23] 100.0% [30] 1420(3.2%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:118:0 ??? [37] 100.0% ---------------------------------------------------------------------------------------- option-on-expr [23] 100.0% [31] 408(0.9%) 0(0.0%) for-loop ...ous-cleanup/src/core/regimes.rkt:137:4 errors [79] 100.0% ---------------------------------------------------------------------------------------- for-loop [25] 100.0% [32] 202(0.5%) 0(0.0%) errors-score ...rious-cleanup/src/points.rkt:196:0 loop [39] 100.0% ---------------------------------------------------------------------------------------- for-loop [27] 100.0% [33] 31426(71.7%) 0(0.0%) run-iter! ...arious-cleanup/src/mainloop.rkt:323:0 simplify! [40] 47.1% gen-rewrites! [41] 24.4% finalize-iter! [42] 16.9% gen-series! [43] 8.8% choose-best-alt! [46] 1.8% localize! [48] 1.0% ---------------------------------------------------------------------------------------- f46 [64] 12.4% parse-loop80 [61] 12.6% for-loop [29] 17.1% taylor [20] 57.9% [34] 2590(5.9%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 taylor-invert [45] 33.8% taylor [20] 24.1% ??? [134] 17.1% f46 [64] 9.9% hash-ref! [144] 8.4% loop [47] 4.2% parse-loop80 [61] 2.5% ---------------------------------------------------------------------------------------- loop [28] 100.0% [35] 1638(3.7%) 0(0.0%) loop ...herbie/various-cleanup/src/points.rkt:81:2 ??? [69] 100.0% ---------------------------------------------------------------------------------------- loop [28] 100.0% [36] 1520(3.5%) 0(0.0%) ??? ...herbie/various-cleanup/src/points.rkt:106:2 ??? [130] 71.3% curried [125] 15.1% loop [119] 13.6% ---------------------------------------------------------------------------------------- sort-context-on-expr [30] 100.0% [37] 1420(3.2%) 0(0.0%) ??? ...-7.0/collects/racket/private/sort.rkt:369:3 generic-sort/key [44] 84.8% loop [62] 15.2% ---------------------------------------------------------------------------------------- loop [28] 100.0% [38] 216(0.5%) 216(0.5%) andmap ...0/collects/racket/private/map.rkt:102:13 ---------------------------------------------------------------------------------------- errors-score [32] 100.0% [39] 202(0.5%) 202(0.5%) loop .../racket-7.0/collects/racket/list.rkt:559:2 ---------------------------------------------------------------------------------------- run-improve47 [21] 19.9% run-iter! [33] 80.1% [40] 18494(42.2%) 0(0.0%) simplify! ...arious-cleanup/src/mainloop.rkt:220:0 ??? [49] 100.0% ---------------------------------------------------------------------------------------- run-iter! [33] 100.0% [41] 7662(17.5%) 0(0.0%) gen-rewrites! ...us-cleanup/src/mainloop.rkt:179:0 for-loop [50] 100.0% ---------------------------------------------------------------------------------------- run-iter! [33] 100.0% [42] 5320(12.1%) 0(0.0%) finalize-iter! ...s-cleanup/src/mainloop.rkt:274:0 ??? [51] 100.0% ---------------------------------------------------------------------------------------- run-iter! [33] 100.0% [43] 2750(6.3%) 0(0.0%) gen-series! ...ious-cleanup/src/mainloop.rkt:156:0 for-loop [52] 100.0% ---------------------------------------------------------------------------------------- ??? [37] 100.0% [44] 1204(2.7%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [54] 83.4% loop [62] 16.6% ---------------------------------------------------------------------------------------- map [34] 100.0% [45] 876(2.0%) 0(0.0%) taylor-invert ...cleanup/src/core/taylor.rkt:318:0 simplify [53] 100.0% ---------------------------------------------------------------------------------------- run-iter! [33] 100.0% [46] 552(1.3%) 0(0.0%) choose-best-alt! ...cleanup/src/mainloop.rkt:114:0 ??? [51] 100.0% ---------------------------------------------------------------------------------------- map [34] 1.7% loop [47] 98.3% [47] 326(0.7%) 0(0.0%) loop ...-7.0/collects/racket/private/map.rkt:54:19 loop [47] 98.3% ??? [55] 1.7% ---------------------------------------------------------------------------------------- run-iter! [33] 100.0% [48] 326(0.7%) 0(0.0%) localize! ...arious-cleanup/src/mainloop.rkt:123:0 localize-error [56] 100.0% ---------------------------------------------------------------------------------------- simplify! [40] 100.0% [49] 18494(42.2%) 0(0.0%) ??? .../various-cleanup/src/core/simplify.rkt:26:0 for-loop [57] 73.8% one-iter [67] 16.7% loop [72] 9.5% ---------------------------------------------------------------------------------------- gen-rewrites! [41] 100.0% [50] 7662(17.5%) 0(0.0%) for-loop ...arious-cleanup/src/mainloop.rkt:187:11 rewrite-expression-head20 [58] 100.0% ---------------------------------------------------------------------------------------- variable? [110] 4.3% choose-best-alt! [46] 7.4% match-e [96] 17.3% finalize-iter! [42] 71.0% [51] 7492(17.1%) 1296(3.0%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [59] 71.0% ??? [65] 7.4% ??? [157] 4.3% ---------------------------------------------------------------------------------------- gen-series! [43] 100.0% [52] 2750(6.3%) 0(0.0%) for-loop ...various-cleanup/src/mainloop.rkt:163:7 taylor-alt [60] 100.0% ---------------------------------------------------------------------------------------- ??? [7] 11.3% loop [119] 12.4% ??? [130] 13.2% hash-ref! [144] 27.0% taylor-invert [45] 36.1% [53] 2426(5.5%) 0(0.0%) simplify ...rious-cleanup/src/core/reduce.rkt:16:0 parse-loop80 [61] 36.1% debug-print [63] 27.1% f46 [64] 24.5% simplify* [66] 12.3% ---------------------------------------------------------------------------------------- generic-sort/key [44] 38.4% copying-mergesort [54] 61.6% [54] 1004(2.3%) 198(0.5%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [54] 61.6% loop [62] 33.5% ---------------------------------------------------------------------------------------- loop [47] 100.0% [55] 326(0.7%) 0(0.0%) ??? ...various-cleanup/src/core/localize.rkt:52:36 infer-double-representation [178] 100.0% ---------------------------------------------------------------------------------------- localize! [48] 100.0% [56] 326(0.7%) 0(0.0%) localize-error ...eanup/src/core/localize.rkt:61:0 hash-ref! [144] 100.0% ---------------------------------------------------------------------------------------- ??? [49] 100.0% [57] 13656(31.2%) 0(0.0%) for-loop ...ous-cleanup/src/core/simplify.rkt:35:2 one-iter [67] 95.3% loop [72] 4.7% ---------------------------------------------------------------------------------------- for-loop [50] 100.0% [58] 7662(17.5%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:87:0 rewriter [68] 100.0% ---------------------------------------------------------------------------------------- ??? [51] 100.0% [59] 5320(12.1%) 298(0.7%) for-loop ...us-cleanup/src/core/alt-table.rkt:56:2 atab-add-altn [70] 70.3% errors [79] 17.6% for-loop [83] 6.5% ---------------------------------------------------------------------------------------- for-loop [52] 100.0% [60] 2750(6.3%) 0(0.0%) taylor-alt ...rious-cleanup/src/mainloop.rkt:142:0 for-loop [71] 100.0% ---------------------------------------------------------------------------------------- map [34] 21.0% hash-ref! [144] 21.4% simplify [53] 57.6% [61] 1522(3.5%) 320(0.7%) parse-loop80 ...s/racket/match/compiler.rkt:418:15 eval-const-expr [73] 57.6% map [34] 21.4% ---------------------------------------------------------------------------------------- generic-sort/key [44] 16.4% ??? [37] 17.7% copying-mergesort [54] 66.0% [62] 1222(2.8%) 198(0.5%) loop ...7.0/collects/racket/private/sort.rkt:96:12 ??? [69] 66.1% precision->real [148] 17.7% ---------------------------------------------------------------------------------------- simplify [53] 100.0% [63] 658(1.5%) 0(0.0%) debug-print ...various-cleanup/src/debug.rkt:110:0 for-loop [74] 54.4% ??? [75] 45.6% ---------------------------------------------------------------------------------------- map [34] 43.1% simplify [53] 56.9% [64] 594(1.4%) 0(0.0%) f46 ...0/collects/racket/match/compiler.rkt:507:40 map [34] 53.9% eval-const-expr [73] 46.1% ---------------------------------------------------------------------------------------- ??? [51] 100.0% [65] 552(1.3%) 0(0.0%) ??? ...various-cleanup/src/core/alt-table.rkt:59:0 ??? [130] 100.0% ---------------------------------------------------------------------------------------- simplify [53] 100.0% [66] 298(0.7%) 0(0.0%) simplify* ...ious-cleanup/src/core/reduce.rkt:31:0 hash-ref! [144] 100.0% ---------------------------------------------------------------------------------------- ??? [49] 19.2% for-loop [57] 80.8% [67] 16096(36.7%) 0(0.0%) one-iter ...ous-cleanup/src/core/simplify.rkt:72:0 find-matches [76] 60.2% for-loop [78] 38.1% for-loop [84] 1.7% ---------------------------------------------------------------------------------------- rewrite-expression-head20 [58] 27.4% matcher [86] 72.6% [68] 7662(17.5%) 872(2.0%) rewriter ...ious-cleanup/src/core/matcher.rkt:90:2 for-loop [77] 90.1% *rules* [81] 6.9% ---------------------------------------------------------------------------------------- loop [62] 15.6% ??? [134] 20.6% loop [35] 31.7% ??? [18] 32.0% [69] 5164(11.8%) 0(0.0%) ??? ...rbie/various-cleanup/src/programs.rkt:108:2 real->precision [132] 32.6% ??? [82] 28.3% loop [119] 23.4% ??? [130] 11.9% ??? [179] 3.8% ---------------------------------------------------------------------------------------- for-loop [59] 100.0% [70] 3738(8.5%) 524(1.2%) atab-add-altn ...anup/src/core/alt-table.rkt:203:0 errors [79] 77.3% for-loop [83] 8.7% ---------------------------------------------------------------------------------------- taylor-alt [60] 100.0% [71] 2750(6.3%) 0(0.0%) for-loop ...various-cleanup/src/mainloop.rkt:148:6 ??? [130] 100.0% ---------------------------------------------------------------------------------------- for-loop [57] 26.9% ??? [49] 73.1% [72] 2398(5.5%) 0(0.0%) loop ...rious-cleanup/src/core/extraction.rkt:25:2 for-loop [80] 100.0% ---------------------------------------------------------------------------------------- f46 [64] 23.8% parse-loop80 [61] 76.2% [73] 1150(2.6%) 0(0.0%) eval-const-expr ...-cleanup/src/programs.rkt:111:0 eval-prog [89] 100.0% ---------------------------------------------------------------------------------------- debug-print [63] 100.0% [74] 358(0.8%) 358(0.8%) for-loop ...ie/various-cleanup/src/debug.rkt:116:2 ---------------------------------------------------------------------------------------- debug-print [63] 100.0% [75] 300(0.7%) 300(0.7%) ??? .../contract/private/arrow-val-first.rkt:428:3 ---------------------------------------------------------------------------------------- one-iter [67] 100.0% [76] 9682(22.1%) 0(0.0%) find-matches ...cleanup/src/core/simplify.rkt:62:0 for-loop [85] 100.0% ---------------------------------------------------------------------------------------- rewriter [68] 100.0% [77] 7662(17.5%) 300(0.7%) for-loop ...ious-cleanup/src/core/matcher.rkt:92:4 matcher [86] 92.6% for-loop [91] 6.4% ---------------------------------------------------------------------------------------- one-iter [67] 100.0% [78] 6138(14.0%) 0(0.0%) for-loop ...ous-cleanup/src/core/simplify.rkt:74:2 for-loop [87] 100.0% ---------------------------------------------------------------------------------------- for-loop [31] 7.6% ??? [158] 10.2% ??? [18] 11.2% for-loop [59] 17.4% atab-add-altn [70] 53.6% [79] 5388(12.3%) 0(0.0%) errors ...bie/various-cleanup/src/points.rkt:205:0 for-loop [88] 70.2% eval-prog [89] 29.8% ---------------------------------------------------------------------------------------- loop [72] 100.0% [80] 2398(5.5%) 644(1.5%) for-loop ...s-cleanup/src/core/extraction.rkt:29:4 for-loop [92] 73.1% ---------------------------------------------------------------------------------------- rewriter [68] 100.0% [81] 2098(4.8%) 0(0.0%) *rules* ...ious-cleanup/src/syntax/rules.rkt:666:0 for-loop [90] 100.0% ---------------------------------------------------------------------------------------- ??? [69] 100.0% [82] 1462(3.3%) 0(0.0%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [179] 56.4% ??? [93] 30.0% ??? [130] 13.7% ---------------------------------------------------------------------------------------- atab-add-altn [70] 48.4% for-loop [59] 51.6% [83] 674(1.5%) 348(0.8%) for-loop ...s-cleanup/src/core/alt-table.rkt:119:2 ??? [94] 48.4% ---------------------------------------------------------------------------------------- one-iter [67] 100.0% [84] 276(0.6%) 0(0.0%) for-loop ...ous-cleanup/src/core/simplify.rkt:79:2 set-precompute! [95] 100.0% ---------------------------------------------------------------------------------------- for-loop [85] 50.0% find-matches [76] 50.0% [85] 9682(22.1%) 0(0.0%) for-loop ...ous-cleanup/src/core/simplify.rkt:64:8 for-loop [85] 50.0% match-e [96] 50.0% ---------------------------------------------------------------------------------------- for-loop [10] 46.9% for-loop [77] 53.1% [86] 7662(17.5%) 336(0.8%) matcher ...ious-cleanup/src/core/matcher.rkt:118:2 ??? [2] 52.0% rewriter [68] 46.9% constant? [135] 0.5% ---------------------------------------------------------------------------------------- for-loop [78] 100.0% [87] 6138(14.0%) 0(0.0%) for-loop ...ous-cleanup/src/core/simplify.rkt:77:4 merge-egraph-nodes! [97] 60.6% mk-enode! [100] 24.8% dedup-children! [111] 9.6% substitute-e [104] 5.0% ---------------------------------------------------------------------------------------- errors [79] 100.0% [88] 3784(8.6%) 552(1.3%) for-loop ...e/various-cleanup/src/points.rkt:207:2 ??? [18] 85.4% ---------------------------------------------------------------------------------------- eval-const-expr [73] 41.8% errors [79] 58.2% [89] 2754(6.3%) 0(0.0%) eval-prog ...various-cleanup/src/programs.rkt:83:0 temp68_2 [98] 89.1% eval [105] 10.9% ---------------------------------------------------------------------------------------- *rules* [81] 100.0% [90] 2098(4.8%) 0(0.0%) for-loop ...ie/various-cleanup/src/common.rkt:74:9 ormap [101] 55.7% flag-set? [102] 44.3% ---------------------------------------------------------------------------------------- for-loop [77] 100.0% [91] 1868(4.3%) 0(0.0%) for-loop ...ious-cleanup/src/core/matcher.rkt:99:8 fix-up-variables [99] 100.0% ---------------------------------------------------------------------------------------- for-loop [80] 100.0% [92] 1754(4.0%) 1408(3.2%) for-loop ...-cleanup/src/core/extraction.rkt:37:16 for-loop [103] 19.7% ---------------------------------------------------------------------------------------- ??? [82] 100.0% [93] 438(1.0%) 200(0.5%) ??? ...arious-cleanup/src/syntax/syntax.rkt:207:17 return/no-unsupplied [187] 54.3% ---------------------------------------------------------------------------------------- for-loop [83] 100.0% [94] 326(0.7%) 326(0.7%) ??? ...7.0/collects/racket/private/for.rkt:1208:14 ---------------------------------------------------------------------------------------- for-loop [84] 100.0% [95] 276(0.6%) 0(0.0%) set-precompute! ...anup/src/core/simplify.rkt:86:0 for-loop [106] 100.0% ---------------------------------------------------------------------------------------- for-loop [118] 23.7% for-loop [85] 76.3% [96] 9682(22.1%) 2568(5.9%) match-e ...arious-cleanup/src/core/ematch.rkt:39:0 for-loop [107] 66.6% ??? [51] 6.1% constant? [135] 3.1% variable? [110] 2.2% ---------------------------------------------------------------------------------------- for-loop [117] 2.3% merge-egraph-nodes! [97] 10.7% for-loop [87] 87.0% [97] 3718(8.5%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:143:0 loop! [108] 79.0% merge-egraph-nodes! [97] 10.7% dedup-children! [111] 8.1% for-loop [117] 2.3% ---------------------------------------------------------------------------------------- eval-prog [89] 100.0% [98] 2454(5.6%) 0(0.0%) temp68_2 (unknown source) compile16 [109] 100.0% ---------------------------------------------------------------------------------------- for-loop [91] 100.0% [99] 1868(4.3%) 310(0.7%) fix-up-variables ...nup/src/core/matcher.rkt:111:2 for-loop [112] 33.8% pattern-substitute [113] 33.7% pattern-match [126] 15.8% ---------------------------------------------------------------------------------------- for-loop [87] 100.0% [100] 1522(3.5%) 922(2.1%) mk-enode! ...ious-cleanup/src/core/egraph.rkt:97:0 new-enode [116] 19.7% hash-has-key? [115] 19.7% ---------------------------------------------------------------------------------------- for-loop [90] 100.0% [101] 1168(2.7%) 1168(2.7%) ormap ....0/collects/racket/private/map.rkt:141:13 ---------------------------------------------------------------------------------------- for-loop [90] 100.0% [102] 930(2.1%) 626(1.4%) flag-set? ...e/various-cleanup/src/config.rkt:28:0 return/no-unsupplied [187] 32.7% ---------------------------------------------------------------------------------------- for-loop [92] 100.0% [103] 346(0.8%) 346(0.8%) for-loop ...-cleanup/src/core/extraction.rkt:41:23 ---------------------------------------------------------------------------------------- for-loop [87] 33.3% for-loop [114] 66.7% [104] 308(0.7%) 0(0.0%) substitute-e ...s-cleanup/src/core/ematch.rkt:64:0 for-loop [114] 66.7% variable? [110] 33.3% ---------------------------------------------------------------------------------------- eval-prog [89] 100.0% [105] 300(0.7%) 300(0.7%) eval (unknown source) ---------------------------------------------------------------------------------------- set-precompute! [95] 100.0% [106] 276(0.6%) 0(0.0%) for-loop ...ous-cleanup/src/core/simplify.rkt:88:2 curried [125] 100.0% ---------------------------------------------------------------------------------------- match-e [96] 100.0% [107] 7690(17.5%) 2484(5.7%) for-loop ...ious-cleanup/src/core/ematch.rkt:52:11 for-loop [118] 50.3% curry* [127] 5.8% cp-2 [128] 4.0% curried [125] 3.9% foldr [129] 3.9% foldl [121] 2.0% ---------------------------------------------------------------------------------------- loop [119] 18.9% merge-egraph-nodes! [97] 81.1% [108] 3418(7.8%) 938(2.1%) loop! .../various-cleanup/src/core/enode.rkt:187:2 custom-set-union [123] 34.8% loop [119] 28.7% set [122] 18.4% ---------------------------------------------------------------------------------------- temp68_2 [98] 100.0% [109] 2454(5.6%) 0(0.0%) compile16 (unknown source) temp74_0 [120] 100.0% ---------------------------------------------------------------------------------------- substitute-e [104] 32.7% match-e [96] 67.3% [110] 942(2.1%) 310(0.7%) variable? ...s-cleanup/src/syntax/syntax.rkt:722:0 ??? [51] 34.4% value? [145] 32.7% ---------------------------------------------------------------------------------------- merge-egraph-nodes! [97] 33.7% for-loop [87] 66.3% [111] 890(2.0%) 0(0.0%) dedup-children! ...leanup/src/core/enode.rkt:195:0 loop [124] 100.0% ---------------------------------------------------------------------------------------- fix-up-variables [99] 100.0% [112] 632(1.4%) 0(0.0%) for-loop ...ious-cleanup/src/core/matcher.rkt:42:9 pattern-match [126] 52.5% for-loop [139] 47.5% ---------------------------------------------------------------------------------------- fix-up-variables [99] 100.0% [113] 630(1.4%) 300(0.7%) pattern-substitute ...up/src/core/matcher.rkt:46:0 return/no-unsupplied [187] 52.4% ---------------------------------------------------------------------------------------- substitute-e [104] 100.0% [114] 308(0.7%) 0(0.0%) for-loop ...ious-cleanup/src/core/ematch.rkt:73:24 substitute-e [104] 100.0% ---------------------------------------------------------------------------------------- mk-enode! [100] 100.0% [115] 300(0.7%) 300(0.7%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 ---------------------------------------------------------------------------------------- mk-enode! [100] 100.0% [116] 300(0.7%) 0(0.0%) new-enode ...rious-cleanup/src/core/enode.rkt:94:0 set [122] 100.0% ---------------------------------------------------------------------------------------- merge-egraph-nodes! [97] 100.0% [117] 258(0.6%) 0(0.0%) for-loop ...ious-cleanup/src/core/egraph.rkt:197:4 merge-egraph-nodes! [97] 100.0% ---------------------------------------------------------------------------------------- for-loop [107] 100.0% [118] 4600(10.5%) 334(0.8%) for-loop ...ious-cleanup/src/core/ematch.rkt:58:37 match-e [96] 92.7% ---------------------------------------------------------------------------------------- option-on-expr [23] 0.5% ??? [36] 4.5% taylor [20] 6.5% for-loop [29] 10.5% ??? [69] 23.4% loop! [108] 24.2% loop [119] 30.4% [119] 4596(10.5%) 840(1.9%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [119] 30.4% loop! [108] 22.4% real->precision [132] 12.4% ??? [134] 8.3% simplify [53] 6.5% ??? [130] 4.5% precision->real [148] 2.2% ??? [179] 0.5% ---------------------------------------------------------------------------------------- compile16 [109] 100.0% [120] 2454(5.6%) 0(0.0%) temp74_0 (unknown source) expand-single [131] 100.0% ---------------------------------------------------------------------------------------- for-loop [107] 14.4% ??? [2] 27.6% for-loop [14] 58.1% [121] 2184(5.0%) 0(0.0%) foldl ....0/collects/racket/private/list.rkt:229:4 ??? [133] 85.6% merge2 [140] 14.4% ---------------------------------------------------------------------------------------- new-enode [116] 23.8% loop! [108] 76.2% [122] 1258(2.9%) 1258(2.9%) set ...collects/racket/private/set-types.rkt:981:0 ---------------------------------------------------------------------------------------- loop! [108] 100.0% [123] 1188(2.7%) 590(1.3%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [138] 50.3% ---------------------------------------------------------------------------------------- dedup-children! [111] 14.4% loop [124] 85.6% [124] 890(2.0%) 0(0.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [124] 85.6% member [136] 8.1% loop [188] 6.3% ---------------------------------------------------------------------------------------- ??? [36] 28.5% for-loop [106] 34.2% for-loop [107] 37.2% [125] 806(1.8%) 806(1.8%) curried ...-7.0/collects/racket/function.rkt:71:18 ---------------------------------------------------------------------------------------- fix-up-variables [99] 47.1% for-loop [112] 52.9% [126] 628(1.4%) 0(0.0%) pattern-match ...cleanup/src/core/matcher.rkt:30:0 constant? [135] 52.9% for-loop [139] 47.1% ---------------------------------------------------------------------------------------- for-loop [107] 100.0% [127] 598(1.4%) 0(0.0%) curry* ...et-7.0/collects/racket/function.rkt:44:2 procedure-arity [137] 100.0% ---------------------------------------------------------------------------------------- for-loop [107] 100.0% [128] 306(0.7%) 306(0.7%) cp-2 .../racket-7.0/collects/racket/list.rkt:826:2 ---------------------------------------------------------------------------------------- for-loop [107] 100.0% [129] 300(0.7%) 300(0.7%) foldr ....0/collects/racket/private/list.rkt:242:4 ---------------------------------------------------------------------------------------- loop [12] 1.8% ??? [82] 3.7% loop [119] 3.8% ??? [6] 7.6% ??? [65] 10.2% ??? [69] 11.4% ??? [36] 20.1% location-do [141] 20.7% for-loop [71] 20.7% [130] 5406(12.3%) 440(1.0%) ??? ...tract/private/arrow-higher-order.rkt:357:33 location-do [141] 20.7% sample-multi-bounded [146] 19.6% approximate9 [3] 17.7% loop [147] 10.2% hash-ref! [144] 9.5% mk-ival [150] 7.5% loop [152] 3.7% simplify [53] 3.0% ---------------------------------------------------------------------------------------- temp74_0 [120] 100.0% [131] 2454(5.6%) 0(0.0%) expand-single (unknown source) expand-capturing-lifts [142] 100.0% ---------------------------------------------------------------------------------------- loop [119] 29.4% ??? [69] 70.6% [132] 2386(5.4%) 300(0.7%) real->precision ...-cleanup/src/programs.rkt:87:33 infer-representation [153] 87.4% ---------------------------------------------------------------------------------------- foldl [121] 100.0% [133] 1870(4.3%) 300(0.7%) ??? ...e/various-cleanup/src/core/matcher.rkt:26:7 core651 [143] 67.9% fallback-update [151] 16.0% ---------------------------------------------------------------------------------------- map [34] 29.9% loop [119] 70.1% [134] 1484(3.4%) 202(0.5%) ??? ...erbie/various-cleanup/src/points.rkt:190:26 ??? [69] 71.8% precision->real [148] 14.6% ---------------------------------------------------------------------------------------- match-e [96] 31.4% matcher [86] 33.5% pattern-match [126] 35.0% [135] 948(2.2%) 0(0.0%) constant? ...s-cleanup/src/syntax/syntax.rkt:719:0 value? [145] 100.0% ---------------------------------------------------------------------------------------- loop [124] 100.0% [136] 610(1.4%) 610(1.4%) member (unknown source) ---------------------------------------------------------------------------------------- curry* [127] 100.0% [137] 598(1.4%) 598(1.4%) procedure-arity ...ket/private/norm-arity.rkt:7:27 ---------------------------------------------------------------------------------------- custom-set-union [123] 100.0% [138] 598(1.4%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [149] 100.0% ---------------------------------------------------------------------------------------- pattern-match [126] 49.7% for-loop [112] 50.3% [139] 596(1.4%) 0(0.0%) for-loop ...ious-cleanup/src/core/matcher.rkt:27:9 core651 [143] 100.0% ---------------------------------------------------------------------------------------- foldl [121] 100.0% [140] 314(0.7%) 314(0.7%) merge2 ...various-cleanup/src/core/ematch.rkt:24:0 ---------------------------------------------------------------------------------------- location-do [141] 23.0% ??? [130] 77.0% [141] 2750(6.3%) 0(0.0%) location-do ...rious-cleanup/src/programs.rkt:64:0 ??? [130] 77.0% location-do [141] 23.0% ---------------------------------------------------------------------------------------- expand-single [131] 100.0% [142] 2454(5.6%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [154] 88.6% dispatch-transformer41 [180] 11.4% ---------------------------------------------------------------------------------------- for-loop [139] 31.9% ??? [133] 68.1% [143] 1866(4.3%) 0(0.0%) core651 ...acket/contract/private/arr-i.rkt:918:19 successfully-got-the-right-kind-of-function [156] 33.7% ??? [160] 17.9% un-dep/maybe-chaperone [161] 16.2% ??? [157] 16.2% arrow-higher-order:lnp [162] 16.1% ---------------------------------------------------------------------------------------- for-loop [17] 3.8% ??? [16] 3.8% localize-error [56] 5.8% simplify* [66] 8.0% map [34] 11.7% loop [12] 17.3% ??? [6] 24.2% ??? [130] 25.3% [144] 1860(4.2%) 298(0.7%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [6] 41.5% parse-loop80 [61] 17.5% simplify [53] 11.9% ??? [7] 8.8% taylor [20] 8.5% ??? [8] 3.8% ---------------------------------------------------------------------------------------- variable? [110] 24.5% constant? [135] 75.5% [145] 1256(2.9%) 1256(2.9%) value? ...arious-cleanup/src/syntax/types.rkt:18:0 ---------------------------------------------------------------------------------------- ??? [130] 100.0% [146] 1058(2.4%) 428(1.0%) sample-multi-bounded ...leanup/src/points.rkt:15:0 random-ranges [155] 59.5% ---------------------------------------------------------------------------------------- baseline-error [26] 26.6% ??? [130] 73.4% [147] 752(1.7%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 ??? [158] 73.4% ??? [163] 26.6% ---------------------------------------------------------------------------------------- loop [119] 31.4% loop [62] 34.3% ??? [134] 34.3% [148] 630(1.4%) 216(0.5%) precision->real ...-cleanup/src/programs.rkt:92:33 infer-representation [153] 65.7% ---------------------------------------------------------------------------------------- for-loop [138] 100.0% [149] 598(1.4%) 598(1.4%) for-loop ...cts/racket/private/set-types.rkt:178:5 ---------------------------------------------------------------------------------------- ??? [130] 100.0% [150] 406(0.9%) 0(0.0%) mk-ival ...arious-cleanup/src/biginterval.rkt:57:0 bf [159] 100.0% ---------------------------------------------------------------------------------------- ??? [133] 100.0% [151] 300(0.7%) 300(0.7%) fallback-update ...s/racket/private/dict.rkt:115:2 ---------------------------------------------------------------------------------------- ??? [130] 100.0% [152] 200(0.5%) 200(0.5%) loop .../various-cleanup/src/biginterval.rkt:447:9 ---------------------------------------------------------------------------------------- precision->real [148] 16.6% real->precision [132] 83.4% [153] 2500(5.7%) 592(1.4%) infer-representation ...cleanup/src/float.rkt:15:0 return/no-unsupplied [187] 59.4% ??? [190] 16.9% ---------------------------------------------------------------------------------------- expand-capturing-lifts [142] 100.0% [154] 2174(5.0%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [164] 100.0% ---------------------------------------------------------------------------------------- sample-multi-bounded [146] 100.0% [155] 630(1.4%) 206(0.5%) random-ranges ...ious-cleanup/src/common.rkt:183:0 cons/c [171] 35.2% build--> [172] 32.1% ---------------------------------------------------------------------------------------- core651 [143] 100.0% [156] 628(1.4%) 0(0.0%) successfully-got-the-right-kind-of-function ...5:4 loop [167] 52.9% arity-checking-wrapper [170] 47.1% ---------------------------------------------------------------------------------------- core651 [143] 48.2% ??? [51] 51.8% [157] 626(1.4%) 324(0.7%) ??? ...ects/racket/contract/private/guts.rkt:746:8 ??? [168] 48.2% ---------------------------------------------------------------------------------------- loop [147] 100.0% [158] 552(1.3%) 0(0.0%) ??? ...bie/various-cleanup/src/mainloop.rkt:111:10 errors [79] 100.0% ---------------------------------------------------------------------------------------- mk-ival [150] 100.0% [159] 406(0.9%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 ??? [194] 100.0% ---------------------------------------------------------------------------------------- core651 [143] 100.0% [160] 334(0.8%) 0(0.0%) ??? ...s/racket/contract/private/arr-i.rkt:1249:27 build-unary-very-simple--> [166] 100.0% ---------------------------------------------------------------------------------------- core651 [143] 100.0% [161] 302(0.7%) 0(0.0%) un-dep/maybe-chaperone ...private/arr-i.rkt:1097:2 ??? [169] 100.0% ---------------------------------------------------------------------------------------- core651 [143] 100.0% [162] 300(0.7%) 300(0.7%) arrow-higher-order:lnp ...w-higher-order.rkt:633:7 ---------------------------------------------------------------------------------------- loop [147] 100.0% [163] 200(0.5%) 0(0.0%) ??? ...erbie/various-cleanup/src/points.rkt:193:27 eval-errors [165] 100.0% ---------------------------------------------------------------------------------------- lambda-clause-expander [154] 26.2% for-loop [173] 73.8% [164] 2174(5.0%) 0(0.0%) finish-bodys (unknown source) for-loop [173] 100.0% ---------------------------------------------------------------------------------------- ??? [163] 50.0% ??? [18] 50.0% [165] 400(0.9%) 0(0.0%) eval-errors ...arious-cleanup/src/points.rkt:179:0 for-loop [174] 100.0% ---------------------------------------------------------------------------------------- ??? [160] 100.0% [166] 334(0.8%) 334(0.8%) build-unary-very-simple--> ...val-first.rkt:1014:0 ---------------------------------------------------------------------------------------- loop [167] 50.0% successfully-got-the-right-kind-of-function [156] 50.0% [167] 332(0.8%) 332(0.8%) loop ...ts/racket/contract/private/blame.rkt:320:2 loop [167] 50.0% ---------------------------------------------------------------------------------------- ??? [157] 100.0% [168] 302(0.7%) 302(0.7%) ??? /opt/racket-7.0/collects/racket/dict.rkt:11:8 ---------------------------------------------------------------------------------------- un-dep/maybe-chaperone [161] 100.0% [169] 302(0.7%) 0(0.0%) ??? ...ntract/private/arrow-higher-order.rkt:554:2 get-blame-party-info [175] 100.0% ---------------------------------------------------------------------------------------- successfully-got-the-right-kind-of-function [156]100.0% [170] 296(0.7%) 0(0.0%) arity-checking-wrapper ...w-higher-order.rkt:425:0 matches-arity-exactly? [176] 100.0% ---------------------------------------------------------------------------------------- random-ranges [155] 100.0% [171] 222(0.5%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:478:15 coerce-contract [177] 100.0% ---------------------------------------------------------------------------------------- random-ranges [155] 100.0% [172] 202(0.5%) 202(0.5%) build--> ...act/private/arrow-val-first.rkt:1086:0 ---------------------------------------------------------------------------------------- for-loop [173] 9.2% finish-bodys [164] 90.8% [173] 2174(5.0%) 0(0.0%) for-loop (unknown source) finish-bodys [164] 67.4% loop [188] 12.6% for-loop [173] 9.2% dispatch-transformer41 [180] 5.5% syntax-e [5] 3.2% expand-implicit [181] 2.1% ---------------------------------------------------------------------------------------- eval-errors [165] 100.0% [174] 400(0.9%) 0(0.0%) for-loop ...e/various-cleanup/src/points.rkt:181:2 ??? [179] 50.0% infer-double-representation [178] 50.0% ---------------------------------------------------------------------------------------- ??? [169] 100.0% [175] 302(0.7%) 302(0.7%) get-blame-party-info ...ate/arrow-common.rkt:136:0 ---------------------------------------------------------------------------------------- arity-checking-wrapper [170] 100.0% [176] 296(0.7%) 296(0.7%) matches-arity-exactly? ...te/arrow-common.rkt:70:0 ---------------------------------------------------------------------------------------- cons/c [171] 100.0% [177] 222(0.5%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:285:0 coerce-contract/f [182] 100.0% ---------------------------------------------------------------------------------------- for-loop [174] 13.0% ??? [55] 21.2% ??? [18] 65.8% [178] 1540(3.5%) 300(0.7%) infer-double-representation .../src/float.rkt:22:0 for-loop [183] 80.5% ---------------------------------------------------------------------------------------- ??? [69] 13.6% for-loop [174] 13.9% loop [119] 15.0% ??? [82] 57.4% [179] 1436(3.3%) 612(1.4%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-add [184] 57.4% ---------------------------------------------------------------------------------------- expand-capturing-lifts [142] 35.8% for-loop [173] 64.2% [180] 782(1.8%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [185] 100.0% ---------------------------------------------------------------------------------------- for-loop [173] 100.0% [181] 324(0.7%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [199] 100.0% ---------------------------------------------------------------------------------------- coerce-contract [177] 100.0% [182] 222(0.5%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:350:0 coerce-simple-value [186] 100.0% ---------------------------------------------------------------------------------------- infer-double-representation [178] 100.0% [183] 1240(2.8%) 614(1.4%) for-loop ...bie/various-cleanup/src/float.rkt:17:3 ??? [190] 26.3% return/no-unsupplied [187] 24.2% ---------------------------------------------------------------------------------------- ??? [179] 100.0% [184] 824(1.9%) 0(0.0%) ival-add ...rious-cleanup/src/biginterval.rkt:94:0 bfadd [189] 100.0% ---------------------------------------------------------------------------------------- dispatch-transformer41 [180] 100.0% [185] 782(1.8%) 0(0.0%) apply-transformer52 (unknown source) loop [188] 73.7% apply-transformer-in-context [191] 26.3% ---------------------------------------------------------------------------------------- coerce-contract/f [182] 100.0% [186] 222(0.5%) 222(0.5%) coerce-simple-value ...ract/private/guts.rkt:363:0 ---------------------------------------------------------------------------------------- ??? [93] 9.0% for-loop [183] 11.3% flag-set? [102] 11.4% pattern-substitute [113] 12.4% infer-representation [153] 55.9% [187] 2658(6.1%) 1520(3.5%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 filter [192] 42.8% ---------------------------------------------------------------------------------------- for-loop [173] 12.4% loop [124] 12.7% apply-transformer52 [185] 26.1% syntax-e/no-taint [13] 48.7% [188] 2204(5.0%) 280(0.6%) loop (unknown source) gf [193] 48.7% core-form-sym [196] 13.4% syntax-e [5] 12.7% expand-id-application-form17 [197] 12.4% ---------------------------------------------------------------------------------------- ival-add [184] 100.0% [189] 824(1.9%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [195] 51.0% ??? [194] 49.0% ---------------------------------------------------------------------------------------- for-loop [183] 43.6% infer-representation [153] 56.4% [190] 748(1.7%) 526(1.2%) ??? ...s/racket/contract/private/arr-i.rkt:1252:29 ??? [198] 29.7% ---------------------------------------------------------------------------------------- apply-transformer52 [185] 100.0% [191] 206(0.5%) 206(0.5%) apply-transformer-in-context (unknown source) ---------------------------------------------------------------------------------------- return/no-unsupplied [187] 100.0% [192] 1138(2.6%) 1138(2.6%) filter ...0/collects/racket/private/list.rkt:256:2 ---------------------------------------------------------------------------------------- loop [188] 100.0% [193] 1074(2.5%) 0(0.0%) gf (unknown source) propagation-merge [200] 70.9% cache-or-reuse-set [201] 29.1% ---------------------------------------------------------------------------------------- bfadd [189] 49.9% bf [159] 50.1% [194] 810(1.8%) 810(1.8%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 ---------------------------------------------------------------------------------------- bfadd [189] 100.0% [195] 420(1.0%) 420(1.0%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ---------------------------------------------------------------------------------------- loop [188] 100.0% [196] 296(0.7%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [199] 100.0% ---------------------------------------------------------------------------------------- loop [188] 100.0% [197] 274(0.6%) 0(0.0%) expand-id-application-form17 (unknown source) resolve+shift28 [199] 100.0% ---------------------------------------------------------------------------------------- ??? [190] 100.0% [198] 222(0.5%) 222(0.5%) ??? ...ects/racket/contract/private/prop.rkt:274:4 ---------------------------------------------------------------------------------------- expand-id-application-form17 [197] 30.6% core-form-sym [196] 33.1% expand-implicit [181] 36.2% [199] 894(2.0%) 0(0.0%) resolve+shift28 (unknown source) fallback-loop [202] 100.0% ---------------------------------------------------------------------------------------- gf [193] 100.0% [200] 762(1.7%) 762(1.7%) propagation-merge (unknown source) ---------------------------------------------------------------------------------------- gf [193] 100.0% [201] 312(0.7%) 312(0.7%) cache-or-reuse-set (unknown source) ---------------------------------------------------------------------------------------- resolve+shift28 [199] 100.0% [202] 894(2.0%) 894(2.0%) fallback-loop (unknown source) ----------------------------------------------------------------------------------------