Profiling results ----------------- Total cpu time observed: 106886ms (out of 102012ms) Number of samples taken: 147 (once every 727ms) (Hiding functions with self<1.0% and local<2.0%: 2 of 210 hidden) ============================================================================ Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ============================================================================ ??? [109] 100.0% [1] 106886(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [14] 100.0% ---------------------------------------------------------------------------- ??? [109] 100.0% [2] 80516(75.3%) 0(0.0%) run-improve47 ...estversion/src/mainloop.rkt:345:0 for-loop [15] 86.5% prepare-points-intervals [16] 13.5% ---------------------------------------------------------------------------- ??? [114] 100.0% [3] 17836(16.7%) 0(0.0%) approximate9 ...stversion/src/core/taylor.rkt:12:0 loop [17] 79.8% taylor-quotient [46] 7.6% for-loop [23] 7.4% taylor [32] 5.2% ---------------------------------------------------------------------------- hash-ref! [142] 100.0% [4] 10084(9.4%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:291:26 for-loop [18] 100.0% ---------------------------------------------------------------------------- hash-ref! [142] 100.0% [5] 5468(5.1%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:301:23 for-loop [19] 100.0% ---------------------------------------------------------------------------- hash-ref! [142] 100.0% [6] 4758(4.5%) 0(0.0%) ??? ...gmath-testversion/src/core/taylor.rkt:68:15 ??? [114] 66.4% hash-ref! [142] 33.6% ---------------------------------------------------------------------------- matcher [102] 100.0% [7] 4592(4.3%) 0(0.0%) ??? ...ath-testversion/src/core/matcher.rkt:130:11 for-loop [20] 87.1% for-loop [25] 7.8% foldl [33] 5.1% ---------------------------------------------------------------------------- loop [187] 26.0% for-loop [205] 74.0% [8] 2584(2.4%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [21] 100.0% ---------------------------------------------------------------------------- hash-ref! [142] 100.0% [9] 2274(2.1%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:407:23 for-loop [22] 87.2% for-loop [27] 12.8% ---------------------------------------------------------------------------- loop [187] 26.5% for-loop [205] 73.5% [10] 1266(1.2%) 336(0.3%) expand-identifier (unknown source) resolve+shift28 [196] 73.5% ---------------------------------------------------------------------------- map [135] 100.0% [11] 646(0.6%) 0(0.0%) simplify-node ...tversion/src/core/reduce.rkt:48:0 gather-multiplicative-terms [148] 53.9% combine-aterms [26] 46.1% ---------------------------------------------------------------------------- for-loop [91] 100.0% [12] 638(0.6%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:99:8 fix-up-variables [24] 100.0% ---------------------------------------------------------------------------- for-loop [205] 100.0% [13] 300(0.3%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [196] 100.0% ---------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [14] 106886(100.0%) 0(0.0%) run ...et-7.2/share/pkgs/profile-lib/main.rkt:39:2 ??? [109] 100.0% ---------------------------------------------------------------------------- run-improve47 [2] 100.0% [15] 69616(65.1%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:364:4 run-iter! [28] 100.0% ---------------------------------------------------------------------------- run-improve47 [2] 45.0% ??? [109] 55.0% [16] 24204(22.6%) 0(0.0%) prepare-points-intervals ...n/src/points.rkt:110:0 loop [29] 100.0% ---------------------------------------------------------------------------- approximate9 [3] 100.0% [17] 14238(13.3%) 0(0.0%) loop ...gmath-testversion/src/core/taylor.rkt:87:4 ??? [114] 66.6% hash-ref! [142] 33.4% ---------------------------------------------------------------------------- ??? [4] 100.0% [18] 10084(9.4%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:291:52 ??? [31] 74.9% hash-ref! [142] 22.0% simplify [30] 3.0% ---------------------------------------------------------------------------- ??? [5] 100.0% [19] 5468(5.1%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:304:27 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- ??? [7] 100.0% [20] 4232(4.0%) 0(0.0%) for-loop ...estversion/src/core/matcher.rkt:132:15 matcher [102] 100.0% ---------------------------------------------------------------------------- expand-id-application-form17 [191] 38.4% syntax-e [8] 61.6% [21] 4192(3.9%) 0(0.0%) syntax-e/no-taint (unknown source) loop [187] 100.0% ---------------------------------------------------------------------------- ??? [9] 100.0% [22] 1982(1.9%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:413:39 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- approximate9 [3] 100.0% [23] 1312(1.2%) 0(0.0%) for-loop ...-testversion/src/core/taylor.rkt:30:18 taylor [32] 49.2% taylor-sqrt [35] 25.6% taylor-quotient [46] 25.2% ---------------------------------------------------------------------------- for-loop [12] 100.0% [24] 638(0.6%) 0(0.0%) fix-up-variables ...ion/src/core/matcher.rkt:111:2 for-loop [34] 52.7% pattern-match [182] 47.3% ---------------------------------------------------------------------------- ??? [7] 100.0% [25] 360(0.3%) 0(0.0%) for-loop ...testversion/src/core/matcher.rkt:106:4 foldl [33] 100.0% ---------------------------------------------------------------------------- simplify-node [11] 100.0% [26] 298(0.3%) 0(0.0%) combine-aterms ...ersion/src/core/reduce.rkt:187:0 for-loop [36] 100.0% ---------------------------------------------------------------------------- ??? [9] 100.0% [27] 292(0.3%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:411:33 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- for-loop [15] 100.0% [28] 69616(65.1%) 0(0.0%) run-iter! ...th-testversion/src/mainloop.rkt:326:0 simplify! [37] 38.0% gen-series! [39] 26.1% finalize-iter! [40] 19.4% choose-best-alt! [42] 8.1% gen-rewrites! [44] 7.0% localize! [49] 1.4% ---------------------------------------------------------------------------- prepare-points-intervals [16] 100.0% [29] 24204(22.6%) 0(0.0%) loop ...e/eggmath-testversion/src/points.rkt:123:4 loop [38] 79.5% ??? [43] 20.5% ---------------------------------------------------------------------------- for-loop [18] 1.7% ??? [114] 1.8% hash-ref! [142] 96.4% [30] 17538(16.4%) 1684(1.6%) simplify ...h-testversion/src/core/reduce.rkt:16:0 parse-loop80 [41] 55.8% f67 [45] 27.5% debug-print [48] 5.3% make-multiplication-node [52] 1.8% ---------------------------------------------------------------------------- for-loop [18] 100.0% [31] 7556(7.1%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:294:19 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- map [135] 4.0% for-loop [23] 16.7% hash-ref! [142] 20.9% approximate9 [3] 29.0% taylor [32] 29.4% [32] 2532(2.4%) 0(0.0%) taylor ...th-testversion/src/core/taylor.rkt:170:0 taylor-quotient [46] 49.1% taylor [32] 29.4% map [135] 8.4% loop [50] 6.6% debug-print [48] 4.0% debug5 [51] 2.5% ---------------------------------------------------------------------------- for-loop [25] 26.5% ??? [7] 73.5% [33] 1358(1.3%) 0(0.0%) foldl ....2/collects/racket/private/list.rkt:229:4 ??? [47] 100.0% ---------------------------------------------------------------------------- fix-up-variables [24] 100.0% [34] 336(0.3%) 336(0.3%) for-loop ...-testversion/src/core/matcher.rkt:42:9 ---------------------------------------------------------------------------- for-loop [23] 100.0% [35] 336(0.3%) 0(0.0%) taylor-sqrt ...stversion/src/core/taylor.rkt:352:0 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- combine-aterms [26] 100.0% [36] 298(0.3%) 0(0.0%) for-loop ...-testversion/src/core/reduce.rkt:189:4 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- run-iter! [28] 100.0% [37] 26464(24.8%) 0(0.0%) simplify! ...th-testversion/src/mainloop.rkt:223:0 ??? [133] 100.0% ---------------------------------------------------------------------------- loop [29] 100.0% [38] 19246(18.0%) 296(0.3%) loop ...ie/eggmath-testversion/src/points.rkt:81:2 ??? [53] 98.5% ---------------------------------------------------------------------------- run-iter! [28] 100.0% [39] 18158(17.0%) 0(0.0%) gen-series! ...-testversion/src/mainloop.rkt:159:0 for-loop [55] 100.0% ---------------------------------------------------------------------------- run-iter! [28] 100.0% [40] 13490(12.6%) 0(0.0%) finalize-iter! ...stversion/src/mainloop.rkt:277:0 ??? [54] 100.0% ---------------------------------------------------------------------------- parse-loop80 [41] 1.4% hash-ref! [142] 3.0% map [135] 8.3% simplify [30] 87.3% [41] 11052(10.3%) 0(0.0%) parse-loop80 ...s/racket/match/compiler.rkt:418:15 eval-const-expr [56] 91.3% map [135] 3.0% simplify* [63] 2.9% parse-loop80 [41] 1.4% loop [165] 1.4% ---------------------------------------------------------------------------- run-iter! [28] 100.0% [42] 5630(5.3%) 0(0.0%) choose-best-alt! ...version/src/mainloop.rkt:116:0 ??? [54] 100.0% ---------------------------------------------------------------------------- loop [29] 100.0% [43] 4958(4.6%) 694(0.6%) ??? ...ie/eggmath-testversion/src/points.rkt:106:2 ??? [114] 71.7% do-curry [60] 14.3% ---------------------------------------------------------------------------- run-iter! [28] 100.0% [44] 4890(4.6%) 0(0.0%) gen-rewrites! ...estversion/src/mainloop.rkt:182:0 for-loop [57] 93.9% for-loop [66] 6.1% ---------------------------------------------------------------------------- map [135] 48.3% simplify [30] 51.7% [45] 4818(4.5%) 0(0.0%) f67 ...2/collects/racket/match/compiler.rkt:507:40 map [135] 69.3% eval-const-expr [56] 22.5% composed [62] 8.2% ---------------------------------------------------------------------------- for-loop [23] 11.3% taylor [32] 42.5% approximate9 [3] 46.2% [46] 2924(2.7%) 0(0.0%) taylor-quotient ...rsion/src/core/taylor.rkt:334:0 first-nonzero-exp [58] 100.0% ---------------------------------------------------------------------------- foldl [33] 100.0% [47] 1358(1.3%) 300(0.3%) ??? ...gmath-testversion/src/core/matcher.rkt:26:7 core651 [188] 77.9% ---------------------------------------------------------------------------- taylor [32] 24.5% simplify [30] 75.5% [48] 1232(1.2%) 0(0.0%) debug-print ...ath-testversion/src/debug.rkt:110:0 for-loop [59] 75.8% ??? [65] 24.2% ---------------------------------------------------------------------------- run-iter! [28] 100.0% [49] 984(0.9%) 0(0.0%) localize! ...th-testversion/src/mainloop.rkt:126:0 localize-error [61] 67.3% errors-score [181] 32.7% ---------------------------------------------------------------------------- taylor [32] 100.0% [50] 334(0.3%) 0(0.0%) loop ...math-testversion/src/core/taylor.rkt:268:2 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- taylor [32] 100.0% [51] 318(0.3%) 318(0.3%) debug5 .../eggmath-testversion/src/debug.rkt:102:0 ---------------------------------------------------------------------------- simplify [30] 100.0% [52] 312(0.3%) 0(0.0%) make-multiplication-node .../core/reduce.rkt:234:0 make-multiplication-subnode [64] 100.0% ---------------------------------------------------------------------------- ??? [171] 2.1% ??? [109] 15.3% loop [180] 18.4% loop [38] 64.2% [53] 29512(27.6%) 996(0.9%) ??? .../eggmath-testversion/src/programs.rkt:115:2 ??? [67] 66.2% ??? [71] 18.4% ??? [114] 12.1% ---------------------------------------------------------------------------- pattern-match [182] 1.5% choose-best-alt! [42] 29.0% finalize-iter! [40] 69.5% [54] 19420(18.2%) 300(0.3%) ??? ...contract/private/arrow-val-first.rkt:390:18 for-loop [69] 67.9% ??? [70] 29.0% atab-min-errors [74] 1.6% ---------------------------------------------------------------------------- gen-series! [39] 100.0% [55] 18158(17.0%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:166:7 taylor-alt [68] 100.0% ---------------------------------------------------------------------------- f67 [45] 20.6% parse-loop80 [41] 79.4% [56] 12710(11.9%) 0(0.0%) eval-const-expr ...tversion/src/programs.rkt:118:0 temp85_0 [110] 56.1% loop [187] 30.6% ??? [67] 13.2% ---------------------------------------------------------------------------- gen-rewrites! [44] 100.0% [57] 4592(4.3%) 0(0.0%) for-loop ...th-testversion/src/mainloop.rkt:190:11 rewrite-expression-head20 [72] 100.0% ---------------------------------------------------------------------------- taylor-invert [149] 10.3% taylor-quotient [46] 89.7% [58] 3258(3.0%) 0(0.0%) first-nonzero-exp ...ion/src/core/taylor.rkt:266:0 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- debug-print [48] 100.0% [59] 934(0.9%) 934(0.9%) for-loop ...ggmath-testversion/src/debug.rkt:116:2 ---------------------------------------------------------------------------- ??? [43] 100.0% [60] 710(0.7%) 710(0.7%) do-curry ...-7.2/collects/racket/function.rkt:71:2 ---------------------------------------------------------------------------- localize! [49] 100.0% [61] 662(0.6%) 0(0.0%) localize-error ...rsion/src/core/localize.rkt:66:0 hash-ref! [142] 50.8% ??? [163] 49.2% ---------------------------------------------------------------------------- f67 [45] 100.0% [62] 634(0.6%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 free-variables [73] 100.0% ---------------------------------------------------------------------------- parse-loop80 [41] 100.0% [63] 322(0.3%) 0(0.0%) simplify* ...-testversion/src/core/reduce.rkt:31:0 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- make-multiplication-node [52] 100.0% [64] 312(0.3%) 0(0.0%) make-multiplication-subnode ...re/reduce.rkt:244:0 for-loop [75] 100.0% ---------------------------------------------------------------------------- debug-print [48] 100.0% [65] 298(0.3%) 0(0.0%) ??? .../contract/private/arrow-val-first.rkt:430:3 blame-add-missing-party [76] 100.0% ---------------------------------------------------------------------------- gen-rewrites! [44] 100.0% [66] 298(0.3%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:207:4 for-loop [77] 100.0% ---------------------------------------------------------------------------- eval-const-expr [56] 7.9% ??? [53] 92.1% [67] 21208(19.8%) 13512(12.6%) ??? ...t-7.2/collects/racket/private/kw.rkt:594:14 ??? [82] 15.1% ??? [114] 12.5% ??? [111] 8.8% ---------------------------------------------------------------------------- for-loop [55] 100.0% [68] 18158(17.0%) 0(0.0%) taylor-alt ...h-testversion/src/mainloop.rkt:145:0 for-loop [78] 100.0% ---------------------------------------------------------------------------- ??? [54] 100.0% [69] 13178(12.3%) 0(0.0%) for-loop ...estversion/src/core/alt-table.rkt:55:2 atab-add-altn [79] 63.6% errors [101] 22.0% loop [83] 11.7% for-loop [94] 2.7% ---------------------------------------------------------------------------- ??? [54] 100.0% [70] 5630(5.3%) 0(0.0%) ??? ...ath-testversion/src/core/alt-table.rkt:58:0 argmin [80] 100.0% ---------------------------------------------------------------------------- ??? [53] 100.0% [71] 5432(5.1%) 5432(5.1%) ??? ...cket-7.2/collects/racket/function.rkt:93:12 ---------------------------------------------------------------------------- for-loop [57] 100.0% [72] 4592(4.3%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:87:0 rewriter [81] 100.0% ---------------------------------------------------------------------------- composed [62] 42.1% append-map [84] 57.9% [73] 634(0.6%) 0(0.0%) free-variables ...estversion/src/programs.rkt:57:0 append-map [84] 57.9% constant? [85] 26.3% variable? [88] 15.8% ---------------------------------------------------------------------------- ??? [54] 100.0% [74] 312(0.3%) 0(0.0%) atab-min-errors ...on/src/core/alt-table.rkt:223:0 for-loop [86] 100.0% ---------------------------------------------------------------------------- make-multiplication-subnode [64] 100.0% [75] 312(0.3%) 0(0.0%) for-loop ...-testversion/src/core/reduce.rkt:246:3 mterm->expr [87] 100.0% ---------------------------------------------------------------------------- ??? [65] 100.0% [76] 298(0.3%) 298(0.3%) blame-add-missing-party ...private/blame.rkt:383:0 ---------------------------------------------------------------------------- for-loop [66] 100.0% [77] 298(0.3%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:208:6 change-apply [89] 100.0% ---------------------------------------------------------------------------- taylor-alt [68] 100.0% [78] 18158(17.0%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:151:6 ??? [114] 100.0% ---------------------------------------------------------------------------- for-loop [69] 100.0% [79] 8376(7.8%) 360(0.3%) atab-add-altn ...sion/src/core/alt-table.rkt:203:0 errors [101] 88.5% for-loop [94] 3.6% loop [99] 3.6% ---------------------------------------------------------------------------- ??? [70] 100.0% [80] 5630(5.3%) 0(0.0%) argmin ...acket-7.2/collects/racket/list.rkt:765:0 ??? [90] 100.0% ---------------------------------------------------------------------------- rewrite-expression-head20 [72] 35.7% matcher [102] 64.3% [81] 4592(4.3%) 310(0.3%) rewriter ...-testversion/src/core/matcher.rkt:90:2 for-loop [91] 83.6% *rules* [92] 15.3% ---------------------------------------------------------------------------- ??? [67] 100.0% [82] 3192(3.0%) 2520(2.4%) ??? ...th-testversion/src/syntax/syntax.rkt:214:17 return/no-unsupplied [93] 21.1% ---------------------------------------------------------------------------- for-loop [69] 100.0% [83] 1544(1.4%) 0(0.0%) loop ...h-testversion/src/core/alt-table.rkt:177:2 map [135] 58.8% loop [96] 21.6% loop [98] 19.6% ---------------------------------------------------------------------------- free-variables [73] 100.0% [84] 634(0.6%) 0(0.0%) append-map ...t-7.2/collects/racket/list.rkt:586:2 free-variables [73] 100.0% ---------------------------------------------------------------------------- free-variables [73] 100.0% [85] 334(0.3%) 0(0.0%) constant? ...stversion/src/syntax/syntax.rkt:726:0 value? [95] 100.0% ---------------------------------------------------------------------------- atab-min-errors [74] 100.0% [86] 312(0.3%) 0(0.0%) for-loop ...stversion/src/core/alt-table.rkt:224:2 ??? [104] 100.0% ---------------------------------------------------------------------------- for-loop [75] 100.0% [87] 312(0.3%) 0(0.0%) mterm->expr ...stversion/src/core/reduce.rkt:274:0 type-of [97] 100.0% ---------------------------------------------------------------------------- free-variables [73] 100.0% [88] 300(0.3%) 0(0.0%) variable? ...stversion/src/syntax/syntax.rkt:729:0 value? [95] 100.0% ---------------------------------------------------------------------------- for-loop [77] 100.0% [89] 298(0.3%) 0(0.0%) change-apply ...tversion/src/core/matcher.rkt:70:0 pattern-substitute [100] 100.0% ---------------------------------------------------------------------------- argmin [80] 100.0% [90] 5630(5.3%) 0(0.0%) ??? ...eggmath-testversion/src/mainloop.rkt:113:10 errors [101] 100.0% ---------------------------------------------------------------------------- rewriter [81] 100.0% [91] 4592(4.3%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:92:4 matcher [102] 94.3% for-loop [12] 5.7% ---------------------------------------------------------------------------- rewriter [81] 100.0% [92] 2286(2.1%) 0(0.0%) *rules* ...-testversion/src/syntax/rules.rkt:669:0 for-loop [103] 100.0% ---------------------------------------------------------------------------- ??? [82] 100.0% [93] 672(0.6%) 672(0.6%) return/no-unsupplied ...ct/private/arr-i.rkt:542:0 ---------------------------------------------------------------------------- atab-add-altn [79] 45.7% for-loop [69] 54.3% [94] 656(0.6%) 300(0.3%) for-loop ...stversion/src/core/alt-table.rkt:119:2 ??? [104] 54.3% ---------------------------------------------------------------------------- variable? [88] 47.3% constant? [85] 52.7% [95] 634(0.6%) 634(0.6%) value? ...th-testversion/src/syntax/types.rkt:18:0 ---------------------------------------------------------------------------- loop [83] 100.0% [96] 334(0.3%) 334(0.3%) loop ...h-testversion/src/core/alt-table.rkt:101:2 ---------------------------------------------------------------------------- mterm->expr [87] 100.0% [97] 312(0.3%) 0(0.0%) type-of ...ath-testversion/src/type-check.rkt:34:0 table-ref [105] 100.0% ---------------------------------------------------------------------------- loop [83] 2.3% loop [98] 97.7% [98] 302(0.3%) 302(0.3%) loop ...racket-7.2/collects/racket/list.rkt:434:28 loop [98] 97.7% ---------------------------------------------------------------------------- atab-add-altn [79] 100.0% [99] 300(0.3%) 300(0.3%) loop ...-7.2/collects/racket/private/hash.rkt:20:4 ---------------------------------------------------------------------------- pattern-substitute [100] 50.0% change-apply [89] 50.0% [100] 298(0.3%) 298(0.3%) pattern-substitute ...on/src/core/matcher.rkt:46:0 pattern-substitute [100] 50.0% ---------------------------------------------------------------------------- ??? [109] 1.8% for-loop [159] 2.0% for-loop [69] 17.5% ??? [90] 34.0% atab-add-altn [79] 44.7% [101] 16582(15.5%) 0(0.0%) errors ...eggmath-testversion/src/points.rkt:205:0 for-loop [106] 66.8% eval-prog [107] 33.2% ---------------------------------------------------------------------------- for-loop [20] 45.2% for-loop [91] 54.8% [102] 4592(4.3%) 0(0.0%) matcher ...-testversion/src/core/matcher.rkt:118:2 ??? [7] 56.1% rewriter [81] 43.9% ---------------------------------------------------------------------------- *rules* [92] 100.0% [103] 2286(2.1%) 1266(1.2%) for-loop ...ggmath-testversion/src/common.rkt:74:9 ormap [108] 44.6% ---------------------------------------------------------------------------- for-loop [86] 46.7% for-loop [94] 53.3% [104] 668(0.6%) 668(0.6%) ??? ...7.2/collects/racket/private/for.rkt:1233:14 ---------------------------------------------------------------------------- type-of [97] 100.0% [105] 312(0.3%) 312(0.3%) table-ref ...gmath-testversion/src/common.rkt:45:0 ---------------------------------------------------------------------------- errors [101] 100.0% [106] 11080(10.4%) 300(0.3%) for-loop ...gmath-testversion/src/points.rkt:207:2 ??? [109] 97.3% ---------------------------------------------------------------------------- errors [101] 100.0% [107] 5502(5.1%) 0(0.0%) eval-prog ...ath-testversion/src/programs.rkt:83:0 temp85_0 [110] 88.6% eval [113] 6.0% ??? [111] 5.4% ---------------------------------------------------------------------------- for-loop [103] 100.0% [108] 1020(1.0%) 334(0.3%) ormap ....2/collects/racket/private/map.rkt:141:13 flag-set? [112] 67.3% ---------------------------------------------------------------------------- for-loop [106] 3.4% run [14] 48.3% [109] 106886(100.0%) 300(0.3%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 48.3% run-improve47 [2] 36.0% prepare-points-intervals [16] 6.2% get-final-combination [116] 5.2% ??? [114] 1.9% ??? [53] 1.4% oracle-error [118] 0.4% for-loop [122] 0.1% eval-errors [121] 0.1% errors [101] 0.1% ---------------------------------------------------------------------------- eval-prog [107] 40.6% eval-const-expr [56] 59.4% [110] 12010(11.2%) 324(0.3%) temp85_0 (unknown source) compile15 [115] 97.3% ---------------------------------------------------------------------------- eval-prog [107] 13.8% ??? [67] 86.2% [111] 2158(2.0%) 298(0.3%) ??? ...tract/private/arrow-higher-order.rkt:364:33 ival-add [117] 44.9% ival-div [119] 41.2% ---------------------------------------------------------------------------- ormap [108] 100.0% [112] 686(0.6%) 686(0.6%) flag-set? ...gmath-testversion/src/config.rkt:28:0 ---------------------------------------------------------------------------- eval-prog [107] 100.0% [113] 330(0.3%) 0(0.0%) eval (unknown source) namespace-syntax-introduce3 [120] 100.0% ---------------------------------------------------------------------------- loop [165] 1.0% ??? [6] 4.6% ??? [67] 7.7% loop [17] 9.2% ??? [43] 10.4% ??? [53] 10.4% ??? [109] 17.4% location-do [123] 19.6% for-loop [78] 19.6% [114] 34212(32.0%) 7244(6.8%) ??? ...tract/private/arrow-higher-order.rkt:360:33 location-do [123] 19.6% approximate9 [3] 19.1% hash-ref! [142] 13.9% mk-ival [127] 9.5% sample-multi-bounded [128] 8.4% ival-mult [129] 6.9% bf [138] 1.0% simplify [30] 0.5% ---------------------------------------------------------------------------- temp85_0 [110] 100.0% [115] 11686(10.9%) 0(0.0%) compile15 (unknown source) temp91_0 [124] 100.0% ---------------------------------------------------------------------------- ??? [109] 100.0% [116] 11194(10.5%) 0(0.0%) get-final-combination ...on/src/mainloop.rkt:370:0 infer-splitpoints [125] 51.5% ??? [126] 48.5% ---------------------------------------------------------------------------- ??? [111] 100.0% [117] 970(0.9%) 0(0.0%) ival-add ...h-testversion/src/biginterval.rkt:93:0 bfadd [137] 100.0% ---------------------------------------------------------------------------- ??? [109] 100.0% [118] 948(0.9%) 0(0.0%) oracle-error ...h-testversion/src/points.rkt:188:0 for-loop [130] 100.0% ---------------------------------------------------------------------------- ??? [111] 100.0% [119] 890(0.8%) 300(0.3%) ival-div ...-testversion/src/biginterval.rkt:147:0 bfadd [137] 66.3% ---------------------------------------------------------------------------- eval [113] 100.0% [120] 330(0.3%) 0(0.0%) namespace-syntax-introduce3 (unknown source) free-identifier=? [131] 100.0% ---------------------------------------------------------------------------- ??? [109] 100.0% [121] 312(0.3%) 0(0.0%) eval-errors ...th-testversion/src/points.rkt:179:0 for-loop [132] 100.0% ---------------------------------------------------------------------------- ??? [109] 100.0% [122] 312(0.3%) 0(0.0%) for-loop ...gmath-testversion/src/sandbox.rkt:72:8 errors-score [181] 100.0% ---------------------------------------------------------------------------- location-do [123] 39.0% ??? [114] 61.0% [123] 18158(17.0%) 0(0.0%) location-do ...h-testversion/src/programs.rkt:64:0 ??? [114] 61.0% location-do [123] 39.0% ---------------------------------------------------------------------------- compile15 [115] 100.0% [124] 11686(10.9%) 0(0.0%) temp91_0 (unknown source) temp118_0 [134] 97.2% compile-top9 [140] 2.8% ---------------------------------------------------------------------------- get-final-combination [116] 100.0% [125] 5766(5.4%) 0(0.0%) infer-splitpoints ...ion/src/core/regimes.rkt:34:0 for-loop [136] 100.0% ---------------------------------------------------------------------------- get-final-combination [116] 100.0% [126] 5428(5.1%) 0(0.0%) ??? ...math-testversion/src/core/simplify.rkt:25:0 ??? [133] 100.0% ---------------------------------------------------------------------------- ??? [114] 100.0% [127] 3258(3.0%) 0(0.0%) mk-ival ...th-testversion/src/biginterval.rkt:57:0 bf [138] 100.0% ---------------------------------------------------------------------------- ??? [114] 100.0% [128] 2860(2.7%) 300(0.3%) sample-multi-bounded ...ersion/src/points.rkt:15:0 random-ranges [139] 79.0% ??? [192] 10.5% ---------------------------------------------------------------------------- ??? [114] 100.0% [129] 2356(2.2%) 300(0.3%) ival-mult ...testversion/src/biginterval.rkt:111:0 bfadd [137] 87.3% ---------------------------------------------------------------------------- oracle-error [118] 100.0% [130] 948(0.9%) 336(0.3%) for-loop ...gmath-testversion/src/points.rkt:189:2 map [135] 32.9% loop [165] 31.6% ---------------------------------------------------------------------------- namespace-syntax-introduce3 [120] 100.0% [131] 330(0.3%) 0(0.0%) free-identifier=? (unknown source) resolve+shift28 [196] 100.0% ---------------------------------------------------------------------------- eval-errors [121] 100.0% [132] 312(0.3%) 312(0.3%) for-loop ...gmath-testversion/src/points.rkt:181:2 ---------------------------------------------------------------------------- ??? [126] 17.0% simplify! [37] 83.0% [133] 31892(29.8%) 0(0.0%) ??? ...math-testversion/src/core/simplify.rkt:38:0 egraph-run [141] 100.0% ---------------------------------------------------------------------------- temp91_0 [124] 100.0% [134] 11354(10.6%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [143] 100.0% ---------------------------------------------------------------------------- gather-multiplicative-terms [148] 1.9% for-loop [130] 5.1% parse-loop80 [41] 5.5% taylor [32] 10.5% loop [83] 15.0% f67 [45] 62.0% [135] 6070(5.7%) 0(0.0%) map ...t-7.2/collects/racket/private/map.rkt:35:13 f67 [45] 46.3% loop [165] 15.0% parse-loop80 [41] 12.5% hash-ref! [142] 5.5% taylor-invert [149] 5.5% ??? [171] 5.1% taylor [32] 5.0% simplify-node [11] 3.1% gather-multiplicative-terms [148] 1.9% ---------------------------------------------------------------------------- infer-splitpoints [125] 100.0% [136] 5766(5.4%) 0(0.0%) for-loop ...-testversion/src/core/regimes.rkt:47:6 option-on-expr [144] 100.0% ---------------------------------------------------------------------------- ival-div [119] 16.3% ival-add [117] 26.8% ival-mult [129] 56.9% [137] 3616(3.4%) 300(0.3%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [145] 53.8% ??? [146] 37.9% ---------------------------------------------------------------------------- ??? [114] 9.3% mk-ival [127] 90.7% [138] 3594(3.4%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [145] 79.6% ??? [146] 20.4% ---------------------------------------------------------------------------- sample-multi-bounded [128] 100.0% [139] 2260(2.1%) 1564(1.5%) random-ranges ...-testversion/src/common.rkt:183:0 cons/c [147] 30.8% ---------------------------------------------------------------------------- temp91_0 [124] 100.0% [140] 332(0.3%) 0(0.0%) compile-top9 (unknown source) compile-forms33 [150] 100.0% ---------------------------------------------------------------------------- ??? [133] 100.0% [141] 31892(29.8%) 0(0.0%) egraph-run ...estversion/src/core/eggmath.rkt:55:0 egraph-add-exprs [151] 100.0% ---------------------------------------------------------------------------- for-loop [27] 0.2% for-loop [36] 0.3% localize-error [61] 0.5% loop [50] 0.6% taylor-sqrt [35] 0.9% map [135] 1.4% simplify* [63] 1.8% for-loop [22] 2.5% ??? [156] 2.9% ??? [6] 3.2% for-loop [18] 5.2% loop [17] 5.2% first-nonzero-exp [58] 7.6% for-loop [19] 8.3% ??? [31] 13.8% ??? [152] 20.7% ??? [114] 24.1% [142] 18192(17.0%) 620(0.6%) hash-ref! .../racket/private/more-scheme.rkt:376:2 simplify [30] 31.4% ??? [152] 20.7% ??? [4] 19.3% ??? [6] 8.4% ??? [5] 8.3% ??? [156] 2.9% ??? [9] 2.7% taylor [32] 1.5% parse-loop80 [41] 1.4% ---------------------------------------------------------------------------- loop [187] 24.0% temp118_0 [134] 76.0% [143] 14946(14.0%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [153] 76.0% dispatch-transformer41 [155] 24.0% ---------------------------------------------------------------------------- for-loop [136] 100.0% [144] 5766(5.4%) 0(0.0%) option-on-expr ...rsion/src/core/regimes.rkt:126:0 sort-context-on-expr [154] 94.2% for-loop [159] 5.8% ---------------------------------------------------------------------------- bfadd [137] 40.5% bf [138] 59.5% [145] 4806(4.5%) 4806(4.5%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ---------------------------------------------------------------------------- bf [138] 34.9% bfadd [137] 65.1% [146] 2104(2.0%) 2104(2.0%) ??? /opt/racket-7.2/collects/ffi/unsafe.rkt:905:4 ---------------------------------------------------------------------------- random-ranges [139] 100.0% [147] 696(0.7%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:504:15 coerce-contract [157] 100.0% ---------------------------------------------------------------------------- map [135] 50.0% simplify-node [11] 50.0% [148] 348(0.3%) 0(0.0%) gather-multiplicative-terms ...re/reduce.rkt:112:0 map [135] 50.0% compose [158] 50.0% ---------------------------------------------------------------------------- map [135] 100.0% [149] 334(0.3%) 0(0.0%) taylor-invert ...version/src/core/taylor.rkt:318:0 first-nonzero-exp [58] 100.0% ---------------------------------------------------------------------------- compile-top9 [140] 100.0% [150] 332(0.3%) 0(0.0%) compile-forms33 (unknown source) for-loop [205] 100.0% ---------------------------------------------------------------------------- egraph-run [141] 100.0% [151] 31892(29.8%) 0(0.0%) egraph-add-exprs ...ion/src/core/eggmath.rkt:119:0 ??? [160] 70.0% for-loop [162] 30.0% ---------------------------------------------------------------------------- hash-ref! [142] 100.0% [152] 12952(12.1%) 0(0.0%) ??? ...gmath-testversion/src/core/taylor.rkt:45:15 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- expand-capturing-lifts [143] 100.0% [153] 11354(10.6%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [161] 94.1% loop [187] 5.9% ---------------------------------------------------------------------------- option-on-expr [144] 100.0% [154] 5432(5.1%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:119:0 ??? [163] 100.0% ---------------------------------------------------------------------------- loop [187] 13.6% for-loop [205] 13.6% expand-capturing-lifts [143] 72.8% [155] 4932(4.6%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [164] 100.0% ---------------------------------------------------------------------------- hash-ref! [142] 100.0% [156] 3176(3.0%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:344:33 hash-ref! [142] 100.0% ---------------------------------------------------------------------------- cons/c [147] 100.0% [157] 696(0.7%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:308:0 coerce-contract/f [166] 100.0% ---------------------------------------------------------------------------- gather-multiplicative-terms [148] 100.0% [158] 348(0.3%) 348(0.3%) compose ...collects/racket/private/list.rkt:385:12 ---------------------------------------------------------------------------- option-on-expr [144] 100.0% [159] 334(0.3%) 0(0.0%) for-loop ...testversion/src/core/regimes.rkt:136:4 errors [101] 100.0% ---------------------------------------------------------------------------- egraph-add-exprs [151] 100.0% [160] 22334(20.9%) 22334(20.9%) ??? ...math-testversion/src/core/simplify.rkt:49:8 ---------------------------------------------------------------------------- lambda-clause-expander [153] 34.2% for-loop [205] 65.8% [161] 10684(10.0%) 0(0.0%) finish-bodys (unknown source) for-loop [205] 100.0% ---------------------------------------------------------------------------- egraph-add-exprs [151] 100.0% [162] 9558(8.9%) 9558(8.9%) for-loop ...testversion/src/core/eggmath.rkt:127:4 ---------------------------------------------------------------------------- localize-error [61] 5.7% sort-context-on-expr [154] 94.3% [163] 5758(5.4%) 0(0.0%) ??? ...-7.2/collects/racket/private/sort.rkt:369:3 generic-sort/key [167] 100.0% ---------------------------------------------------------------------------- dispatch-transformer41 [155] 100.0% [164] 4932(4.6%) 0(0.0%) apply-transformer52 (unknown source) loop [187] 79.6% apply-transformer-in-context [170] 13.6% syntax-track-origin4 [172] 6.8% ---------------------------------------------------------------------------- map [135] 1.5% parse-loop80 [41] 16.3% for-loop [130] 16.3% loop [165] 65.2% [165] 1844(1.7%) 0(0.0%) loop ...-7.2/collects/racket/private/map.rkt:40:19 loop [165] 65.2% ??? [171] 16.3% ??? [173] 16.3% ??? [168] 1.5% ??? [114] 0.8% ---------------------------------------------------------------------------- coerce-contract [157] 100.0% [166] 696(0.7%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:373:0 coerce-simple-value [169] 100.0% ---------------------------------------------------------------------------- ??? [163] 100.0% [167] 5758(5.4%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [174] 94.3% jloop [177] 5.7% ---------------------------------------------------------------------------- loop [165] 100.0% [168] 908(0.8%) 612(0.6%) ??? ...h-testversion/src/core/alt-table.rkt:194:12 loop [179] 32.6% ---------------------------------------------------------------------------- coerce-contract/f [166] 100.0% [169] 696(0.7%) 696(0.7%) coerce-simple-value ...ract/private/guts.rkt:386:0 ---------------------------------------------------------------------------- apply-transformer52 [164] 100.0% [170] 672(0.6%) 0(0.0%) apply-transformer-in-context (unknown source) parse-app [175] 50.0% ??? [176] 50.0% ---------------------------------------------------------------------------- loop [165] 49.0% map [135] 51.0% [171] 612(0.6%) 0(0.0%) ??? ...e/eggmath-testversion/src/points.rkt:190:26 ??? [53] 100.0% ---------------------------------------------------------------------------- apply-transformer52 [164] 100.0% [172] 334(0.3%) 334(0.3%) syntax-track-origin4 (unknown source) ---------------------------------------------------------------------------- loop [165] 100.0% [173] 300(0.3%) 0(0.0%) ??? ...ggmath-testversion/src/core/reduce.rkt:59:5 for-loop [178] 100.0% ---------------------------------------------------------------------------- generic-sort/key [167] 100.0% [174] 5432(5.1%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 loop [180] 100.0% ---------------------------------------------------------------------------- apply-transformer-in-context [170]100.0% [175] 336(0.3%) 0(0.0%) parse-app ...collects/racket/private/kw.rkt:1107:2 syntax->list [184] 100.0% ---------------------------------------------------------------------------- apply-transformer-in-context [170]100.0% [176] 336(0.3%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [183] 100.0% ---------------------------------------------------------------------------- generic-sort/key [167] 100.0% [177] 326(0.3%) 0(0.0%) jloop ...2/collects/racket/private/sort.rkt:120:23 errors-score [181] 100.0% ---------------------------------------------------------------------------- ??? [173] 100.0% [178] 300(0.3%) 0(0.0%) for-loop ...h-testversion/src/core/reduce.rkt:60:7 pattern-match [182] 100.0% ---------------------------------------------------------------------------- ??? [168] 33.3% loop [179] 66.7% [179] 296(0.3%) 296(0.3%) loop ...7.2/collects/racket/private/list.rkt:82:16 loop [179] 66.7% ---------------------------------------------------------------------------- copying-mergesort [174] 100.0% [180] 5432(5.1%) 0(0.0%) loop ...7.2/collects/racket/private/sort.rkt:96:12 ??? [53] 100.0% ---------------------------------------------------------------------------- for-loop [122] 32.5% localize! [49] 33.5% jloop [177] 34.0% [181] 960(0.9%) 322(0.3%) errors-score ...h-testversion/src/points.rkt:196:0 loop [185] 66.5% ---------------------------------------------------------------------------- pattern-match [182] 24.9% for-loop [178] 24.9% fix-up-variables [24] 50.2% [182] 602(0.6%) 0(0.0%) pattern-match ...version/src/core/matcher.rkt:30:0 for-loop [186] 50.2% pattern-match [182] 24.9% ??? [54] 24.9% ---------------------------------------------------------------------------- ??? [176] 100.0% [183] 336(0.3%) 0(0.0%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 syntax->list [184] 100.0% ---------------------------------------------------------------------------- ??? [183] 50.0% parse-app [175] 50.0% [184] 672(0.6%) 0(0.0%) syntax->list (unknown source) loop [187] 100.0% ---------------------------------------------------------------------------- errors-score [181] 100.0% [185] 638(0.6%) 638(0.6%) loop .../racket-7.2/collects/racket/list.rkt:559:2 ---------------------------------------------------------------------------- pattern-match [182] 100.0% [186] 302(0.3%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:27:9 core651 [188] 100.0% ---------------------------------------------------------------------------- loop [187] 1.2% syntax->list [184] 3.0% lambda-clause-expander [153] 4.8% for-loop [205] 14.7% eval-const-expr [56] 22.3% apply-transformer52 [164] 22.7% syntax-e/no-taint [21] 31.3% [187] 9388(8.8%) 0(0.0%) loop (unknown source) gf [190] 31.3% core-form-sym [189] 25.9% expand-capturing-lifts [143] 19.1% expand-id-application-form17 [191] 11.1% dispatch-transformer41 [155] 4.8% expand-identifier [10] 3.6% syntax-e [8] 3.0% loop [187] 1.2% ---------------------------------------------------------------------------- for-loop [186] 22.2% ??? [47] 77.8% [188] 1360(1.3%) 0(0.0%) core651 ...acket/contract/private/arr-i.rkt:929:19 ??? [192] 26.5% un-dep/maybe-chaperone [193] 26.5% arrow-higher-order:lnp [194] 24.9% or/c [195] 22.2% ---------------------------------------------------------------------------- loop [187] 100.0% [189] 4226(4.0%) 300(0.3%) core-form-sym (unknown source) resolve+shift28 [196] 92.9% ---------------------------------------------------------------------------- loop [187] 100.0% [190] 4192(3.9%) 0(0.0%) gf (unknown source) propagation-apply [197] 68.9% propagation-apply-shifted [198] 23.1% propagation-merge [201] 8.0% ---------------------------------------------------------------------------- loop [187] 100.0% [191] 1908(1.8%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [21] 84.3% resolve+shift28 [196] 15.7% ---------------------------------------------------------------------------- sample-multi-bounded [128] 45.5% core651 [188] 54.5% [192] 660(0.6%) 660(0.6%) ??? ...ects/racket/contract/private/guts.rkt:772:8 ---------------------------------------------------------------------------- core651 [188] 100.0% [193] 360(0.3%) 0(0.0%) un-dep/maybe-chaperone ...private/arr-i.rkt:1108:2 ??? [199] 100.0% ---------------------------------------------------------------------------- core651 [188] 100.0% [194] 338(0.3%) 0(0.0%) arrow-higher-order:lnp ...w-higher-order.rkt:699:7 ??? [200] 100.0% ---------------------------------------------------------------------------- core651 [188] 100.0% [195] 302(0.3%) 0(0.0%) or/c ...lects/racket/contract/private/orc.rkt:16:2 flat-contract? [202] 100.0% ---------------------------------------------------------------------------- expand-implicit [13] 5.2% expand-id-application-form17 [191] 5.2% free-identifier=? [131] 5.7% expand-identifier [10] 16.1% core-form-sym [189] 67.9% [196] 5786(5.4%) 330(0.3%) resolve+shift28 (unknown source) fallback-loop [203] 94.3% ---------------------------------------------------------------------------- gf [190] 100.0% [197] 2888(2.7%) 2888(2.7%) propagation-apply (unknown source) ---------------------------------------------------------------------------- gf [190] 100.0% [198] 968(0.9%) 968(0.9%) propagation-apply-shifted (unknown source) ---------------------------------------------------------------------------- un-dep/maybe-chaperone [193] 100.0% [199] 360(0.3%) 0(0.0%) ??? ...cts/racket/contract/private/guts.rkt:837:10 ??? [204] 100.0% ---------------------------------------------------------------------------- arrow-higher-order:lnp [194] 100.0% [200] 338(0.3%) 338(0.3%) ??? ...et/contract/private/arity-checking.rkt:19:2 ---------------------------------------------------------------------------- gf [190] 100.0% [201] 336(0.3%) 336(0.3%) propagation-merge (unknown source) ---------------------------------------------------------------------------- or/c [195] 100.0% [202] 302(0.3%) 302(0.3%) flat-contract? .../contract/private/guts.rkt:130:0 ---------------------------------------------------------------------------- resolve+shift28 [196] 100.0% [203] 5456(5.1%) 940(0.9%) fallback-loop (unknown source) for-loop [205] 82.8% ---------------------------------------------------------------------------- ??? [199] 100.0% [204] 360(0.3%) 0(0.0%) ??? ...ntract/private/arrow-higher-order.rkt:560:2 get-blame-party-info [206] 100.0% ---------------------------------------------------------------------------- compile-forms33 [150] 2.3% fallback-loop [203] 14.2% for-loop [205] 16.1% finish-bodys [161] 67.4% [205] 14608(13.7%) 9144(8.6%) for-loop (unknown source) finish-bodys [161] 44.5% for-loop [205] 16.1% loop [187] 4.1% compile-module-linklet57 [208] 2.3% syntax-e [8] 1.8% expand-identifier [10] 1.1% dispatch-transformer41 [155] 1.0% expand-implicit [13] 0.5% ---------------------------------------------------------------------------- ??? [204] 100.0% [206] 360(0.3%) 0(0.0%) get-blame-party-info ...ate/arrow-common.rkt:136:0 show-blame-negative [207] 100.0% ---------------------------------------------------------------------------- get-blame-party-info [206] 100.0% [207] 360(0.3%) 360(0.3%) show-blame-negative ...act/private/blame.rkt:342:0 ---------------------------------------------------------------------------- for-loop [205] 100.0% [208] 332(0.3%) 332(0.3%) compile-module-linklet57 (unknown source) ----------------------------------------------------------------------------