Profiling results ----------------- Total cpu time observed: 79064ms (out of 79712ms) Number of samples taken: 308 (once every 257ms) (Hiding functions with self<1.0% and local<2.0%: 4 of 204 hidden) ========================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================== ??? [24] 100.0% [1] 79064(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [15] 100.0% -------------------------------------------------------------------------- ??? [129] 100.0% [2] 6654(8.4%) 0(0.0%) approximate9 ...stversion/src/core/taylor.rkt:12:0 loop [16] 74.0% for-loop [21] 18.5% taylor [25] 7.5% -------------------------------------------------------------------------- map [91] 3.7% loop [125] 96.3% [3] 5452(6.9%) 638(0.8%) ??? ...e/eggmath-testversion/src/points.rkt:190:26 ??? [116] 75.4% ??? [129] 6.9% ulp-difference [30] 3.0% ordinary-value? [54] 3.0% -------------------------------------------------------------------------- hash-ref! [42] 100.0% [4] 4760(6.0%) 0(0.0%) ??? ...gmath-testversion/src/core/taylor.rkt:45:15 hash-ref! [42] 62.4% ??? [38] 37.6% -------------------------------------------------------------------------- matcher [103] 100.0% [5] 2770(3.5%) 0(0.0%) ??? ...ath-testversion/src/core/matcher.rkt:130:11 for-loop [18] 100.0% -------------------------------------------------------------------------- loop [174] 22.2% for-loop [191] 77.8% [6] 2340(3.0%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [17] 100.0% -------------------------------------------------------------------------- hash-ref! [42] 100.0% [7] 2064(2.6%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:301:23 for-loop [19] 100.0% -------------------------------------------------------------------------- hash-ref! [42] 100.0% [8] 1718(2.2%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:291:26 for-loop [20] 100.0% -------------------------------------------------------------------------- for-loop [191] 100.0% [9] 610(0.8%) 222(0.3%) expand-implicit (unknown source) resolve+shift28 [185] 63.6% -------------------------------------------------------------------------- copying-mergesort [96] 100.0% [10] 600(0.8%) 0(0.0%) jloop ...2/collects/racket/private/sort.rkt:120:23 ??? [116] 73.0% ??? [129] 27.0% -------------------------------------------------------------------------- for-loop [191] 100.0% [11] 394(0.5%) 0(0.0%) expand-identifier (unknown source) resolve+shift28 [185] 100.0% -------------------------------------------------------------------------- taylor [25] 100.0% [12] 342(0.4%) 0(0.0%) taylor-invert ...version/src/core/taylor.rkt:318:0 simplify [47] 52.6% first-nonzero-exp [23] 47.4% -------------------------------------------------------------------------- loop [125] 100.0% [13] 232(0.3%) 0(0.0%) all-critical-subexpressions ...re/regimes.rkt:76:0 for-loop [22] 100.0% -------------------------------------------------------------------------- taylor [25] 100.0% [14] 202(0.3%) 0(0.0%) taylor-quotient ...rsion/src/core/taylor.rkt:334:0 simplify [47] 100.0% -------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [15] 79064(100.0%) 0(0.0%) run ...et-7.2/share/pkgs/profile-lib/main.rkt:39:2 ??? [24] 100.0% -------------------------------------------------------------------------- approximate9 [2] 100.0% [16] 4924(6.2%) 0(0.0%) loop ...gmath-testversion/src/core/taylor.rkt:87:4 hash-ref! [42] 100.0% -------------------------------------------------------------------------- expand-id-application-form17 [181] 20.9% syntax-e [6] 79.1% [17] 2958(3.7%) 0(0.0%) syntax-e/no-taint (unknown source) loop [174] 100.0% -------------------------------------------------------------------------- ??? [5] 100.0% [18] 2770(3.5%) 0(0.0%) for-loop ...estversion/src/core/matcher.rkt:132:15 matcher [103] 100.0% -------------------------------------------------------------------------- ??? [7] 100.0% [19] 2064(2.6%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:304:27 hash-ref! [42] 100.0% -------------------------------------------------------------------------- ??? [8] 100.0% [20] 1718(2.2%) 0(0.0%) for-loop ...testversion/src/core/taylor.rkt:291:52 hash-ref! [42] 100.0% -------------------------------------------------------------------------- approximate9 [2] 100.0% [21] 1228(1.6%) 0(0.0%) for-loop ...-testversion/src/core/taylor.rkt:30:18 taylor [25] 100.0% -------------------------------------------------------------------------- all-critical-subexpressions [13] 100.0% [22] 232(0.3%) 0(0.0%) for-loop ...-testversion/src/core/regimes.rkt:83:2 ??? [130] 100.0% -------------------------------------------------------------------------- taylor-invert [12] 100.0% [23] 162(0.2%) 0(0.0%) first-nonzero-exp ...ion/src/core/taylor.rkt:266:0 hash-ref! [42] 100.0% -------------------------------------------------------------------------- for-loop [110] 2.7% run [15] 48.7% [24] 79064(100.0%) 594(0.8%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 48.7% run-improve47 [26] 16.6% prepare-points-intervals [34] 16.1% get-final-combination [27] 10.1% oracle-error [28] 4.5% ??? [116] 2.1% errors [102] 0.5% loop [125] 0.4% eval-errors [106] 0.3% ??? [129] 0.2% baseline-error [32] 0.1% ulp-difference [30] 0.1% -------------------------------------------------------------------------- hash-ref! [42] 8.7% approximate9 [2] 13.3% for-loop [21] 23.7% taylor [25] 54.4% [25] 1894(2.4%) 0(0.0%) taylor ...th-testversion/src/core/taylor.rkt:170:0 taylor [25] 54.4% taylor-sqrt [29] 16.6% loop [31] 10.6% loop [125] 8.7% taylor-invert [12] 4.9% taylor-quotient [14] 2.7% map [91] 2.2% -------------------------------------------------------------------------- ??? [24] 100.0% [26] 26978(34.1%) 0(0.0%) run-improve47 ...estversion/src/mainloop.rkt:345:0 for-loop [33] 97.2% prepare-points-intervals [34] 1.7% simplify! [45] 1.1% -------------------------------------------------------------------------- ??? [24] 100.0% [27] 17190(21.7%) 0(0.0%) get-final-combination ...on/src/mainloop.rkt:370:0 infer-splitpoints [35] 86.3% ??? [37] 13.7% -------------------------------------------------------------------------- ??? [24] 100.0% [28] 7132(9.0%) 0(0.0%) oracle-error ...h-testversion/src/points.rkt:188:0 for-loop [36] 100.0% -------------------------------------------------------------------------- taylor [25] 100.0% [29] 690(0.9%) 0(0.0%) taylor-sqrt ...stversion/src/core/taylor.rkt:352:0 simplify [47] 100.0% -------------------------------------------------------------------------- ??? [3] 43.2% ??? [24] 56.8% [30] 380(0.5%) 380(0.5%) ulp-difference ...h-testversion/src/float.rkt:20:0 -------------------------------------------------------------------------- taylor [25] 100.0% [31] 330(0.4%) 0(0.0%) loop ...math-testversion/src/core/taylor.rkt:268:2 hash-ref! [42] 52.1% ??? [38] 47.9% -------------------------------------------------------------------------- ??? [24] 100.0% [32] 218(0.3%) 0(0.0%) baseline-error ...testversion/src/points.rkt:192:0 loop [85] 100.0% -------------------------------------------------------------------------- run-improve47 [26] 100.0% [33] 26222(33.2%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:364:4 run-iter! [39] 100.0% -------------------------------------------------------------------------- run-improve47 [26] 1.7% ??? [24] 98.3% [34] 25928(32.8%) 0(0.0%) prepare-points-intervals ...n/src/points.rkt:110:0 loop [40] 100.0% -------------------------------------------------------------------------- get-final-combination [27] 100.0% [35] 14828(18.8%) 0(0.0%) infer-splitpoints ...ion/src/core/regimes.rkt:34:0 for-loop [41] 98.4% -------------------------------------------------------------------------- oracle-error [28] 100.0% [36] 7132(9.0%) 246(0.3%) for-loop ...gmath-testversion/src/points.rkt:189:2 loop [125] 63.4% map [91] 29.9% ??? [119] 3.2% -------------------------------------------------------------------------- get-final-combination [27] 100.0% [37] 2362(3.0%) 0(0.0%) ??? ...math-testversion/src/core/simplify.rkt:25:0 egraph-run [56] 100.0% -------------------------------------------------------------------------- loop [31] 8.1% ??? [4] 91.9% [38] 1950(2.5%) 0(0.0%) ??? ...math-testversion/src/core/taylor.rkt:294:19 hash-ref! [42] 100.0% -------------------------------------------------------------------------- for-loop [33] 100.0% [39] 26222(33.2%) 0(0.0%) run-iter! ...th-testversion/src/mainloop.rkt:326:0 simplify! [45] 31.0% gen-series! [46] 28.3% finalize-iter! [48] 20.3% gen-rewrites! [51] 10.6% choose-best-alt! [52] 6.7% localize! [53] 3.2% -------------------------------------------------------------------------- prepare-points-intervals [34] 100.0% [40] 25928(32.8%) 226(0.3%) loop ...e/eggmath-testversion/src/points.rkt:123:4 loop [43] 78.5% ??? [49] 19.4% ordinary-value? [54] 0.6% -------------------------------------------------------------------------- infer-splitpoints [35] 100.0% [41] 14596(18.5%) 0(0.0%) for-loop ...-testversion/src/core/regimes.rkt:47:6 option-on-expr [44] 98.9% filter [160] 1.1% -------------------------------------------------------------------------- eval-prog [109] 0.5% loop [31] 1.3% first-nonzero-exp [23] 2.5% loop [125] 2.7% for-loop [20] 4.1% localize-error [65] 4.3% map [91] 8.6% ??? [4] 8.6% ??? [38] 9.4% for-loop [19] 10.9% ??? [50] 13.4% ??? [129] 16.9% loop [16] 16.9% [42] 6456(8.2%) 206(0.3%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [50] 30.2% simplify [47] 21.9% ??? [4] 15.6% parse-loop30 [61] 12.0% ??? [7] 10.9% ??? [8] 4.1% ??? [55] 2.7% taylor [25] 1.3% -------------------------------------------------------------------------- loop [40] 100.0% [43] 20352(25.7%) 268(0.3%) loop ...ie/eggmath-testversion/src/points.rkt:81:2 ??? [116] 97.8% ??? [59] 0.9% -------------------------------------------------------------------------- for-loop [41] 100.0% [44] 14432(18.3%) 0(0.0%) option-on-expr ...rsion/src/core/regimes.rkt:126:0 for-loop [57] 60.7% err-lsts->split-indices [60] 31.4% sort-context-on-expr [66] 4.2% ??? [129] 1.4% loop [125] 1.2% debug-print [67] 1.1% -------------------------------------------------------------------------- run-improve47 [26] 3.7% run-iter! [39] 96.3% [45] 8430(10.7%) 0(0.0%) simplify! ...th-testversion/src/mainloop.rkt:223:0 egraph-run [56] 100.0% -------------------------------------------------------------------------- run-iter! [39] 100.0% [46] 7420(9.4%) 0(0.0%) gen-series! ...-testversion/src/mainloop.rkt:159:0 for-loop [58] 100.0% -------------------------------------------------------------------------- loop [125] 2.2% map [91] 2.2% taylor-invert [12] 2.4% taylor-quotient [14] 2.7% taylor-sqrt [29] 9.3% ??? [129] 10.3% hash-ref! [42] 70.8% [47] 7420(9.4%) 920(1.2%) simplify ...h-testversion/src/core/reduce.rkt:16:0 parse-loop30 [61] 32.7% f46 [63] 26.0% simplify* [64] 21.8% make-multiplication-node [108] 2.7% ??? [68] 2.2% debug-print [67] 2.1% -------------------------------------------------------------------------- run-iter! [39] 100.0% [48] 5312(6.7%) 0(0.0%) finalize-iter! ...stversion/src/mainloop.rkt:277:0 ??? [59] 100.0% -------------------------------------------------------------------------- loop [40] 100.0% [49] 5018(6.3%) 182(0.2%) ??? ...ie/eggmath-testversion/src/points.rkt:106:2 loop [125] 46.4% ??? [129] 45.6% ??? [130] 4.3% -------------------------------------------------------------------------- hash-ref! [42] 100.0% [50] 4924(6.2%) 0(0.0%) ??? ...gmath-testversion/src/core/taylor.rkt:68:15 ??? [129] 65.0% hash-ref! [42] 35.0% -------------------------------------------------------------------------- run-iter! [39] 100.0% [51] 2770(3.5%) 0(0.0%) gen-rewrites! ...estversion/src/mainloop.rkt:182:0 for-loop [62] 100.0% -------------------------------------------------------------------------- run-iter! [39] 100.0% [52] 1764(2.2%) 0(0.0%) choose-best-alt! ...version/src/mainloop.rkt:116:0 ??? [59] 100.0% -------------------------------------------------------------------------- run-iter! [39] 100.0% [53] 834(1.1%) 0(0.0%) localize! ...th-testversion/src/mainloop.rkt:126:0 localize-error [65] 100.0% -------------------------------------------------------------------------- ??? [3] 49.1% loop [40] 50.9% [54] 330(0.4%) 162(0.2%) ordinary-value? ...-testversion/src/float.rkt:52:0 list-member? [149] 50.9% -------------------------------------------------------------------------- hash-ref! [42] 100.0% [55] 206(0.3%) 0(0.0%) ??? .../eggmath-testversion/src/programs.rkt:161:5 loop [125] 100.0% -------------------------------------------------------------------------- ??? [37] 21.9% simplify! [45] 78.1% [56] 10792(13.6%) 0(0.0%) egraph-run ...estversion/src/core/eggmath.rkt:54:0 egraph-add-exprs [69] 100.0% -------------------------------------------------------------------------- option-on-expr [44] 100.0% [57] 8764(11.1%) 0(0.0%) for-loop ...testversion/src/core/regimes.rkt:136:4 errors [102] 100.0% -------------------------------------------------------------------------- gen-series! [46] 100.0% [58] 7420(9.4%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:166:7 taylor-alt [70] 100.0% -------------------------------------------------------------------------- loop [43] 2.5% choose-best-alt! [52] 24.3% finalize-iter! [48] 73.2% [59] 7256(9.2%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:390:18 for-loop [71] 73.2% ??? [75] 24.3% ??? [150] 2.5% -------------------------------------------------------------------------- option-on-expr [44] 100.0% [60] 4530(5.7%) 0(0.0%) err-lsts->split-indices .../core/regimes.rkt:262:0 loop [72] 100.0% -------------------------------------------------------------------------- parse-loop30 [61] 5.7% map [91] 18.4% hash-ref! [42] 21.3% simplify [47] 54.6% [61] 3920(5.0%) 0(0.0%) parse-loop30 ...s/racket/match/compiler.rkt:418:15 eval-const-expr [73] 71.4% map [91] 22.8% parse-loop30 [61] 5.7% -------------------------------------------------------------------------- gen-rewrites! [51] 100.0% [62] 2770(3.5%) 0(0.0%) for-loop ...th-testversion/src/mainloop.rkt:190:11 rewrite-expression-head20 [74] 100.0% -------------------------------------------------------------------------- ??? [130] 2.1% f46 [63] 8.6% map [91] 21.7% simplify [47] 67.6% [63] 2164(2.7%) 398(0.5%) f46 ...2/collects/racket/match/compiler.rkt:507:40 map [91] 73.9% f46 [63] 8.6% eval-const-expr [73] 7.7% -------------------------------------------------------------------------- simplify [47] 100.0% [64] 1618(2.0%) 1618(2.0%) simplify* ...-testversion/src/core/reduce.rkt:31:0 -------------------------------------------------------------------------- localize! [53] 100.0% [65] 834(1.1%) 0(0.0%) localize-error ...rsion/src/core/localize.rkt:66:0 hash-ref! [42] 100.0% -------------------------------------------------------------------------- option-on-expr [44] 100.0% [66] 600(0.8%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:119:0 ??? [76] 100.0% -------------------------------------------------------------------------- simplify [47] 49.4% option-on-expr [44] 50.6% [67] 320(0.4%) 0(0.0%) debug-print ...ath-testversion/src/debug.rkt:110:0 for-loop [77] 100.0% -------------------------------------------------------------------------- simplify [47] 100.0% [68] 164(0.2%) 0(0.0%) ??? ...ggmath-testversion/src/core/reduce.rkt:59:5 for-loop [78] 100.0% -------------------------------------------------------------------------- egraph-run [56] 100.0% [69] 10792(13.6%) 0(0.0%) egraph-add-exprs ...ion/src/core/eggmath.rkt:118:0 ??? [79] 75.9% for-loop [84] 24.1% -------------------------------------------------------------------------- for-loop [58] 100.0% [70] 7420(9.4%) 0(0.0%) taylor-alt ...h-testversion/src/mainloop.rkt:145:0 for-loop [80] 100.0% -------------------------------------------------------------------------- ??? [59] 100.0% [71] 5312(6.7%) 0(0.0%) for-loop ...estversion/src/core/alt-table.rkt:55:2 atab-add-altn [83] 51.5% errors [102] 29.2% loop [87] 7.5% for-loop [97] 4.2% map [91] 3.8% loop [89] 3.8% -------------------------------------------------------------------------- err-lsts->split-indices [60] 100.0% [72] 4530(5.7%) 0(0.0%) loop ...ath-testversion/src/core/regimes.rkt:313:4 for-loop [81] 100.0% -------------------------------------------------------------------------- f46 [63] 5.1% parse-loop30 [61] 94.9% [73] 3252(4.1%) 0(0.0%) eval-const-expr ...tversion/src/programs.rkt:118:0 temp85_0 [117] 68.4% loop [174] 20.8% ??? [124] 5.8% eval [90] 5.0% -------------------------------------------------------------------------- for-loop [62] 100.0% [74] 2770(3.5%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:87:0 rewriter [82] 100.0% -------------------------------------------------------------------------- ??? [59] 100.0% [75] 1764(2.2%) 0(0.0%) ??? ...ath-testversion/src/core/alt-table.rkt:58:0 loop [85] 86.8% argmin [88] 13.2% -------------------------------------------------------------------------- sort-context-on-expr [66] 100.0% [76] 600(0.8%) 0(0.0%) ??? ...-7.2/collects/racket/private/sort.rkt:369:3 generic-sort/key [86] 100.0% -------------------------------------------------------------------------- debug-print [67] 100.0% [77] 320(0.4%) 320(0.4%) for-loop ...ggmath-testversion/src/debug.rkt:116:2 -------------------------------------------------------------------------- ??? [68] 100.0% [78] 164(0.2%) 0(0.0%) for-loop ...h-testversion/src/core/reduce.rkt:60:7 pattern-match [121] 100.0% -------------------------------------------------------------------------- egraph-add-exprs [69] 100.0% [79] 8188(10.4%) 8188(10.4%) ??? ...math-testversion/src/core/simplify.rkt:48:6 -------------------------------------------------------------------------- taylor-alt [70] 100.0% [80] 7420(9.4%) 0(0.0%) for-loop ...ath-testversion/src/mainloop.rkt:151:6 ??? [129] 100.0% -------------------------------------------------------------------------- loop [72] 100.0% [81] 4530(5.7%) 2762(3.5%) for-loop ...testversion/src/core/regimes.rkt:278:4 for-loop [94] 39.0% -------------------------------------------------------------------------- rewrite-expression-head20 [74] 32.4% matcher [103] 67.6% [82] 2770(3.5%) 522(0.7%) rewriter ...-testversion/src/core/matcher.rkt:90:2 for-loop [92] 71.9% *rules* [93] 23.6% -------------------------------------------------------------------------- for-loop [71] 100.0% [83] 2736(3.5%) 0(0.0%) atab-add-altn ...sion/src/core/alt-table.rkt:203:0 errors [102] 86.2% paired-fold [100] 7.2% for-loop [97] 6.6% -------------------------------------------------------------------------- egraph-add-exprs [69] 100.0% [84] 2604(3.3%) 2604(3.3%) for-loop ...testversion/src/core/eggmath.rkt:124:4 -------------------------------------------------------------------------- baseline-error [32] 12.5% ??? [75] 87.5% [85] 1750(2.2%) 0(0.0%) loop .../racket-7.2/collects/racket/list.rkt:751:4 ??? [95] 73.5% errors-score [98] 14.1% ??? [99] 12.5% -------------------------------------------------------------------------- ??? [76] 100.0% [86] 600(0.8%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [96] 100.0% -------------------------------------------------------------------------- for-loop [71] 100.0% [87] 398(0.5%) 0(0.0%) loop ...h-testversion/src/core/alt-table.rkt:177:2 map [91] 100.0% -------------------------------------------------------------------------- ??? [75] 100.0% [88] 232(0.3%) 0(0.0%) argmin ...acket-7.2/collects/racket/list.rkt:765:0 ??? [95] 100.0% -------------------------------------------------------------------------- for-loop [71] 100.0% [89] 202(0.3%) 202(0.3%) loop ...-7.2/collects/racket/private/hash.rkt:20:4 -------------------------------------------------------------------------- eval-const-expr [73] 100.0% [90] 164(0.2%) 0(0.0%) eval (unknown source) namespace-syntax-introduce3 [101] 100.0% -------------------------------------------------------------------------- taylor [25] 3.0% for-loop [71] 3.7% gather-multiplicative-terms [111] 4.6% loop [87] 7.2% parse-loop30 [61] 18.4% f46 [63] 24.4% for-loop [36] 38.7% [91] 5520(7.0%) 0(0.0%) map ...t-7.2/collects/racket/private/map.rkt:35:13 loop [125] 42.6% parse-loop30 [61] 15.3% hash-ref! [42] 11.1% f46 [63] 6.2% simplify-node [105] 4.6% gather-multiplicative-terms [111] 4.6% ??? [134] 3.7% loop [148] 3.7% ??? [3] 3.6% simplify [47] 3.0% make-multiplication-node [108] 1.6% -------------------------------------------------------------------------- rewriter [82] 100.0% [92] 2770(3.5%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:92:4 matcher [103] 95.6% for-loop [107] 4.4% -------------------------------------------------------------------------- rewriter [82] 100.0% [93] 1822(2.3%) 252(0.3%) *rules* ...-testversion/src/syntax/rules.rkt:669:0 for-loop [104] 86.2% -------------------------------------------------------------------------- for-loop [81] 100.0% [94] 1768(2.2%) 1184(1.5%) for-loop ...testversion/src/core/regimes.rkt:282:8 ??? [133] 33.0% -------------------------------------------------------------------------- argmin [88] 15.3% loop [85] 84.7% [95] 1518(1.9%) 0(0.0%) ??? ...eggmath-testversion/src/mainloop.rkt:113:10 errors [102] 100.0% -------------------------------------------------------------------------- generic-sort/key [86] 25.0% copying-mergesort [96] 75.0% [96] 600(0.8%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [96] 75.0% jloop [10] 25.0% -------------------------------------------------------------------------- atab-add-altn [83] 44.6% for-loop [71] 55.4% [97] 404(0.5%) 180(0.2%) for-loop ...stversion/src/core/alt-table.rkt:119:2 ??? [119] 55.4% -------------------------------------------------------------------------- loop [85] 100.0% [98] 246(0.3%) 0(0.0%) errors-score ...h-testversion/src/points.rkt:196:0 loop [125] 100.0% -------------------------------------------------------------------------- loop [85] 100.0% [99] 218(0.3%) 0(0.0%) ??? ...e/eggmath-testversion/src/points.rkt:193:27 eval-errors [106] 100.0% -------------------------------------------------------------------------- atab-add-altn [83] 100.0% [100] 198(0.3%) 198(0.3%) paired-fold ...llects/racket/private/hash.rkt:19:2 -------------------------------------------------------------------------- eval [90] 100.0% [101] 164(0.2%) 164(0.2%) namespace-syntax-introduce3 (unknown source) -------------------------------------------------------------------------- ??? [24] 6.6% ??? [95] 10.0% for-loop [71] 10.2% atab-add-altn [83] 15.5% for-loop [57] 57.7% [102] 15198(19.2%) 0(0.0%) errors ...eggmath-testversion/src/points.rkt:205:0 for-loop [110] 51.7% eval-prog [109] 48.3% -------------------------------------------------------------------------- for-loop [18] 50.0% for-loop [92] 50.0% [103] 2770(3.5%) 0(0.0%) matcher ...-testversion/src/core/matcher.rkt:118:2 ??? [5] 50.0% rewriter [82] 50.0% -------------------------------------------------------------------------- *rules* [93] 100.0% [104] 1570(2.0%) 500(0.6%) for-loop ...ggmath-testversion/src/common.rkt:74:9 ormap [112] 47.1% do-curry [127] 21.0% -------------------------------------------------------------------------- map [91] 100.0% [105] 766(1.0%) 0(0.0%) simplify-node ...tversion/src/core/reduce.rkt:48:0 gather-multiplicative-terms [111] 100.0% -------------------------------------------------------------------------- ??? [99] 31.3% ??? [24] 68.7% [106] 696(0.9%) 0(0.0%) eval-errors ...th-testversion/src/points.rkt:179:0 for-loop [113] 100.0% -------------------------------------------------------------------------- for-loop [92] 100.0% [107] 426(0.5%) 0(0.0%) for-loop ...-testversion/src/core/matcher.rkt:99:8 fix-up-variables [114] 100.0% -------------------------------------------------------------------------- map [91] 46.3% simplify [47] 53.7% [108] 376(0.5%) 0(0.0%) make-multiplication-node .../core/reduce.rkt:234:0 make-multiplication-subnode [115] 100.0% -------------------------------------------------------------------------- loop [125] 7.3% errors [102] 92.7% [109] 7926(10.0%) 0(0.0%) eval-prog ...ath-testversion/src/programs.rkt:83:0 temp85_0 [117] 87.1% loop [174] 5.2% inductor [120] 5.0% hash-ref! [42] 2.6% -------------------------------------------------------------------------- errors [102] 100.0% [110] 7852(9.9%) 1286(1.6%) for-loop ...gmath-testversion/src/points.rkt:207:2 ??? [24] 81.4% ??? [119] 2.3% -------------------------------------------------------------------------- map [91] 50.0% simplify-node [105] 50.0% [111] 766(1.0%) 766(1.0%) gather-multiplicative-terms ...re/reduce.rkt:112:0 map [91] 50.0% -------------------------------------------------------------------------- for-loop [104] 100.0% [112] 740(0.9%) 0(0.0%) ormap ....2/collects/racket/private/map.rkt:141:13 flag-set? [118] 100.0% -------------------------------------------------------------------------- eval-errors [106] 100.0% [113] 696(0.9%) 0(0.0%) for-loop ...gmath-testversion/src/points.rkt:181:2 ??? [116] 100.0% -------------------------------------------------------------------------- for-loop [107] 100.0% [114] 426(0.5%) 0(0.0%) fix-up-variables ...ion/src/core/matcher.rkt:111:2 pattern-substitute [122] 60.1% pattern-match [121] 39.9% -------------------------------------------------------------------------- make-multiplication-node [108] 100.0% [115] 376(0.5%) 174(0.2%) make-multiplication-subnode ...re/reduce.rkt:244:0 group-by61 [123] 53.7% -------------------------------------------------------------------------- jloop [10] 1.4% for-loop [113] 2.2% loop [125] 3.4% ??? [3] 13.2% ??? [24] 16.0% loop [43] 63.8% [116] 31204(39.5%) 1300(1.6%) ??? .../eggmath-testversion/src/programs.rkt:115:2 ??? [124] 71.2% ??? [129] 13.4% loop [125] 11.2% -------------------------------------------------------------------------- eval-const-expr [73] 24.4% eval-prog [109] 75.6% [117] 9130(11.5%) 0(0.0%) temp85_0 (unknown source) compile15 [126] 100.0% -------------------------------------------------------------------------- ormap [112] 100.0% [118] 740(0.9%) 582(0.7%) flag-set? ...gmath-testversion/src/config.rkt:28:0 return/no-unsupplied [145] 21.4% -------------------------------------------------------------------------- for-loop [110] 28.3% for-loop [97] 35.7% for-loop [36] 36.0% [119] 628(0.8%) 628(0.8%) ??? ...7.2/collects/racket/private/for.rkt:1233:14 -------------------------------------------------------------------------- eval-prog [109] 27.4% inductor [120] 72.6% [120] 398(0.5%) 0(0.0%) inductor ...ath-testversion/src/programs.rkt:104:4 inductor [120] 72.6% value? [128] 27.4% -------------------------------------------------------------------------- for-loop [78] 49.1% fix-up-variables [114] 50.9% [121] 334(0.4%) 334(0.4%) pattern-match ...version/src/core/matcher.rkt:30:0 -------------------------------------------------------------------------- fix-up-variables [114] 100.0% [122] 256(0.3%) 0(0.0%) pattern-substitute ...on/src/core/matcher.rkt:46:0 do-curry [127] 100.0% -------------------------------------------------------------------------- make-multiplication-subnode [115] 100.0% [123] 202(0.3%) 202(0.3%) group-by61 ...t-7.2/collects/racket/list.rkt:771:0 -------------------------------------------------------------------------- eval-const-expr [73] 0.8% ??? [116] 99.2% [124] 22408(28.3%) 2078(2.6%) ??? ...t-7.2/collects/racket/private/kw.rkt:594:14 ??? [130] 42.9% ??? [132] 27.8% ??? [129] 20.0% -------------------------------------------------------------------------- option-on-expr [44] 0.1% ??? [24] 0.7% taylor [25] 1.2% ??? [55] 1.6% errors-score [98] 1.9% map [91] 4.4% for-loop [36] 9.3% ??? [116] 15.3% ??? [49] 17.7% loop [125] 47.3% [125] 13132(16.6%) 2246(2.8%) loop ...-7.2/collects/racket/private/map.rkt:40:19 loop [125] 47.3% ??? [129] 22.5% ??? [3] 9.8% ??? [116] 1.7% hash-ref! [42] 1.6% *bit-width* [136] 1.2% simplify [47] 1.2% ??? [133] 1.1% eval-prog [109] 0.7% ??? [135] 0.2% all-critical-subexpressions [13] 0.2% ??? [134] 0.2% -------------------------------------------------------------------------- temp85_0 [117] 100.0% [126] 9130(11.5%) 0(0.0%) compile15 (unknown source) temp91_0 [131] 98.0% loop [174] 2.0% -------------------------------------------------------------------------- pattern-substitute [122] 43.7% for-loop [104] 56.3% [127] 586(0.7%) 586(0.7%) do-curry ...-7.2/collects/racket/function.rkt:71:2 -------------------------------------------------------------------------- inductor [120] 100.0% [128] 398(0.5%) 398(0.5%) value? ...th-testversion/src/syntax/types.rkt:18:0 -------------------------------------------------------------------------- jloop [10] 0.7% option-on-expr [44] 0.9% ??? [3] 1.6% ??? [24] 2.5% ??? [50] 7.1% ??? [49] 9.9% location-do [137] 12.4% for-loop [80] 12.4% loop [125] 15.2% ??? [116] 18.0% ??? [124] 19.3% [129] 23238(29.4%) 2946(3.7%) ??? ...tract/private/arrow-higher-order.rkt:360:33 ival-mult [139] 18.4% sample-multi-bounded [140] 18.1% mk-ival [141] 17.2% location-do [137] 12.4% approximate9 [2] 10.8% hash-ref! [42] 7.1% simplify [47] 1.6% bf [153] 0.9% pick-errors [151] 0.9% -------------------------------------------------------------------------- ??? [49] 2.1% for-loop [22] 2.3% ??? [124] 95.6% [130] 10072(12.7%) 1014(1.3%) ??? ...tract/private/arrow-higher-order.rkt:364:33 ival-div [142] 29.9% ival-cos [143] 27.8% ival-sub [144] 23.2% ival-sqrt [146] 6.7% f46 [63] 2.3% -------------------------------------------------------------------------- compile15 [126] 100.0% [131] 8946(11.3%) 0(0.0%) temp91_0 (unknown source) temp118_0 [138] 79.1% loop [174] 13.4% compile-top9 [147] 7.4% -------------------------------------------------------------------------- ??? [124] 100.0% [132] 6226(7.9%) 4838(6.1%) ??? ...th-testversion/src/syntax/syntax.rkt:214:17 return/no-unsupplied [145] 16.4% list-member? [149] 3.2% ??? [150] 2.7% -------------------------------------------------------------------------- for-loop [94] 39.0% loop [125] 61.0% [133] 1496(1.9%) 1496(1.9%) ??? ...cket-7.2/collects/racket/function.rkt:93:12 -------------------------------------------------------------------------- loop [125] 48.7% map [91] 51.3% [134] 398(0.5%) 194(0.2%) ??? ...h-testversion/src/core/alt-table.rkt:194:12 loop [148] 51.3% -------------------------------------------------------------------------- loop [125] 100.0% [135] 370(0.5%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfsub [167] 50.3% bfcos [156] 49.7% -------------------------------------------------------------------------- loop [125] 100.0% [136] 164(0.2%) 0(0.0%) *bit-width* ...math-testversion/src/float.rkt:35:0 return/no-unsupplied [145] 100.0% -------------------------------------------------------------------------- ??? [129] 30.9% location-do [137] 69.1% [137] 7420(9.4%) 0(0.0%) location-do ...h-testversion/src/programs.rkt:64:0 location-do [137] 69.1% ??? [129] 30.9% -------------------------------------------------------------------------- temp91_0 [131] 100.0% [138] 7078(9.0%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [152] 100.0% -------------------------------------------------------------------------- ??? [129] 100.0% [139] 4270(5.4%) 748(0.9%) ival-mult ...testversion/src/biginterval.rkt:111:0 bfsub [167] 69.8% bfmin* [163] 4.5% bfmax* [165] 4.2% bfnext [166] 4.0% -------------------------------------------------------------------------- ??? [129] 100.0% [140] 4210(5.3%) 386(0.5%) sample-multi-bounded ...ersion/src/points.rkt:15:0 random-ranges [154] 74.2% for-loop [159] 10.8% ??? [161] 5.8% -------------------------------------------------------------------------- ??? [129] 100.0% [141] 3986(5.0%) 0(0.0%) mk-ival ...th-testversion/src/biginterval.rkt:57:0 bf [153] 100.0% -------------------------------------------------------------------------- ??? [130] 100.0% [142] 3012(3.8%) 1546(2.0%) ival-div ...-testversion/src/biginterval.rkt:147:0 bfsub [167] 48.7% -------------------------------------------------------------------------- ??? [130] 100.0% [143] 2804(3.5%) 616(0.8%) ival-cos ...-testversion/src/biginterval.rkt:274:0 bffloor [155] 35.2% bfsub [167] 22.9% pi.bf [158] 19.9% -------------------------------------------------------------------------- ??? [130] 100.0% [144] 2340(3.0%) 0(0.0%) ival-sub ...h-testversion/src/biginterval.rkt:99:0 bfsub [167] 100.0% -------------------------------------------------------------------------- flag-set? [118] 11.8% *bit-width* [136] 12.2% ??? [132] 76.0% [145] 1342(1.7%) 1178(1.5%) return/no-unsupplied ...ct/private/arr-i.rkt:542:0 filter [160] 12.2% -------------------------------------------------------------------------- ??? [130] 100.0% [146] 670(0.8%) 0(0.0%) ival-sqrt ...testversion/src/biginterval.rkt:197:0 bfcos [156] 100.0% -------------------------------------------------------------------------- temp91_0 [131] 100.0% [147] 666(0.8%) 0(0.0%) compile-top9 (unknown source) compile-forms33 [157] 100.0% -------------------------------------------------------------------------- ??? [134] 2.6% loop [148] 47.6% map [91] 49.8% [148] 406(0.5%) 406(0.5%) loop ...7.2/collects/racket/private/list.rkt:82:16 loop [148] 47.6% -------------------------------------------------------------------------- ordinary-value? [54] 45.4% ??? [132] 54.6% [149] 370(0.5%) 370(0.5%) list-member? ...llects/racket/private/set.rkt:24:0 -------------------------------------------------------------------------- ??? [132] 48.0% ??? [59] 52.0% [150] 346(0.4%) 166(0.2%) ??? ...ects/racket/contract/private/guts.rkt:772:8 bigvalue? [164] 52.0% -------------------------------------------------------------------------- ??? [129] 100.0% [151] 202(0.3%) 0(0.0%) pick-errors ...tversion/src/core/regimes.rkt:145:0 loop [162] 100.0% -------------------------------------------------------------------------- loop [174] 25.9% temp118_0 [138] 74.1% [152] 9556(12.1%) 166(0.2%) expand-capturing-lifts (unknown source) lambda-clause-expander [168] 74.1% loop [174] 18.8% dispatch-transformer41 [192] 5.4% -------------------------------------------------------------------------- ??? [129] 4.9% mk-ival [141] 95.1% [153] 4190(5.3%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [172] 71.7% ??? [175] 28.3% -------------------------------------------------------------------------- sample-multi-bounded [140] 100.0% [154] 3124(4.0%) 1284(1.6%) random-ranges ...-testversion/src/common.rkt:183:0 cons/c [169] 41.7% build--> [170] 17.2% -------------------------------------------------------------------------- ival-cos [143] 100.0% [155] 988(1.2%) 174(0.2%) bffloor ...ib/math/private/bigfloat/mpfr.rkt:716:4 ??? [175] 60.9% new-mpfr [172] 21.5% -------------------------------------------------------------------------- ??? [135] 21.5% ival-sqrt [146] 78.5% [156] 854(1.1%) 0(0.0%) bfcos ...-lib/math/private/bigfloat/mpfr.rkt:618:4 new-mpfr [172] 56.4% ??? [175] 43.6% -------------------------------------------------------------------------- compile-top9 [147] 100.0% [157] 666(0.8%) 220(0.3%) compile-forms33 (unknown source) for-loop [191] 67.0% -------------------------------------------------------------------------- ival-cos [143] 100.0% [158] 558(0.7%) 0(0.0%) pi.bf ...-lib/math/private/bigfloat/mpfr.rkt:998:4 ??? [175] 62.0% new-mpfr [172] 38.0% -------------------------------------------------------------------------- sample-multi-bounded [140] 100.0% [159] 454(0.6%) 454(0.6%) for-loop ...ggmath-testversion/src/points.rkt:23:4 -------------------------------------------------------------------------- return/no-unsupplied [145] 50.0% for-loop [41] 50.0% [160] 328(0.4%) 164(0.2%) filter ...2/collects/racket/private/list.rkt:256:2 ??? [171] 50.0% -------------------------------------------------------------------------- sample-multi-bounded [140] 100.0% [161] 246(0.3%) 246(0.3%) ??? ...ects/racket/contract/private/prop.rkt:282:4 -------------------------------------------------------------------------- pick-errors [151] 3.8% loop [162] 96.2% [162] 202(0.3%) 202(0.3%) loop ...-7.2/collects/racket/private/map.rkt:259:4 loop [162] 96.2% -------------------------------------------------------------------------- ival-mult [139] 100.0% [163] 192(0.2%) 0(0.0%) bfmin* ...th-testversion/src/biginterval.rkt:105:0 bfsub [167] 100.0% -------------------------------------------------------------------------- ??? [150] 100.0% [164] 180(0.2%) 180(0.2%) bigvalue? ...testversion/src/syntax/types.rkt:19:0 -------------------------------------------------------------------------- ival-mult [139] 100.0% [165] 180(0.2%) 0(0.0%) bfmax* ...th-testversion/src/biginterval.rkt:108:0 bfsub [167] 100.0% -------------------------------------------------------------------------- ival-mult [139] 100.0% [166] 170(0.2%) 0(0.0%) bfnext ...lib/math/private/bigfloat/mpfr.rkt:867:0 new-mpfr [172] 100.0% -------------------------------------------------------------------------- bfmax* [165] 2.3% ??? [135] 2.3% bfmin* [163] 2.4% ival-cos [143] 8.0% ival-div [142] 18.4% ival-sub [144] 29.3% ival-mult [139] 37.3% [167] 7986(10.1%) 166(0.2%) bfsub ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [172] 66.0% ??? [175] 31.9% -------------------------------------------------------------------------- expand-capturing-lifts [152] 100.0% [168] 7078(9.0%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [173] 90.2% loop [174] 7.2% for-loop [191] 2.6% -------------------------------------------------------------------------- random-ranges [154] 100.0% [169] 1302(1.6%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:504:15 coerce-contract [176] 83.6% flat-contract? [177] 16.4% -------------------------------------------------------------------------- random-ranges [154] 100.0% [170] 538(0.7%) 0(0.0%) build--> ...act/private/arrow-val-first.rkt:1088:0 coerce-contract [176] 100.0% -------------------------------------------------------------------------- filter [160] 100.0% [171] 164(0.2%) 0(0.0%) ??? ...math-testversion/src/core/regimes.rkt:50:35 free-variables [178] 100.0% -------------------------------------------------------------------------- bfnext [166] 1.8% bffloor [155] 2.3% pi.bf [158] 2.3% bfcos [156] 5.2% bf [153] 32.1% bfsub [167] 56.4% [172] 9354(11.8%) 9354(11.8%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 -------------------------------------------------------------------------- lambda-clause-expander [168] 11.4% for-loop [191] 88.6% [173] 6382(8.1%) 0(0.0%) finish-bodys (unknown source) for-loop [191] 100.0% -------------------------------------------------------------------------- compile15 [126] 1.5% syntax->list [200] 1.8% apply-transformer52 [195] 2.3% lambda-clause-expander [168] 4.4% eval-prog [109] 4.7% eval-const-expr [73] 6.2% temp91_0 [131] 9.5% expand-capturing-lifts [152] 14.1% for-loop [191] 19.3% syntax-e/no-taint [17] 36.3% [174] 6342(8.0%) 1792(2.3%) loop (unknown source) gf [179] 36.3% expand-capturing-lifts [152] 21.8% expand-id-application-form17 [181] 19.3% dispatch-transformer41 [192] 4.4% syntax-e [6] 2.7% core-form-sym [182] 1.4% -------------------------------------------------------------------------- pi.bf [158] 6.8% bfcos [156] 7.4% bffloor [155] 11.9% bf [153] 23.4% bfsub [167] 50.4% [175] 5052(6.4%) 5052(6.4%) ??? /opt/racket-7.2/collects/ffi/unsafe.rkt:905:4 -------------------------------------------------------------------------- build--> [170] 33.1% cons/c [169] 66.9% [176] 1626(2.1%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:308:0 coerce-contract/f [180] 100.0% -------------------------------------------------------------------------- cons/c [169] 100.0% [177] 214(0.3%) 214(0.3%) flat-contract? .../contract/private/guts.rkt:130:0 -------------------------------------------------------------------------- ??? [171] 100.0% [178] 164(0.2%) 0(0.0%) free-variables ...estversion/src/programs.rkt:57:0 append-map [183] 100.0% -------------------------------------------------------------------------- loop [174] 100.0% [179] 2958(3.7%) 162(0.2%) gf (unknown source) propagation-apply [184] 70.0% cache-or-reuse-hash [187] 13.0% propagation-apply-shifted [188] 5.9% propagation-merge [189] 5.5% -------------------------------------------------------------------------- coerce-contract [176] 100.0% [180] 1626(2.1%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:373:0 coerce-simple-value [186] 100.0% -------------------------------------------------------------------------- loop [174] 100.0% [181] 1534(1.9%) 0(0.0%) expand-id-application-form17 (unknown source) resolve+shift28 [185] 59.7% syntax-e/no-taint [17] 40.3% -------------------------------------------------------------------------- loop [174] 100.0% [182] 174(0.2%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [185] 100.0% -------------------------------------------------------------------------- free-variables [178] 100.0% [183] 164(0.2%) 164(0.2%) append-map ...t-7.2/collects/racket/list.rkt:586:2 -------------------------------------------------------------------------- gf [179] 100.0% [184] 2072(2.6%) 2072(2.6%) propagation-apply (unknown source) -------------------------------------------------------------------------- core-form-sym [182] 9.3% expand-implicit [9] 20.7% expand-identifier [11] 21.0% expand-id-application-form17 [181] 48.9% [185] 1872(2.4%) 166(0.2%) resolve+shift28 (unknown source) fallback-loop [190] 91.1% -------------------------------------------------------------------------- coerce-contract/f [180] 100.0% [186] 1626(2.1%) 1626(2.1%) coerce-simple-value ...ract/private/guts.rkt:386:0 -------------------------------------------------------------------------- gf [179] 100.0% [187] 384(0.5%) 212(0.3%) cache-or-reuse-hash (unknown source) for-loop [191] 44.8% -------------------------------------------------------------------------- gf [179] 100.0% [188] 176(0.2%) 176(0.2%) propagation-apply-shifted (unknown source) -------------------------------------------------------------------------- gf [179] 100.0% [189] 164(0.2%) 164(0.2%) propagation-merge (unknown source) -------------------------------------------------------------------------- resolve+shift28 [185] 100.0% [190] 1706(2.2%) 538(0.7%) fallback-loop (unknown source) for-loop [191] 68.5% -------------------------------------------------------------------------- add-local-binding!39 [193] 0.3% fallback-loop [190] 1.1% cache-or-reuse-hash [187] 2.4% lambda-clause-expander [168] 2.6% compile-forms33 [157] 6.2% for-loop [191] 6.8% finish-bodys [173] 80.6% [191] 7186(9.1%) 2474(3.1%) for-loop (unknown source) finish-bodys [173] 72.1% for-loop [191] 6.8% compile-module-linklet57 [194] 6.2% add-local-binding!39 [193] 3.6% loop [174] 2.3% syntax-e [6] 2.1% expand-implicit [9] 0.4% dispatch-transformer41 [192] 0.4% expand-identifier [11] 0.3% -------------------------------------------------------------------------- for-loop [191] 27.5% loop [174] 35.9% expand-capturing-lifts [152] 36.6% [192] 1420(1.8%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [195] 100.0% -------------------------------------------------------------------------- for-loop [191] 100.0% [193] 724(0.9%) 522(0.7%) add-local-binding!39 (unknown source) for-loop [191] 27.9% -------------------------------------------------------------------------- for-loop [191] 100.0% [194] 446(0.6%) 446(0.6%) compile-module-linklet57 (unknown source) -------------------------------------------------------------------------- dispatch-transformer41 [192] 100.0% [195] 1420(1.8%) 0(0.0%) apply-transformer52 (unknown source) apply-transformer-in-context [196] 75.6% loop [174] 24.4% -------------------------------------------------------------------------- apply-transformer52 [195] 100.0% [196] 1074(1.4%) 336(0.4%) apply-transformer-in-context (unknown source) parse-app [197] 36.3% ??? [198] 32.4% -------------------------------------------------------------------------- apply-transformer-in-context [196]100.0% [197] 390(0.5%) 390(0.5%) parse-app ...collects/racket/private/kw.rkt:1107:2 -------------------------------------------------------------------------- apply-transformer-in-context [196]100.0% [198] 348(0.4%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [199] 100.0% -------------------------------------------------------------------------- ??? [198] 100.0% [199] 348(0.4%) 0(0.0%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 syntax->list [200] 100.0% -------------------------------------------------------------------------- ??? [199] 100.0% [200] 348(0.4%) 0(0.0%) syntax->list (unknown source) loop [174] 100.0% --------------------------------------------------------------------------