Profiling results ----------------- Total cpu time observed: 46970ms (out of 47136ms) Number of samples taken: 267 (once every 176ms) (Hiding functions with self<1.0% and local<2.0%: 7 of 206 hidden) ========================================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================================= [1] 46970(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [14] 100.0% ----------------------------------------------------------------------------------------- loop [160] 23.6% loop [130] 76.4% [2] 6404(13.6%) 150(0.3%) ??? ...e/eggmath-testversion/src/points.rkt:190:26 ??? [104] 83.6% *bit-width* [35] 7.1% ??? [131] 7.0% ----------------------------------------------------------------------------------------- ??? [131] 100.0% [3] 4236(9.0%) 0(0.0%) approximate9 ...stversion/src/core/taylor.rkt:12:0 loop [16] 76.4% for-loop [21] 18.8% taylor-quotient [22] 4.8% ----------------------------------------------------------------------------------------- stx-pair? [129] 7.8% loop [130] 15.5% for-loop [157] 76.8% [4] 2576(5.5%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [15] 100.0% ----------------------------------------------------------------------------------------- hash-ref! [34] 100.0% [5] 2186(4.7%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:301:23 for-loop [17] 100.0% ----------------------------------------------------------------------------------------- matcher [91] 100.0% [6] 1862(4.0%) 0(0.0%) ??? ...ath-testversion/src/core/matcher.rkt:130:11 for-loop [18] 100.0% ----------------------------------------------------------------------------------------- hash-ref! [34] 100.0% [7] 1352(2.9%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:407:23 for-loop [19] 100.0% ----------------------------------------------------------------------------------------- hash-ref! [34] 100.0% [8] 932(2.0%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:291:26 for-loop [20] 100.0% ----------------------------------------------------------------------------------------- for-loop [157] 100.0% [9] 600(1.3%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [139] 62.7% datum->syntax6 [194] 37.3% ----------------------------------------------------------------------------------------- rewriter [75] 100.0% [10] 482(1.0%) 0(0.0%) *rules* ...-testversion/src/syntax/rules.rkt:666:0 for-loop [157] 100.0% ----------------------------------------------------------------------------------------- for-loop [157] 100.0% [11] 406(0.9%) 0(0.0%) expand-identifier (unknown source) resolve+shift28 [139] 100.0% ----------------------------------------------------------------------------------------- hash-ref! [34] 100.0% [12] 240(0.5%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:510:23 for-loop [23] 100.0% ----------------------------------------------------------------------------------------- taylor [161] 100.0% [13] 200(0.4%) 0(0.0%) taylor-invert ...version/src/core/taylor.rkt:318:0 simplify [132] 100.0% ----------------------------------------------------------------------------------------- ??? [1] 100.0% [14] 46970(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [24] 100.0% ----------------------------------------------------------------------------------------- expand-id-application-form17 [134] 23.1% syntax-e [4] 76.9% [15] 3348(7.1%) 0(0.0%) syntax-e/no-taint (unknown source) loop [130] 100.0% ----------------------------------------------------------------------------------------- approximate9 [3] 100.0% [16] 3236(6.9%) 0(0.0%) loop ...gmath-testversion/src/core/taylor.rkt:87:4 hash-ref! [34] 64.2% ??? [131] 35.8% ----------------------------------------------------------------------------------------- ??? [5] 100.0% [17] 2186(4.7%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:304:27 hash-ref! [34] 100.0% ----------------------------------------------------------------------------------------- ??? [6] 100.0% [18] 1862(4.0%) 0(0.0%) for-loop ...estversion/src/core/matcher.rkt:132:15 matcher [91] 100.0% ----------------------------------------------------------------------------------------- ??? [7] 100.0% [19] 1352(2.9%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:411:33 for-loop [25] 54.4% hash-ref! [34] 45.6% ----------------------------------------------------------------------------------------- ??? [8] 100.0% [20] 932(2.0%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:291:52 ??? [26] 78.5% hash-ref! [34] 21.5% ----------------------------------------------------------------------------------------- approximate9 [3] 100.0% [21] 798(1.7%) 0(0.0%) for-loop ...-testversion/src/core/taylor.rkt:30:18 taylor [161] 100.0% ----------------------------------------------------------------------------------------- approximate9 [3] 29.4% taylor [161] 70.6% [22] 688(1.5%) 0(0.0%) taylor-quotient ...rsion/src/core/taylor.rkt:334:0 first-nonzero-exp [27] 100.0% ----------------------------------------------------------------------------------------- ??? [12] 100.0% [23] 240(0.5%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:514:35 parse-loop402 [28] 100.0% ----------------------------------------------------------------------------------------- profile-thunk16 [14] 100.0% [24] 46970(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [29] 100.0% ----------------------------------------------------------------------------------------- for-loop [19] 100.0% [25] 736(1.6%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:413:39 hash-ref! [34] 100.0% ----------------------------------------------------------------------------------------- for-loop [20] 100.0% [26] 732(1.6%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:294:19 hash-ref! [34] 100.0% ----------------------------------------------------------------------------------------- taylor-quotient [22] 100.0% [27] 688(1.5%) 0(0.0%) first-nonzero-exp ...ion/src/core/taylor.rkt:266:0 hash-ref! [34] 100.0% ----------------------------------------------------------------------------------------- for-loop [23] 100.0% [28] 240(0.5%) 0(0.0%) parse-loop402 (unknown source) for-loop [30] 100.0% ----------------------------------------------------------------------------------------- for-loop [98] 5.1% run [24] 94.9% [29] 46970(100.0%) 358(0.8%) .../more-scheme.rkt:261:28 (unknown source) prepare-points-intervals [37] 31.7% run-improve47 [31] 29.0% get-final-combination [32] 16.4% oracle-error [33] 15.6% ??? [104] 4.0% baseline-error [36] 0.7% errors [90] 0.7% ??? [131] 0.6% loop [130] 0.4% eval-errors [95] 0.3% *bit-width* [35] 0.2% ----------------------------------------------------------------------------------------- parse-loop402 [28] 100.0% [30] 240(0.5%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:517:59 hash-ref! [34] 100.0% ----------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [29] 100.0% [31] 14390(30.6%) 0(0.0%) run-improve47 ...estversion/src/mainloop.rkt:346:0 for-loop [38] 92.3% prepare-points-intervals [37] 4.5% simplify! [54] 3.2% ----------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [29] 100.0% [32] 9358(19.9%) 0(0.0%) get-final-combination ...on/src/mainloop.rkt:371:0 infer-splitpoints [39] 100.0% ----------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [29] 100.0% [33] 7314(15.6%) 0(0.0%) oracle-error ...h-testversion/src/points.rkt:188:0 for-loop [40] 100.0% ----------------------------------------------------------------------------------------- for-loop [20] 0.7% for-loop [30] 1.0% for-loop [19] 2.4% loop [172] 2.5% for-loop [25] 4.4% ??? [26] 4.8% ??? [42] 7.2% first-nonzero-exp [27] 9.5% loop [16] 11.8% ??? [41] 14.6% ??? [131] 19.6% for-loop [17] 19.7% [34] 3844(8.2%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 simplify [132] 26.6% ??? [5] 19.7% ??? [42] 19.1% ??? [41] 14.6% ??? [7] 6.8% ??? [8] 5.4% taylor [161] 5.1% ??? [12] 1.0% ----------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [29] 24.9% ??? [2] 75.1% [35] 602(1.3%) 302(0.6%) *bit-width* ...math-testversion/src/float.rkt:35:0 return/no-unsupplied [188] 49.8% ----------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [29] 100.0% [36] 350(0.7%) 0(0.0%) baseline-error ...testversion/src/points.rkt:192:0 loop [74] 100.0% ----------------------------------------------------------------------------------------- run-improve47 [31] 4.2% .../more-scheme.rkt:261:28 [29] 95.8% [37] 15550(33.1%) 0(0.0%) prepare-points-intervals ...n/src/points.rkt:110:0 loop [43] 100.0% ----------------------------------------------------------------------------------------- run-improve47 [31] 100.0% [38] 13278(28.3%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:365:4 run-iter! [44] 100.0% ----------------------------------------------------------------------------------------- get-final-combination [32] 100.0% [39] 9358(19.9%) 0(0.0%) infer-splitpoints ...ion/src/core/regimes.rkt:34:0 for-loop [45] 97.9% exprs-to-branch-on [46] 2.1% ----------------------------------------------------------------------------------------- oracle-error [33] 100.0% [40] 7314(15.6%) 0(0.0%) for-loop ...gmath-testversion/src/points.rkt:189:2 loop [130] 75.2% map [151] 24.8% ----------------------------------------------------------------------------------------- hash-ref! [34] 100.0% [41] 2568(5.5%) 0(0.0%) ??? ...gmath-testversion/src/core/taylor.rkt:45:15 hash-ref! [34] 100.0% ----------------------------------------------------------------------------------------- hash-ref! [34] 100.0% [42] 2076(4.4%) 0(0.0%) ??? ...gmath-testversion/src/core/taylor.rkt:68:15 ??? [131] 66.5% hash-ref! [34] 33.5% ----------------------------------------------------------------------------------------- prepare-points-intervals [37] 100.0% [43] 15550(33.1%) 0(0.0%) loop ...e/eggmath-testversion/src/points.rkt:123:4 loop [47] 86.1% ??? [52] 11.8% do-curry [174] 1.1% ----------------------------------------------------------------------------------------- for-loop [38] 100.0% [44] 13278(28.3%) 0(0.0%) run-iter! ...th-testversion/src/mainloop.rkt:327:0 finalize-iter! [49] 33.5% gen-series! [50] 31.9% gen-rewrites! [51] 15.6% choose-best-alt! [53] 12.2% simplify! [54] 6.7% ----------------------------------------------------------------------------------------- infer-splitpoints [39] 100.0% [45] 9158(19.5%) 0(0.0%) for-loop ...-testversion/src/core/regimes.rkt:47:6 option-on-expr [48] 100.0% ----------------------------------------------------------------------------------------- infer-splitpoints [39] 100.0% [46] 200(0.4%) 0(0.0%) exprs-to-branch-on ...on/src/core/regimes.rkt:59:0 loop [130] 100.0% ----------------------------------------------------------------------------------------- loop [43] 100.0% [47] 13384(28.5%) 184(0.4%) loop ...ie/eggmath-testversion/src/points.rkt:81:2 ??? [104] 98.6% ----------------------------------------------------------------------------------------- for-loop [45] 100.0% [48] 9158(19.5%) 0(0.0%) option-on-expr ...rsion/src/core/regimes.rkt:126:0 for-loop [55] 80.0% err-lsts->split-indices [61] 12.4% sort-context-on-expr [62] 7.5% ----------------------------------------------------------------------------------------- run-iter! [44] 100.0% [49] 4454(9.5%) 0(0.0%) finalize-iter! ...stversion/src/mainloop.rkt:278:0 ??? [56] 100.0% ----------------------------------------------------------------------------------------- run-iter! [44] 100.0% [50] 4236(9.0%) 0(0.0%) gen-series! ...-testversion/src/mainloop.rkt:160:0 for-loop [57] 100.0% ----------------------------------------------------------------------------------------- run-iter! [44] 100.0% [51] 2074(4.4%) 0(0.0%) gen-rewrites! ...estversion/src/mainloop.rkt:183:0 for-loop [58] 89.8% for-loop [63] 10.2% ----------------------------------------------------------------------------------------- loop [43] 100.0% [52] 1830(3.9%) 0(0.0%) ??? ...ie/eggmath-testversion/src/points.rkt:106:2 loop [130] 48.0% ??? [131] 43.8% ??? [150] 8.2% ----------------------------------------------------------------------------------------- run-iter! [44] 100.0% [53] 1624(3.5%) 0(0.0%) choose-best-alt! ...version/src/mainloop.rkt:117:0 ...ow-val-first.rkt:486:18 [59] 100.0% ----------------------------------------------------------------------------------------- run-improve47 [31] 34.2% run-iter! [44] 65.8% [54] 1352(2.9%) 0(0.0%) simplify! ...th-testversion/src/mainloop.rkt:224:0 ??? [60] 100.0% ----------------------------------------------------------------------------------------- option-on-expr [48] 100.0% [55] 7328(15.6%) 162(0.3%) for-loop ...testversion/src/core/regimes.rkt:136:4 errors [90] 97.8% ----------------------------------------------------------------------------------------- variable? [103] 5.1% finalize-iter! [49] 94.9% [56] 4694(10.0%) 240(0.5%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [64] 94.9% ----------------------------------------------------------------------------------------- gen-series! [50] 100.0% [57] 4236(9.0%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:167:7 taylor-alt [65] 100.0% ----------------------------------------------------------------------------------------- gen-rewrites! [51] 100.0% [58] 1862(4.0%) 0(0.0%) for-loop ...th-testversion/src/mainloop.rkt:191:11 rewrite-expression-head20 [66] 100.0% ----------------------------------------------------------------------------------------- choose-best-alt! [53] 100.0% [59] 1624(3.5%) 0(0.0%) ...ow-val-first.rkt:486:18 (unknown source) ??? [67] 100.0% ----------------------------------------------------------------------------------------- simplify! [54] 100.0% [60] 1352(2.9%) 0(0.0%) ??? ...math-testversion/src/core/simplify.rkt:60:0 egraph-run [68] 100.0% ----------------------------------------------------------------------------------------- option-on-expr [48] 100.0% [61] 1140(2.4%) 0(0.0%) err-lsts->split-indices .../core/regimes.rkt:262:0 loop [69] 100.0% ----------------------------------------------------------------------------------------- option-on-expr [48] 100.0% [62] 690(1.5%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:119:0 ??? [70] 100.0% ----------------------------------------------------------------------------------------- gen-rewrites! [51] 100.0% [63] 212(0.5%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:208:4 for-loop [71] 100.0% ----------------------------------------------------------------------------------------- ??? [56] 100.0% [64] 4454(9.5%) 0(0.0%) for-loop ...estversion/src/core/alt-table.rkt:55:2 atab-add-altn [73] 71.6% errors [90] 19.2% loop [80] 4.6% for-loop [85] 4.5% ----------------------------------------------------------------------------------------- for-loop [57] 100.0% [65] 4236(9.0%) 0(0.0%) taylor-alt ...h-testversion/src/mainloop.rkt:146:0 for-loop [72] 100.0% ----------------------------------------------------------------------------------------- for-loop [58] 100.0% [66] 1862(4.0%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:87:0 rewriter [75] 100.0% ----------------------------------------------------------------------------------------- ...ow-val-first.rkt:486:18 [59] 100.0% [67] 1624(3.5%) 0(0.0%) ??? ...ath-testversion/src/core/alt-table.rkt:58:0 loop [74] 100.0% ----------------------------------------------------------------------------------------- ??? [60] 100.0% [68] 1352(2.9%) 0(0.0%) egraph-run ...estversion/src/core/eggmath.rkt:51:0 egraph-add-exprs [76] 100.0% ----------------------------------------------------------------------------------------- err-lsts->split-indices [61] 100.0% [69] 1140(2.4%) 0(0.0%) loop ...ath-testversion/src/core/regimes.rkt:313:4 for-loop [77] 100.0% ----------------------------------------------------------------------------------------- sort-context-on-expr [62] 100.0% [70] 690(1.5%) 0(0.0%) ??? ...-7.5/collects/racket/private/sort.rkt:369:3 loop [94] 54.5% generic-sort/key [78] 45.5% ----------------------------------------------------------------------------------------- for-loop [63] 100.0% [71] 212(0.5%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:209:6 change-apply [79] 100.0% ----------------------------------------------------------------------------------------- taylor-alt [65] 100.0% [72] 4236(9.0%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:152:6 ??? [131] 100.0% ----------------------------------------------------------------------------------------- for-loop [64] 100.0% [73] 3190(6.8%) 0(0.0%) atab-add-altn ...sion/src/core/alt-table.rkt:203:0 errors [90] 86.8% map [151] 6.9% for-loop [85] 6.3% ----------------------------------------------------------------------------------------- baseline-error [36] 17.7% ??? [67] 82.3% [74] 1974(4.2%) 0(0.0%) loop .../racket-7.5/collects/racket/list.rkt:751:4 ??? [82] 72.0% ??? [86] 17.7% errors-score [89] 10.2% ----------------------------------------------------------------------------------------- rewrite-expression-head20 [66] 27.0% matcher [91] 73.0% [75] 1862(4.0%) 444(0.9%) rewriter ...-testversion/src/core/matcher.rkt:90:2 for-loop [81] 85.9% *rules* [10] 5.8% ----------------------------------------------------------------------------------------- egraph-run [68] 100.0% [76] 1352(2.9%) 0(0.0%) egraph-add-exprs ...ion/src/core/eggmath.rkt:111:0 ??? [83] 100.0% ----------------------------------------------------------------------------------------- loop [69] 100.0% [77] 1140(2.4%) 0(0.0%) for-loop ...testversion/src/core/regimes.rkt:278:4 for-loop [84] 100.0% ----------------------------------------------------------------------------------------- ??? [70] 100.0% [78] 314(0.7%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [87] 100.0% ----------------------------------------------------------------------------------------- for-loop [71] 100.0% [79] 212(0.5%) 0(0.0%) change-apply ...tversion/src/core/matcher.rkt:70:0 pattern-substitute [88] 100.0% ----------------------------------------------------------------------------------------- for-loop [64] 100.0% [80] 206(0.4%) 0(0.0%) loop ...h-testversion/src/core/alt-table.rkt:177:2 loop [163] 100.0% ----------------------------------------------------------------------------------------- rewriter [75] 100.0% [81] 1862(4.0%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:92:4 matcher [91] 89.7% for-loop [93] 10.3% ----------------------------------------------------------------------------------------- loop [74] 100.0% [82] 1422(3.0%) 0(0.0%) ??? ...eggmath-testversion/src/mainloop.rkt:114:10 errors [90] 100.0% ----------------------------------------------------------------------------------------- egraph-add-exprs [76] 100.0% [83] 1352(2.9%) 0(0.0%) ??? ...math-testversion/src/core/simplify.rkt:73:8 egg-run-rules [92] 100.0% ----------------------------------------------------------------------------------------- for-loop [77] 100.0% [84] 1140(2.4%) 1140(2.4%) for-loop ...testversion/src/core/regimes.rkt:282:8 ----------------------------------------------------------------------------------------- atab-add-altn [73] 49.8% for-loop [64] 50.2% [85] 402(0.9%) 402(0.9%) for-loop ...stversion/src/core/alt-table.rkt:119:2 ----------------------------------------------------------------------------------------- loop [74] 100.0% [86] 350(0.7%) 0(0.0%) ??? ...e/eggmath-testversion/src/points.rkt:193:27 eval-errors [95] 100.0% ----------------------------------------------------------------------------------------- copying-mergesort [87] 35.8% generic-sort/key [78] 64.2% [87] 314(0.7%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 loop [94] 52.2% copying-mergesort [87] 35.8% jloop [97] 11.9% ----------------------------------------------------------------------------------------- change-apply [79] 33.3% pattern-substitute [88] 66.7% [88] 212(0.5%) 0(0.0%) pattern-substitute ...on/src/core/matcher.rkt:46:0 pattern-substitute [88] 66.7% constant? [96] 33.3% ----------------------------------------------------------------------------------------- loop [74] 100.0% [89] 202(0.4%) 0(0.0%) errors-score ...h-testversion/src/points.rkt:196:0 loop [130] 100.0% ----------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [29] 2.6% for-loop [64] 6.8% ??? [82] 11.3% atab-add-altn [73] 22.1% for-loop [55] 57.2% [90] 12536(26.7%) 0(0.0%) errors ...eggmath-testversion/src/points.rkt:201:0 for-loop [98] 51.1% eval-prog [99] 48.9% ----------------------------------------------------------------------------------------- for-loop [18] 50.0% for-loop [81] 50.0% [91] 1862(4.0%) 0(0.0%) matcher ...-testversion/src/core/matcher.rkt:118:2 ??? [6] 50.0% rewriter [75] 48.7% variable? [103] 1.3% ----------------------------------------------------------------------------------------- ??? [83] 100.0% [92] 1352(2.9%) 0(0.0%) egg-run-rules ...ersion/src/core/simplify.rkt:80:0 for-loop [100] 100.0% ----------------------------------------------------------------------------------------- for-loop [81] 100.0% [93] 696(1.5%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:99:8 fix-up-variables [101] 100.0% ----------------------------------------------------------------------------------------- copying-mergesort [87] 30.4% ??? [70] 69.6% [94] 540(1.1%) 0(0.0%) loop ...7.5/collects/racket/private/sort.rkt:96:12 ??? [104] 69.6% ??? [131] 30.4% ----------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [29] 30.6% ??? [86] 69.4% [95] 504(1.1%) 0(0.0%) eval-errors ...th-testversion/src/points.rkt:179:0 for-loop [102] 100.0% ----------------------------------------------------------------------------------------- pattern-substitute [88] 100.0% [96] 212(0.5%) 0(0.0%) constant? ...stversion/src/syntax/syntax.rkt:726:0 value? [110] 100.0% ----------------------------------------------------------------------------------------- copying-mergesort [87] 100.0% [97] 150(0.3%) 0(0.0%) jloop ...5/collects/racket/private/sort.rkt:120:23 ??? [104] 100.0% ----------------------------------------------------------------------------------------- errors [90] 100.0% [98] 6408(13.6%) 1604(3.4%) for-loop ...gmath-testversion/src/points.rkt:203:2 .../more-scheme.rkt:261:28 [29] 75.0% ----------------------------------------------------------------------------------------- loop [130] 2.9% errors [90] 97.1% [99] 6310(13.4%) 0(0.0%) eval-prog ...ath-testversion/src/programs.rkt:83:0 temp85_0 [105] 89.0% loop [130] 5.6% inductor [106] 5.4% ----------------------------------------------------------------------------------------- egg-run-rules [92] 100.0% [100] 1352(2.9%) 1352(2.9%) for-loop ...testversion/src/core/simplify.rkt:85:2 ----------------------------------------------------------------------------------------- for-loop [93] 100.0% [101] 696(1.5%) 240(0.5%) fix-up-variables ...ion/src/core/matcher.rkt:111:2 pattern-match [189] 35.6% for-loop [107] 29.9% ----------------------------------------------------------------------------------------- eval-errors [95] 100.0% [102] 504(1.1%) 0(0.0%) for-loop ...gmath-testversion/src/points.rkt:181:2 ??? [104] 100.0% ----------------------------------------------------------------------------------------- matcher [91] 100.0% [103] 240(0.5%) 0(0.0%) variable? ...stversion/src/syntax/syntax.rkt:729:0 ??? [56] 100.0% ----------------------------------------------------------------------------------------- jloop [97] 0.6% loop [94] 1.6% for-loop [102] 2.1% loop [130] 2.6% .../more-scheme.rkt:261:28 [29] 15.5% ??? [2] 22.4% loop [47] 55.2% [104] 23910(50.9%) 3240(6.9%) ??? .../eggmath-testversion/src/programs.rkt:115:2 ??? [150] 41.8% ??? [109] 16.9% ??? [131] 14.5% loop [130] 12.7% ??? [136] 0.6% ----------------------------------------------------------------------------------------- eval-const-expr [181] 33.8% eval-prog [99] 66.2% [105] 8478(18.0%) 0(0.0%) temp85_0 (unknown source) compile15 [108] 100.0% ----------------------------------------------------------------------------------------- eval-prog [99] 23.6% inductor [106] 76.4% [106] 342(0.7%) 0(0.0%) inductor ...ath-testversion/src/programs.rkt:104:4 inductor [106] 76.4% table-ref [111] 18.7% value? [110] 4.9% ----------------------------------------------------------------------------------------- fix-up-variables [101] 100.0% [107] 208(0.4%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:42:9 for-loop [193] 100.0% ----------------------------------------------------------------------------------------- temp85_0 [105] 100.0% [108] 8478(18.0%) 0(0.0%) compile15 (unknown source) temp91_0 [112] 100.0% ----------------------------------------------------------------------------------------- ??? [104] 100.0% [109] 4042(8.6%) 2324(4.9%) ??? ...th-testversion/src/syntax/syntax.rkt:214:17 return/no-unsupplied [188] 38.6% ??? [113] 3.9% ----------------------------------------------------------------------------------------- inductor [106] 41.4% constant? [96] 58.6% [110] 362(0.8%) 362(0.8%) value? ...th-testversion/src/syntax/types.rkt:18:0 ----------------------------------------------------------------------------------------- inductor [106] 100.0% [111] 192(0.4%) 192(0.4%) table-ref ...gmath-testversion/src/common.rkt:33:0 ----------------------------------------------------------------------------------------- compile15 [108] 100.0% [112] 8478(18.0%) 0(0.0%) temp91_0 (unknown source) temp118_0 [114] 95.5% compile-top9 [115] 4.5% ----------------------------------------------------------------------------------------- ??? [109] 100.0% [113] 156(0.3%) 156(0.3%) ??? ...ects/racket/contract/private/prop.rkt:301:4 ----------------------------------------------------------------------------------------- temp91_0 [112] 100.0% [114] 8098(17.2%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [116] 100.0% ----------------------------------------------------------------------------------------- temp91_0 [112] 100.0% [115] 380(0.8%) 0(0.0%) compile-top9 (unknown source) compile-forms33 [117] 100.0% ----------------------------------------------------------------------------------------- loop [130] 8.3% temp118_0 [114] 91.7% [116] 8834(18.8%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [118] 87.1% expand-id-application-form17 [134] 6.5% dispatch-transformer41 [119] 6.4% ----------------------------------------------------------------------------------------- compile-top9 [115] 100.0% [117] 380(0.8%) 0(0.0%) compile-forms33 (unknown source) for-loop [157] 100.0% ----------------------------------------------------------------------------------------- expand-capturing-lifts [116] 100.0% [118] 7696(16.4%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [120] 87.6% loop [130] 12.4% ----------------------------------------------------------------------------------------- expand-capturing-lifts [116] 20.7% loop [130] 29.2% for-loop [157] 50.1% [119] 2748(5.9%) 150(0.3%) dispatch-transformer41 (unknown source) apply-transformer52 [121] 94.5% ----------------------------------------------------------------------------------------- lambda-clause-expander [118] 20.1% for-loop [157] 79.9% [120] 6744(14.4%) 0(0.0%) finish-bodys (unknown source) for-loop [157] 100.0% ----------------------------------------------------------------------------------------- dispatch-transformer41 [119] 100.0% [121] 2598(5.5%) 408(0.9%) apply-transformer52 (unknown source) apply-transformer-in-context [122] 55.5% loop [130] 28.8% ----------------------------------------------------------------------------------------- apply-transformer52 [121] 100.0% [122] 1442(3.1%) 216(0.5%) apply-transformer-in-context (unknown source) parse-app [123] 29.4% go [124] 28.0% ??? [125] 27.6% ----------------------------------------------------------------------------------------- apply-transformer-in-context [122] 100.0% [123] 424(0.9%) 184(0.4%) parse-app ...collects/racket/private/kw.rkt:1142:2 syntax->list [128] 56.6% ----------------------------------------------------------------------------------------- apply-transformer-in-context [122] 100.0% [124] 404(0.9%) 0(0.0%) go .../collects/racket/private/qq-and-or.rkt:50:20 loop [126] 100.0% ----------------------------------------------------------------------------------------- apply-transformer-in-context [122] 100.0% [125] 398(0.8%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [127] 100.0% ----------------------------------------------------------------------------------------- loop [126] 24.8% go [124] 75.2% [126] 404(0.9%) 204(0.4%) loop ...llects/racket/private/qq-and-or.rkt:101:61 loop [126] 24.8% stx-pair? [129] 24.8% ----------------------------------------------------------------------------------------- ??? [125] 100.0% [127] 398(0.8%) 0(0.0%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 syntax->list [128] 100.0% ----------------------------------------------------------------------------------------- parse-app [123] 37.6% ??? [127] 62.4% [128] 638(1.4%) 0(0.0%) syntax->list (unknown source) loop [130] 100.0% ----------------------------------------------------------------------------------------- loop [126] 100.0% [129] 200(0.4%) 0(0.0%) stx-pair? .../collects/racket/private/stx.rkt:40:4 syntax-e [4] 100.0% ----------------------------------------------------------------------------------------- errors-score [89] 0.0% exprs-to-branch-on [46] 0.2% .../more-scheme.rkt:261:28 [29] 0.2% eval-const-expr [181] 1.3% datum->syntax6 [194] 1.7% eval-prog [99] 2.5% syntax->list [128] 2.6% taylor [161] 2.7% for-loop [157] 3.7% apply-transformer52 [121] 3.9% lambda-clause-expander [118] 4.1% ??? [52] 6.1% for-loop [40] 8.9% ??? [104] 11.6% syntax-e/no-taint [15] 18.1% loop [130] 32.4% [130] 14316(30.5%) 1660(3.5%) loop (unknown source) loop [130] 32.4% gf [133] 17.1% ??? [131] 12.2% ??? [2] 8.3% expand-id-application-form17 [134] 4.8% core-form-sym [135] 3.9% expand-capturing-lifts [116] 3.8% ??? [136] 3.2% dispatch-transformer41 [119] 3.1% simplify [132] 2.7% syntax-e [4] 0.9% ??? [104] 0.5% eval-prog [99] 0.2% all-critical-subexpressions [137] 0.2% ----------------------------------------------------------------------------------------- loop [94] 1.3% loop [16] 3.1% ??? [2] 3.6% .../more-scheme.rkt:261:28 [29] 4.6% ??? [42] 5.6% ??? [52] 6.4% location-do [138] 12.7% for-loop [72] 12.7% loop [130] 22.1% ??? [104] 27.8% [131] 12440(26.5%) 4942(10.5%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [138] 12.7% approximate9 [3] 12.7% ival-mult [141] 11.4% sample-multi-bounded [143] 10.9% hash-ref! [34] 8.7% mk-ival [145] 3.8% ----------------------------------------------------------------------------------------- taylor-invert [13] 4.7% loop [130] 9.3% hash-ref! [34] 86.0% [132] 4236(9.0%) 0(0.0%) simplify ...h-testversion/src/core/reduce.rkt:16:0 parse-loop80 [159] 46.5% f46 [140] 36.8% f67 [170] 11.9% simplify* [164] 4.7% ----------------------------------------------------------------------------------------- loop [130] 100.0% [133] 2956(6.3%) 356(0.8%) gf (unknown source) propagation-apply [142] 48.1% propagation-apply-shifted [144] 19.3% propagation-merge [146] 15.4% cache-or-reuse-set [149] 5.1% ----------------------------------------------------------------------------------------- expand-capturing-lifts [116] 34.7% loop [130] 65.3% [134] 1642(3.5%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [15] 47.0% resolve+shift28 [139] 30.5% binding-lookup52 [147] 22.5% ----------------------------------------------------------------------------------------- loop [130] 100.0% [135] 748(1.6%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [139] 100.0% ----------------------------------------------------------------------------------------- ??? [104] 22.1% loop [130] 77.9% [136] 680(1.4%) 680(1.4%) ??? ...cket-7.5/collects/racket/function.rkt:93:12 ----------------------------------------------------------------------------------------- loop [130] 100.0% [137] 200(0.4%) 0(0.0%) all-critical-subexpressions ...re/regimes.rkt:76:0 for-loop [148] 100.0% ----------------------------------------------------------------------------------------- ??? [131] 33.9% location-do [138] 66.1% [138] 4236(9.0%) 0(0.0%) location-do ...h-testversion/src/programs.rkt:64:0 location-do [138] 66.1% ??? [131] 33.9% ----------------------------------------------------------------------------------------- expand-implicit [9] 18.5% expand-identifier [11] 20.0% expand-id-application-form17 [134] 24.6% core-form-sym [135] 36.8% [139] 2030(4.3%) 782(1.7%) resolve+shift28 (unknown source) fallback-loop [152] 52.4% apply-syntax-shifts [156] 9.1% ----------------------------------------------------------------------------------------- map [151] 43.0% simplify [132] 57.0% [140] 1560(3.3%) 0(0.0%) f46 (unknown source) map [151] 100.0% ----------------------------------------------------------------------------------------- ??? [131] 100.0% [141] 1424(3.0%) 300(0.6%) ival-mult ...testversion/src/biginterval.rkt:119:0 bfmul [169] 78.9% ----------------------------------------------------------------------------------------- gf [133] 100.0% [142] 1422(3.0%) 1422(3.0%) propagation-apply (unknown source) ----------------------------------------------------------------------------------------- ??? [131] 100.0% [143] 1362(2.9%) 470(1.0%) sample-multi-bounded ...ersion/src/points.rkt:15:0 random-ranges [153] 42.0% for-loop [155] 23.5% ----------------------------------------------------------------------------------------- gf [133] 100.0% [144] 570(1.2%) 570(1.2%) propagation-apply-shifted (unknown source) ----------------------------------------------------------------------------------------- ??? [131] 100.0% [145] 476(1.0%) 0(0.0%) mk-ival ...th-testversion/src/biginterval.rkt:65:0 bf [154] 100.0% ----------------------------------------------------------------------------------------- gf [133] 100.0% [146] 456(1.0%) 456(1.0%) propagation-merge (unknown source) ----------------------------------------------------------------------------------------- expand-id-application-form17 [134] 100.0% [147] 370(0.8%) 370(0.8%) binding-lookup52 (unknown source) ----------------------------------------------------------------------------------------- all-critical-subexpressions [137] 100.0% [148] 200(0.4%) 0(0.0%) for-loop ...-testversion/src/core/regimes.rkt:83:2 ??? [150] 100.0% ----------------------------------------------------------------------------------------- gf [133] 100.0% [149] 152(0.3%) 152(0.3%) cache-or-reuse-set (unknown source) ----------------------------------------------------------------------------------------- ??? [52] 1.5% for-loop [148] 1.9% ??? [104] 96.6% [150] 10340(22.0%) 2390(5.1%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-cos [158] 63.5% ival-div [162] 6.6% ival-add [165] 3.4% f215 [167] 1.9% ----------------------------------------------------------------------------------------- taylor [161] 5.3% atab-add-altn [73] 5.8% f46 [140] 41.1% for-loop [40] 47.8% [151] 3792(8.1%) 150(0.3%) map ...t-7.5/collects/racket/private/map.rkt:35:13 loop [160] 43.8% f46 [140] 17.7% parse-loop80 [159] 16.3% simplify* [164] 5.9% loop [163] 5.8% taylor [161] 5.3% f67 [170] 1.3% ----------------------------------------------------------------------------------------- resolve+shift28 [139] 100.0% [152] 1064(2.3%) 182(0.4%) fallback-loop (unknown source) for-loop [157] 82.9% ----------------------------------------------------------------------------------------- sample-multi-bounded [143] 100.0% [153] 572(1.2%) 164(0.3%) random-ranges ...-testversion/src/common.rkt:171:0 cons/c [166] 42.0% build--> [168] 29.4% ----------------------------------------------------------------------------------------- mk-ival [145] 100.0% [154] 476(1.0%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:615:2 new-mpfr [182] 100.0% ----------------------------------------------------------------------------------------- sample-multi-bounded [143] 100.0% [155] 320(0.7%) 320(0.7%) for-loop ...ggmath-testversion/src/points.rkt:23:4 ----------------------------------------------------------------------------------------- resolve+shift28 [139] 100.0% [156] 184(0.4%) 184(0.4%) apply-syntax-shifts (unknown source) ----------------------------------------------------------------------------------------- fallback-loop [152] 2.7% compile-forms33 [117] 4.9% *rules* [10] 6.2% for-loop [157] 6.9% finish-bodys [120] 79.4% [157] 7756(16.5%) 1968(4.2%) for-loop (unknown source) finish-bodys [120] 64.5% for-loop [157] 6.9% compile-module-linklet57 [173] 4.9% ormap [179] 3.1% dispatch-transformer41 [119] 2.4% loop [130] 2.4% syntax-e [4] 1.5% expand-implicit [9] 0.8% expand-identifier [11] 0.2% ----------------------------------------------------------------------------------------- ??? [150] 100.0% [158] 6568(14.0%) 4608(9.8%) ival-cos ...-testversion/src/biginterval.rkt:288:0 bfcos [171] 7.6% bfmul [169] 7.5% bfeven? [175] 5.3% bffloor [176] 4.7% pi.bf [177] 4.7% ----------------------------------------------------------------------------------------- map [151] 36.8% simplify [132] 63.2% [159] 3116(6.6%) 0(0.0%) parse-loop80 (unknown source) eval-const-expr [181] 88.2% f67 [170] 5.9% ??? [180] 5.9% ----------------------------------------------------------------------------------------- map [151] 18.6% loop [160] 81.4% [160] 1662(3.5%) 150(0.3%) loop ...-7.5/collects/racket/private/map.rkt:40:19 loop [160] 81.4% ??? [2] 17.6% ----------------------------------------------------------------------------------------- map [151] 2.7% taylor [161] 27.8% hash-ref! [34] 33.6% for-loop [21] 35.9% [161] 1466(3.1%) 0(0.0%) taylor ...th-testversion/src/core/taylor.rkt:170:0 taylor [161] 27.8% loop [130] 26.7% loop [172] 26.5% taylor-quotient [22] 13.6% map [151] 2.7% taylor-invert [13] 2.7% ----------------------------------------------------------------------------------------- ??? [150] 100.0% [162] 682(1.5%) 496(1.1%) ival-div ...-testversion/src/biginterval.rkt:155:0 bfmul [169] 27.3% ----------------------------------------------------------------------------------------- map [151] 1.2% loop [80] 48.4% loop [163] 50.4% [163] 426(0.9%) 426(0.9%) loop ...7.5/collects/racket/private/list.rkt:82:16 loop [163] 50.4% ----------------------------------------------------------------------------------------- simplify [132] 47.4% map [151] 52.6% [164] 422(0.9%) 222(0.5%) simplify* ...-testversion/src/core/reduce.rkt:31:0 return/no-unsupplied [188] 47.4% ----------------------------------------------------------------------------------------- ??? [150] 100.0% [165] 350(0.7%) 166(0.4%) ival-add ...-testversion/src/biginterval.rkt:101:0 bfmul [169] 52.6% ----------------------------------------------------------------------------------------- random-ranges [153] 100.0% [166] 240(0.5%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:500:15 coerce-contract [178] 100.0% ----------------------------------------------------------------------------------------- ??? [150] 16.7% f215 [167] 83.3% [167] 200(0.4%) 0(0.0%) f215 (unknown source) f215 [167] 83.3% do-curry [174] 16.7% ----------------------------------------------------------------------------------------- random-ranges [153] 100.0% [168] 168(0.4%) 168(0.4%) build--> ...act/private/arrow-val-first.rkt:1214:0 ----------------------------------------------------------------------------------------- ival-add [165] 9.3% ival-div [162] 9.4% ival-cos [158] 24.8% ival-mult [141] 56.5% [169] 1988(4.2%) 0(0.0%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:835:4 new-mpfr [182] 58.0% ??? [183] 42.0% ----------------------------------------------------------------------------------------- parse-loop80 [159] 20.9% map [151] 21.8% simplify [132] 57.4% [170] 882(1.9%) 0(0.0%) f67 (unknown source) eval-const-expr [181] 100.0% ----------------------------------------------------------------------------------------- ival-cos [158] 100.0% [171] 502(1.1%) 154(0.3%) bfcos ...-lib/math/private/bigfloat/mpfr.rkt:632:4 new-mpfr [182] 69.3% ----------------------------------------------------------------------------------------- taylor [161] 100.0% [172] 388(0.8%) 0(0.0%) loop ...math-testversion/src/core/taylor.rkt:268:2 hash-ref! [34] 100.0% ----------------------------------------------------------------------------------------- for-loop [157] 100.0% [173] 380(0.8%) 380(0.8%) compile-module-linklet57 (unknown source) ----------------------------------------------------------------------------------------- loop [43] 45.7% f215 [167] 54.3% [174] 368(0.8%) 368(0.8%) do-curry ...-7.5/collects/racket/function.rkt:71:2 ----------------------------------------------------------------------------------------- ival-cos [158] 100.0% [175] 348(0.7%) 0(0.0%) bfeven? ...ib/math/private/bigfloat/mpfr.rkt:814:0 new-mpz [187] 51.7% ??? [183] 48.3% ----------------------------------------------------------------------------------------- ival-cos [158] 100.0% [176] 310(0.7%) 0(0.0%) bffloor ...ib/math/private/bigfloat/mpfr.rkt:730:4 new-mpfr [182] 100.0% ----------------------------------------------------------------------------------------- ival-cos [158] 100.0% [177] 306(0.7%) 0(0.0%) pi.bf ...lib/math/private/bigfloat/mpfr.rkt:1012:4 new-mpfr [182] 51.0% ??? [183] 49.0% ----------------------------------------------------------------------------------------- cons/c [166] 100.0% [178] 240(0.5%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:307:0 coerce-contract/f [184] 100.0% ----------------------------------------------------------------------------------------- for-loop [157] 100.0% [179] 240(0.5%) 0(0.0%) ormap ....5/collects/racket/private/map.rkt:141:13 flag-set? [185] 100.0% ----------------------------------------------------------------------------------------- parse-loop80 [159] 100.0% [180] 184(0.4%) 0(0.0%) ??? ...ggmath-testversion/src/core/reduce.rkt:59:5 for-loop [186] 100.0% ----------------------------------------------------------------------------------------- f67 [170] 24.3% parse-loop80 [159] 75.7% [181] 3630(7.7%) 184(0.4%) eval-const-expr ...tversion/src/programs.rkt:118:0 temp85_0 [105] 78.8% loop [130] 10.6% eval [191] 5.5% ----------------------------------------------------------------------------------------- pi.bf [177] 6.4% bffloor [176] 12.7% bfcos [171] 14.2% bf [154] 19.5% bfmul [169] 47.2% [182] 2444(5.2%) 2444(5.2%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 ----------------------------------------------------------------------------------------- pi.bf [177] 13.0% bfeven? [175] 14.6% bfmul [169] 72.4% [183] 1152(2.5%) 1152(2.5%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 ----------------------------------------------------------------------------------------- coerce-contract [178] 100.0% [184] 240(0.5%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:372:0 coerce-simple-value [190] 100.0% ----------------------------------------------------------------------------------------- ormap [179] 100.0% [185] 240(0.5%) 0(0.0%) flag-set? ...gmath-testversion/src/config.rkt:28:0 return/no-unsupplied [188] 100.0% ----------------------------------------------------------------------------------------- ??? [180] 100.0% [186] 184(0.4%) 0(0.0%) for-loop ...h-testversion/src/core/reduce.rkt:60:7 pattern-match [189] 100.0% ----------------------------------------------------------------------------------------- bfeven? [175] 100.0% [187] 180(0.4%) 180(0.4%) new-mpz ...-lib/math/private/bigfloat/gmp.rkt:73:0 ----------------------------------------------------------------------------------------- simplify* [164] 8.7% flag-set? [185] 10.4% *bit-width* [35] 13.0% ??? [109] 67.9% [188] 2302(4.9%) 1544(3.3%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 filter [192] 32.9% ----------------------------------------------------------------------------------------- pattern-match [189] 21.3% for-loop [186] 21.3% fix-up-variables [101] 57.4% [189] 432(0.9%) 0(0.0%) pattern-match ...version/src/core/matcher.rkt:30:0 for-loop [193] 78.7% pattern-match [189] 21.3% ----------------------------------------------------------------------------------------- coerce-contract/f [184] 100.0% [190] 240(0.5%) 240(0.5%) coerce-simple-value ...ract/private/guts.rkt:385:0 ----------------------------------------------------------------------------------------- eval-const-expr [181] 100.0% [191] 200(0.4%) 0(0.0%) eval (unknown source) datum->syntax6 [194] 100.0% ----------------------------------------------------------------------------------------- return/no-unsupplied [188] 100.0% [192] 758(1.6%) 758(1.6%) filter ...5/collects/racket/private/list.rkt:256:2 ----------------------------------------------------------------------------------------- for-loop [107] 32.5% pattern-match [189] 67.5% [193] 640(1.4%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:27:9 fallback-update [195] 67.5% core457 [196] 32.5% ----------------------------------------------------------------------------------------- eval [191] 47.2% expand-implicit [9] 52.8% [194] 424(0.9%) 0(0.0%) datum->syntax6 (unknown source) loop [130] 100.0% ----------------------------------------------------------------------------------------- for-loop [193] 100.0% [195] 432(0.9%) 432(0.9%) fallback-update ...s/racket/private/dict.rkt:115:2 ----------------------------------------------------------------------------------------- for-loop [193] 100.0% [196] 208(0.4%) 0(0.0%) core457 ...acket/contract/private/arr-i.rkt:976:19 successfully-got-the-right-kind-of-function [197]100.0% ----------------------------------------------------------------------------------------- core457 [196] 100.0% [197] 208(0.4%) 0(0.0%) successfully-got-the-right-kind-of-function ...5:4 arity-checking-wrapper [198] 100.0% ----------------------------------------------------------------------------------------- successfully-got-the-right-kind-of-function [197]100.0% [198] 208(0.4%) 0(0.0%) arity-checking-wrapper ...w-higher-order.rkt:443:0 matches-arity-exactly? [199] 100.0% ----------------------------------------------------------------------------------------- arity-checking-wrapper [198] 100.0% [199] 208(0.4%) 208(0.4%) matches-arity-exactly? ...te/arrow-common.rkt:70:0 -----------------------------------------------------------------------------------------