Profiling results ----------------- Total cpu time observed: 193326ms (out of 194108ms) Number of samples taken: 854 (once every 226ms) (Hiding functions with self<1.0% and local<2.0%: 13 of 212 hidden) ========================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================================== [1] 179198(92.7%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [15] 100.0% ------------------------------------------------------------------------------------------ ??? [100] 100.0% [2] 5750(3.0%) 0(0.0%) approximate9 ...uilding-2/src/core/taylor.rkt:11:0 loop [16] 75.0% for-loop [23] 17.7% f40 [42] 3.8% taylor [32] 3.5% ------------------------------------------------------------------------------------------ hash-ref! [144] 100.0% [3] 3068(1.6%) 0(0.0%) ??? ...raph-rebuilding-2/src/core/taylor.rkt:67:15 ??? [100] 66.9% hash-ref! [144] 33.1% ------------------------------------------------------------------------------------------ expand-capturing-lifts [142] 15.5% for-loop [194] 84.5% [4] 2600(1.3%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [18] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [144] 100.0% [5] 2272(1.2%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:300:23 for-loop [19] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [144] 11.1% map [138] 88.9% [6] 1798(0.9%) 0(0.0%) f61 (unknown source) eval-const-expr [31] 89.3% composed [29] 10.7% ------------------------------------------------------------------------------------------ hash-ref! [144] 100.0% [7] 1630(0.8%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:290:26 for-loop [20] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [144] 100.0% [8] 1450(0.8%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:406:23 for-loop [22] 86.2% for-loop [27] 13.8% ------------------------------------------------------------------------------------------ loop [151] 24.1% for-loop [194] 75.9% [9] 854(0.4%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [21] 100.0% ------------------------------------------------------------------------------------------ for-loop [194] 100.0% [10] 604(0.3%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [178] 100.0% ------------------------------------------------------------------------------------------ taylor [32] 100.0% [11] 600(0.3%) 0(0.0%) taylor-invert ...lding-2/src/core/taylor.rkt:317:0 parse-loop74 [17] 66.7% first-nonzero-exp [54] 33.3% ------------------------------------------------------------------------------------------ matcher [110] 100.0% [12] 400(0.2%) 0(0.0%) ??? ...ph-rebuilding-2/src/core/matcher.rkt:127:11 for-loop [25] 73.3% foldl [163] 16.7% for-loop [26] 10.0% ------------------------------------------------------------------------------------------ hash-ref! [144] 100.0% [13] 218(0.1%) 0(0.0%) simplify-node ...ilding-2/src/core/reduce.rkt:46:0 append-map [24] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [144] 100.0% [14] 200(0.1%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:509:23 for-loop [28] 100.0% ------------------------------------------------------------------------------------------ ??? [1] 100.0% [15] 179198(92.7%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [30] 100.0% ------------------------------------------------------------------------------------------ approximate9 [2] 100.0% [16] 4312(2.2%) 0(0.0%) loop ...raph-rebuilding-2/src/core/taylor.rkt:86:4 hash-ref! [144] 71.2% ??? [100] 28.8% ------------------------------------------------------------------------------------------ taylor-invert [11] 14.9% hash-ref! [144] 30.9% map [138] 54.2% [17] 2688(1.4%) 224(0.1%) parse-loop74 (unknown source) eval-const-expr [31] 91.7% ------------------------------------------------------------------------------------------ dispatch-transformer41 [4] 100.0% [18] 2600(1.3%) 400(0.2%) apply-transformer52 (unknown source) apply-transformer-in-context [33] 54.2% loop [151] 15.0% apply-post-expansion [36] 7.8% syntax-track-origin4 [39] 7.6% ------------------------------------------------------------------------------------------ ??? [5] 100.0% [19] 2272(1.2%) 0(0.0%) for-loop ...ebuilding-2/src/core/taylor.rkt:303:27 hash-ref! [144] 82.2% f40 [42] 17.8% ------------------------------------------------------------------------------------------ ??? [7] 100.0% [20] 1630(0.8%) 0(0.0%) for-loop ...ebuilding-2/src/core/taylor.rkt:290:52 hash-ref! [144] 74.4% ??? [34] 25.6% ------------------------------------------------------------------------------------------ expand-id-application-form17 [169] 15.9% gf [171] 16.2% syntax-e [9] 67.9% [21] 1258(0.7%) 0(0.0%) syntax-e/no-taint (unknown source) loop [151] 100.0% ------------------------------------------------------------------------------------------ ??? [8] 100.0% [22] 1250(0.6%) 0(0.0%) for-loop ...ebuilding-2/src/core/taylor.rkt:412:39 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ approximate9 [2] 100.0% [23] 1018(0.5%) 0(0.0%) for-loop ...rebuilding-2/src/core/taylor.rkt:29:18 taylor [32] 80.4% taylor-sqrt [37] 19.6% ------------------------------------------------------------------------------------------ free-variables [40] 46.8% simplify-node [13] 53.2% [24] 410(0.2%) 0(0.0%) append-map ...t-7.5/collects/racket/list.rkt:586:2 gather-additive-terms6 [35] 53.2% free-variables [40] 46.8% ------------------------------------------------------------------------------------------ ??? [12] 100.0% [25] 400(0.2%) 0(0.0%) for-loop ...building-2/src/core/matcher.rkt:129:15 matcher [110] 100.0% ------------------------------------------------------------------------------------------ ??? [12] 100.0% [26] 200(0.1%) 0(0.0%) for-loop ...ebuilding-2/src/core/matcher.rkt:103:4 foldl [163] 100.0% ------------------------------------------------------------------------------------------ ??? [8] 100.0% [27] 200(0.1%) 0(0.0%) for-loop ...ebuilding-2/src/core/taylor.rkt:410:33 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ ??? [14] 100.0% [28] 200(0.1%) 0(0.0%) for-loop ...ebuilding-2/src/core/taylor.rkt:513:35 parse-loop402 [38] 100.0% ------------------------------------------------------------------------------------------ f61 [6] 100.0% [29] 192(0.1%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 free-variables [40] 100.0% ------------------------------------------------------------------------------------------ profile-thunk16 [15] 100.0% [30] 179198(92.7%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [41] 100.0% ------------------------------------------------------------------------------------------ f61 [6] 39.5% parse-loop74 [17] 60.5% [31] 4070(2.1%) 0(0.0%) eval-const-expr ...ilding-2/src/programs.rkt:120:0 temp85_0 [118] 80.2% loop [151] 10.0% eval-prog [47] 9.8% ------------------------------------------------------------------------------------------ map [138] 3.3% approximate9 [2] 7.7% for-loop [23] 12.7% hash-ref! [144] 33.1% taylor [32] 43.2% [32] 2652(1.4%) 218(0.1%) taylor ...h-rebuilding-2/src/core/taylor.rkt:169:0 taylor [32] 43.2% loop [43] 30.2% taylor-quotient [45] 15.2% taylor-invert [11] 4.9% map [138] 3.3% ------------------------------------------------------------------------------------------ apply-transformer52 [18] 100.0% [33] 1408(0.7%) 400(0.2%) apply-transformer-in-context (unknown source) parse-app [44] 43.2% go [46] 28.4% ------------------------------------------------------------------------------------------ for-loop [20] 100.0% [34] 418(0.2%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:293:19 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ append-map [24] 100.0% [35] 218(0.1%) 0(0.0%) gather-additive-terms6 ...src/core/reduce.rkt:68:0 parse-loop368 [48] 100.0% ------------------------------------------------------------------------------------------ apply-transformer52 [18] 100.0% [36] 204(0.1%) 0(0.0%) apply-post-expansion (unknown source) gf [171] 100.0% ------------------------------------------------------------------------------------------ for-loop [23] 100.0% [37] 200(0.1%) 0(0.0%) taylor-sqrt ...uilding-2/src/core/taylor.rkt:351:0 f40 [42] 100.0% ------------------------------------------------------------------------------------------ for-loop [28] 100.0% [38] 200(0.1%) 0(0.0%) parse-loop402 (unknown source) for-loop [49] 100.0% ------------------------------------------------------------------------------------------ apply-transformer52 [18] 100.0% [39] 198(0.1%) 198(0.1%) syntax-track-origin4 (unknown source) ------------------------------------------------------------------------------------------ append-map [24] 50.0% composed [29] 50.0% [40] 192(0.1%) 192(0.1%) free-variables ...building-2/src/programs.rkt:56:0 append-map [24] 50.0% ------------------------------------------------------------------------------------------ for-loop [135] 0.2% set-precompute! [128] 0.3% for-loop [119] 0.7% run [30] 98.8% [41] 179198(92.7%) 1028(0.5%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [50] 95.7% prepare-points-intervals [51] 1.3% oracle-error [52] 0.8% get-final-combination [53] 0.6% temp85_0 [118] 0.4% ??? [177] 0.4% loop [151] 0.2% errors [107] 0.2% ------------------------------------------------------------------------------------------ approximate9 [2] 1.1% ??? [100] 1.7% taylor-sqrt [37] 5.2% for-loop [19] 5.2% map [138] 38.0% hash-ref! [144] 47.6% [42] 3876(2.0%) 0(0.0%) f40 (unknown source) map [138] 100.0% ------------------------------------------------------------------------------------------ taylor [32] 100.0% [43] 1230(0.6%) 0(0.0%) loop ...aph-rebuilding-2/src/core/taylor.rkt:267:2 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ apply-transformer-in-context [33] 100.0% [44] 608(0.3%) 0(0.0%) parse-app ...collects/racket/private/kw.rkt:1142:2 syntax->list [55] 67.1% check-loc [57] 32.9% ------------------------------------------------------------------------------------------ taylor [32] 100.0% [45] 404(0.2%) 0(0.0%) taylor-quotient ...ing-2/src/core/taylor.rkt:333:0 first-nonzero-exp [54] 100.0% ------------------------------------------------------------------------------------------ apply-transformer-in-context [33] 100.0% [46] 400(0.2%) 0(0.0%) go .../collects/racket/private/qq-and-or.rkt:50:20 loop [56] 100.0% ------------------------------------------------------------------------------------------ eval-const-expr [31] 100.0% [47] 398(0.2%) 0(0.0%) eval-prog ...ph-rebuilding-2/src/programs.rkt:82:0 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ gather-additive-terms6 [35] 100.0% [48] 218(0.1%) 218(0.1%) parse-loop368 (unknown source) ------------------------------------------------------------------------------------------ parse-loop402 [38] 100.0% [49] 200(0.1%) 0(0.0%) for-loop ...ebuilding-2/src/core/taylor.rkt:516:59 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ .../more-scheme.rkt:261:28 [41] 100.0% [50] 173582(89.8%) 0(0.0%) run-improve47 ...building-2/src/mainloop.rkt:346:0 simplify! [67] 79.9% for-loop [58] 20.1% ------------------------------------------------------------------------------------------ .../more-scheme.rkt:261:28 [41] 100.0% [51] 2332(1.2%) 0(0.0%) prepare-points-intervals ...2/src/points.rkt:120:0 loop [59] 100.0% ------------------------------------------------------------------------------------------ .../more-scheme.rkt:261:28 [41] 100.0% [52] 1500(0.8%) 0(0.0%) oracle-error ...-rebuilding-2/src/points.rkt:177:0 for-loop [60] 100.0% ------------------------------------------------------------------------------------------ .../more-scheme.rkt:261:28 [41] 100.0% [53] 1208(0.6%) 0(0.0%) get-final-combination ...-2/src/mainloop.rkt:371:0 infer-splitpoints [61] 100.0% ------------------------------------------------------------------------------------------ taylor-invert [11] 33.1% taylor-quotient [45] 66.9% [54] 604(0.3%) 0(0.0%) first-nonzero-exp ...g-2/src/core/taylor.rkt:265:0 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ parse-app [44] 100.0% [55] 408(0.2%) 0(0.0%) syntax->list (unknown source) loop [151] 100.0% ------------------------------------------------------------------------------------------ loop [56] 25.0% go [46] 75.0% [56] 400(0.2%) 0(0.0%) loop ...llects/racket/private/qq-and-or.rkt:101:61 stx-car [62] 50.0% loop [56] 25.0% datum->syntax6 [197] 25.0% ------------------------------------------------------------------------------------------ parse-app [44] 100.0% [57] 200(0.1%) 200(0.1%) check-loc ...cts/racket/private/template.rkt:582:0 ------------------------------------------------------------------------------------------ run-improve47 [50] 100.0% [58] 34884(18.0%) 0(0.0%) for-loop ...ph-rebuilding-2/src/mainloop.rkt:365:4 run-iter! [63] 100.0% ------------------------------------------------------------------------------------------ prepare-points-intervals [51] 100.0% [59] 2332(1.2%) 0(0.0%) loop ...-regraph-rebuilding-2/src/points.rkt:132:4 ??? [65] 50.3% loop [66] 49.7% ------------------------------------------------------------------------------------------ oracle-error [52] 100.0% [60] 1500(0.8%) 0(0.0%) for-loop ...raph-rebuilding-2/src/points.rkt:178:2 loop [151] 87.3% map [138] 12.7% ------------------------------------------------------------------------------------------ get-final-combination [53] 100.0% [61] 1208(0.6%) 0(0.0%) infer-splitpoints ...g-2/src/core/regimes.rkt:33:0 for-loop [64] 100.0% ------------------------------------------------------------------------------------------ loop [56] 100.0% [62] 200(0.1%) 200(0.1%) stx-car ....5/collects/racket/private/stx.rkt:67:4 ------------------------------------------------------------------------------------------ for-loop [58] 100.0% [63] 34884(18.0%) 0(0.0%) run-iter! ...h-rebuilding-2/src/mainloop.rkt:327:0 simplify! [67] 70.0% gen-series! [68] 17.0% finalize-iter! [69] 10.1% gen-rewrites! [71] 1.1% localize! [72] 1.1% choose-best-alt! [75] 0.6% ------------------------------------------------------------------------------------------ infer-splitpoints [61] 100.0% [64] 1208(0.6%) 0(0.0%) for-loop ...rebuilding-2/src/core/regimes.rkt:45:6 option-on-expr [70] 100.0% ------------------------------------------------------------------------------------------ loop [59] 100.0% [65] 1174(0.6%) 198(0.1%) ??? ...y-regraph-rebuilding-2/src/points.rkt:113:6 sample-multi-bounded [172] 67.3% loop [151] 15.8% ------------------------------------------------------------------------------------------ loop [59] 100.0% [66] 1158(0.6%) 202(0.1%) loop ...y-regraph-rebuilding-2/src/points.rkt:79:2 real->precision [73] 33.5% ??? [74] 32.6% ??? [100] 16.4% ------------------------------------------------------------------------------------------ run-iter! [63] 15.0% run-improve47 [50] 85.0% [67] 163110(84.4%) 0(0.0%) simplify! ...h-rebuilding-2/src/mainloop.rkt:224:0 ??? [76] 100.0% ------------------------------------------------------------------------------------------ run-iter! [63] 100.0% [68] 5942(3.1%) 0(0.0%) gen-series! ...rebuilding-2/src/mainloop.rkt:160:0 for-loop [77] 100.0% ------------------------------------------------------------------------------------------ run-iter! [63] 100.0% [69] 3514(1.8%) 0(0.0%) finalize-iter! ...uilding-2/src/mainloop.rkt:278:0 ??? [78] 100.0% ------------------------------------------------------------------------------------------ for-loop [64] 100.0% [70] 1208(0.6%) 0(0.0%) option-on-expr ...ing-2/src/core/regimes.rkt:124:0 for-loop [79] 83.4% sort-context-on-expr [84] 16.6% ------------------------------------------------------------------------------------------ run-iter! [63] 100.0% [71] 400(0.2%) 0(0.0%) gen-rewrites! ...building-2/src/mainloop.rkt:183:0 for-loop [80] 100.0% ------------------------------------------------------------------------------------------ run-iter! [63] 100.0% [72] 400(0.2%) 0(0.0%) localize! ...h-rebuilding-2/src/mainloop.rkt:127:0 localize-error [81] 100.0% ------------------------------------------------------------------------------------------ loop [66] 100.0% [73] 388(0.2%) 0(0.0%) real->precision ...ilding-2/src/programs.rkt:94:11 ??? [100] 100.0% ------------------------------------------------------------------------------------------ loop [66] 100.0% [74] 378(0.2%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-add [82] 100.0% ------------------------------------------------------------------------------------------ run-iter! [63] 100.0% [75] 216(0.1%) 0(0.0%) choose-best-alt! ...lding-2/src/mainloop.rkt:117:0 ...ow-val-first.rkt:486:18 [83] 100.0% ------------------------------------------------------------------------------------------ simplify! [67] 100.0% [76] 163110(84.4%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/simplify.rkt:38:0 ??? [85] 100.0% ------------------------------------------------------------------------------------------ gen-series! [68] 100.0% [77] 5942(3.1%) 0(0.0%) for-loop ...ph-rebuilding-2/src/mainloop.rkt:167:7 taylor-alt [86] 100.0% ------------------------------------------------------------------------------------------ variable? [160] 5.4% finalize-iter! [69] 94.6% [78] 3714(1.9%) 200(0.1%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [87] 94.6% ------------------------------------------------------------------------------------------ option-on-expr [70] 100.0% [79] 1008(0.5%) 0(0.0%) for-loop ...ebuilding-2/src/core/regimes.rkt:135:4 errors [107] 100.0% ------------------------------------------------------------------------------------------ gen-rewrites! [71] 100.0% [80] 400(0.2%) 0(0.0%) for-loop ...h-rebuilding-2/src/mainloop.rkt:191:11 rewrite-expression-head24 [88] 100.0% ------------------------------------------------------------------------------------------ localize! [72] 100.0% [81] 400(0.2%) 0(0.0%) localize-error ...ing-2/src/core/localize.rkt:58:0 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ ??? [74] 100.0% [82] 378(0.2%) 190(0.1%) ival-add ...rebuilding-2/src/biginterval.rkt:102:0 bfadd [91] 49.7% ------------------------------------------------------------------------------------------ choose-best-alt! [75] 100.0% [83] 216(0.1%) 0(0.0%) ...ow-val-first.rkt:486:18 (unknown source) ??? [89] 100.0% ------------------------------------------------------------------------------------------ option-on-expr [70] 100.0% [84] 200(0.1%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:117:0 ??? [90] 100.0% ------------------------------------------------------------------------------------------ ??? [76] 100.0% [85] 163110(84.4%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/simplify.rkt:56:0 for-loop [92] 100.0% ------------------------------------------------------------------------------------------ for-loop [77] 100.0% [86] 5942(3.1%) 0(0.0%) taylor-alt ...-rebuilding-2/src/mainloop.rkt:146:0 for-loop [93] 100.0% ------------------------------------------------------------------------------------------ ??? [78] 100.0% [87] 3514(1.8%) 0(0.0%) for-loop ...building-2/src/core/alt-table.rkt:46:2 atab-add-altn [94] 59.1% errors [107] 29.6% loop [96] 11.3% ------------------------------------------------------------------------------------------ for-loop [80] 100.0% [88] 400(0.2%) 0(0.0%) rewrite-expression-head24 ...core/matcher.rkt:85:0 rewriter [95] 100.0% ------------------------------------------------------------------------------------------ ...ow-val-first.rkt:486:18 [83] 100.0% [89] 216(0.1%) 0(0.0%) ??? ...ph-rebuilding-2/src/core/alt-table.rkt:49:0 loop [97] 100.0% ------------------------------------------------------------------------------------------ sort-context-on-expr [84] 100.0% [90] 200(0.1%) 0(0.0%) ??? ...-7.5/collects/racket/private/sort.rkt:369:3 generic-sort/key [98] 100.0% ------------------------------------------------------------------------------------------ ival-add [82] 100.0% [91] 188(0.1%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:835:4 new-mpfr [122] 100.0% ------------------------------------------------------------------------------------------ ??? [85] 100.0% [92] 163110(84.4%) 0(0.0%) for-loop ...ebuilding-2/src/core/simplify.rkt:76:2 for-loop [99] 100.0% ------------------------------------------------------------------------------------------ taylor-alt [86] 100.0% [93] 5942(3.1%) 0(0.0%) for-loop ...ph-rebuilding-2/src/mainloop.rkt:152:6 ??? [100] 100.0% ------------------------------------------------------------------------------------------ for-loop [87] 100.0% [94] 2076(1.1%) 0(0.0%) atab-add-altn ...ng-2/src/core/alt-table.rkt:194:0 errors [107] 88.9% override-at-pnts [102] 11.1% ------------------------------------------------------------------------------------------ rewrite-expression-head24 [88] 26.7% matcher [110] 73.3% [95] 400(0.2%) 0(0.0%) rewriter ...rebuilding-2/src/core/matcher.rkt:87:2 for-loop [101] 100.0% ------------------------------------------------------------------------------------------ for-loop [87] 100.0% [96] 398(0.2%) 200(0.1%) loop ...-rebuilding-2/src/core/alt-table.rkt:168:2 map [138] 49.7% ------------------------------------------------------------------------------------------ ??? [89] 100.0% [97] 216(0.1%) 0(0.0%) loop .../racket-7.5/collects/racket/list.rkt:751:4 ??? [103] 100.0% ------------------------------------------------------------------------------------------ ??? [90] 100.0% [98] 200(0.1%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [104] 100.0% ------------------------------------------------------------------------------------------ for-loop [92] 100.0% [99] 163110(84.4%) 0(0.0%) for-loop ...ebuilding-2/src/core/simplify.rkt:80:4 ??? [105] 97.9% ??? [108] 1.2% loop [109] 0.7% egraph-rebuild [113] 0.1% ------------------------------------------------------------------------------------------ loop [66] 2.9% real->precision [73] 6.0% loop [16] 6.4% ??? [3] 15.7% location-do [106] 34.5% for-loop [93] 34.5% [100] 6520(3.4%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [106] 34.5% approximate9 [2] 33.1% hash-ref! [144] 22.0% bf [111] 6.0% ival-mult [115] 2.9% f40 [42] 1.5% ------------------------------------------------------------------------------------------ rewriter [95] 100.0% [101] 400(0.2%) 0(0.0%) for-loop ...rebuilding-2/src/core/matcher.rkt:89:4 matcher [110] 100.0% ------------------------------------------------------------------------------------------ atab-add-altn [94] 100.0% [102] 230(0.1%) 0(0.0%) override-at-pnts ...2/src/core/alt-table.rkt:129:0 for-loop [112] 100.0% ------------------------------------------------------------------------------------------ loop [97] 100.0% [103] 216(0.1%) 0(0.0%) ??? ...egraph-rebuilding-2/src/mainloop.rkt:114:10 errors [107] 100.0% ------------------------------------------------------------------------------------------ copying-mergesort [104] 50.0% generic-sort/key [98] 50.0% [104] 200(0.1%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [104] 50.0% loop [114] 50.0% ------------------------------------------------------------------------------------------ for-loop [99] 100.0% [105] 159694(82.6%) 0(0.0%) ??? ...-regraph-rebuilding-2/regraph/main.rkt:45:0 find-matches [116] 94.7% for-loop [117] 5.3% ------------------------------------------------------------------------------------------ ??? [100] 39.8% location-do [106] 60.2% [106] 5942(3.1%) 0(0.0%) location-do ...-rebuilding-2/src/programs.rkt:63:0 location-do [106] 60.2% ??? [100] 39.8% ------------------------------------------------------------------------------------------ ??? [103] 4.8% .../more-scheme.rkt:261:28 [41] 8.3% for-loop [79] 22.5% for-loop [87] 23.2% atab-add-altn [94] 41.2% [107] 4482(2.3%) 0(0.0%) errors ...egraph-rebuilding-2/src/points.rkt:190:0 for-loop [119] 77.0% temp85_0 [118] 23.0% ------------------------------------------------------------------------------------------ for-loop [99] 100.0% [108] 1994(1.0%) 0(0.0%) ??? ...-regraph-rebuilding-2/regraph/main.rkt:57:0 for-loop [120] 100.0% ------------------------------------------------------------------------------------------ for-loop [99] 100.0% [109] 1214(0.6%) 0(0.0%) loop ...h-rebuilding-2/regraph/extraction.rkt:25:2 for-loop [121] 100.0% ------------------------------------------------------------------------------------------ for-loop [25] 42.2% for-loop [101] 57.8% [110] 400(0.2%) 0(0.0%) matcher ...rebuilding-2/src/core/matcher.rkt:115:2 ??? [12] 57.8% rewriter [95] 42.2% ------------------------------------------------------------------------------------------ ??? [100] 100.0% [111] 388(0.2%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:615:2 new-mpfr [122] 51.5% ??? [124] 48.5% ------------------------------------------------------------------------------------------ override-at-pnts [102] 100.0% [112] 230(0.1%) 230(0.1%) for-loop ...ilding-2/src/core/alt-table.rkt:130:22 ------------------------------------------------------------------------------------------ for-loop [99] 100.0% [113] 208(0.1%) 0(0.0%) egraph-rebuild ...ilding-2/regraph/egraph.rkt:61:0 egraph-rebuild-once [123] 100.0% ------------------------------------------------------------------------------------------ copying-mergesort [104] 100.0% [114] 200(0.1%) 200(0.1%) loop ...7.5/collects/racket/private/sort.rkt:96:12 ------------------------------------------------------------------------------------------ ??? [100] 100.0% [115] 190(0.1%) 190(0.1%) ival-mult ...ebuilding-2/src/biginterval.rkt:120:0 ------------------------------------------------------------------------------------------ ??? [105] 100.0% [116] 151258(78.2%) 0(0.0%) find-matches ...rebuilding-2/regraph/main.rkt:37:0 for-loop [125] 100.0% ------------------------------------------------------------------------------------------ ??? [105] 100.0% [117] 8436(4.4%) 0(0.0%) for-loop ...aph-rebuilding-2/regraph/main.rkt:48:2 for-loop [126] 100.0% ------------------------------------------------------------------------------------------ loop [151] 3.3% errors [107] 16.9% .../more-scheme.rkt:261:28 [41] 26.2% eval-const-expr [31] 53.6% [118] 6092(3.2%) 0(0.0%) temp85_0 (unknown source) compile15 [127] 100.0% ------------------------------------------------------------------------------------------ errors [107] 100.0% [119] 3452(1.8%) 972(0.5%) for-loop ...raph-rebuilding-2/src/points.rkt:192:2 .../more-scheme.rkt:261:28 [41] 71.8% ------------------------------------------------------------------------------------------ ??? [108] 100.0% [120] 1994(1.0%) 0(0.0%) for-loop ...aph-rebuilding-2/regraph/main.rkt:60:2 set-precompute! [128] 100.0% ------------------------------------------------------------------------------------------ loop [109] 100.0% [121] 1214(0.6%) 200(0.1%) for-loop ...building-2/regraph/extraction.rkt:28:4 for-loop [129] 83.5% ------------------------------------------------------------------------------------------ bfadd [91] 48.5% bf [111] 51.5% [122] 388(0.2%) 388(0.2%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 ------------------------------------------------------------------------------------------ egraph-rebuild [113] 100.0% [123] 208(0.1%) 0(0.0%) egraph-rebuild-once ...g-2/regraph/egraph.rkt:68:0 for-loop [130] 100.0% ------------------------------------------------------------------------------------------ bf [111] 100.0% [124] 188(0.1%) 188(0.1%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 ------------------------------------------------------------------------------------------ for-loop [125] 49.8% find-matches [116] 50.2% [125] 151258(78.2%) 1696(0.9%) for-loop ...aph-rebuilding-2/regraph/main.rkt:39:2 for-loop [125] 49.8% match-e [131] 49.4% ------------------------------------------------------------------------------------------ for-loop [117] 100.0% [126] 8436(4.4%) 206(0.1%) for-loop ...aph-rebuilding-2/regraph/main.rkt:51:4 substitute-e [133] 50.1% add-enode-rec! [134] 47.5% ------------------------------------------------------------------------------------------ temp85_0 [118] 100.0% [127] 6092(3.2%) 0(0.0%) compile15 (unknown source) temp91_0 [132] 100.0% ------------------------------------------------------------------------------------------ for-loop [120] 100.0% [128] 1994(1.0%) 0(0.0%) set-precompute! ...uilding-2/regraph/main.rkt:64:0 .../more-scheme.rkt:261:28 [41] 59.8% for-loop [135] 40.2% ------------------------------------------------------------------------------------------ for-loop [121] 100.0% [129] 1014(0.5%) 602(0.3%) for-loop ...uilding-2/regraph/extraction.rkt:36:16 for-loop [136] 40.6% ------------------------------------------------------------------------------------------ egraph-rebuild-once [123] 100.0% [130] 208(0.1%) 208(0.1%) for-loop ...h-rebuilding-2/regraph/egraph.rkt:72:2 ------------------------------------------------------------------------------------------ for-loop [141] 22.7% for-loop [125] 77.3% [131] 149562(77.4%) 7928(4.1%) match-e ...ph-rebuilding-2/regraph/ematch.rkt:35:0 for-loop [137] 97.6% ------------------------------------------------------------------------------------------ compile15 [127] 100.0% [132] 6092(3.2%) 0(0.0%) temp91_0 (unknown source) temp118_0 [139] 100.0% ------------------------------------------------------------------------------------------ substitute-e [133] 28.6% for-loop [126] 71.4% [133] 4224(2.2%) 2414(1.2%) substitute-e ...building-2/regraph/ematch.rkt:55:0 do-curry [152] 28.6% substitute-e [133] 28.6% return/no-unsupplied [189] 4.7% ------------------------------------------------------------------------------------------ for-loop [126] 100.0% [134] 4006(2.1%) 404(0.2%) add-enode-rec! ...lding-2/regraph/egraph.rkt:161:0 map [138] 65.0% mk-enode! [140] 15.0% do-curry [152] 9.9% ------------------------------------------------------------------------------------------ set-precompute! [128] 100.0% [135] 802(0.4%) 0(0.0%) for-loop ...aph-rebuilding-2/regraph/main.rkt:65:2 .../more-scheme.rkt:261:28 [41] 100.0% ------------------------------------------------------------------------------------------ for-loop [129] 100.0% [136] 412(0.2%) 412(0.2%) for-loop ...uilding-2/regraph/extraction.rkt:40:23 ------------------------------------------------------------------------------------------ match-e [131] 100.0% [137] 148938(77.0%) 43848(22.7%) for-loop ...-rebuilding-2/regraph/ematch.rkt:41:11 loop [151] 46.2% for-loop [141] 25.8% cp-2 [153] 3.3% procedure-reduce-keyword-arity-mask [143] 2.3% do-curry [152] 1.9% foldr [146] 0.8% step [164] 0.4% keyword-apply [166] 0.3% ??? [165] 0.2% foldl [163] 0.2% ------------------------------------------------------------------------------------------ for-loop [60] 2.5% loop [96] 2.6% parse-loop15 [157] 5.2% taylor [32] 5.4% add-enode-rec! [134] 33.9% f40 [42] 50.4% [138] 7684(4.0%) 0(0.0%) map ...t-7.5/collects/racket/private/map.rkt:35:13 mk-enode-rec! [145] 33.9% f40 [42] 19.2% parse-loop74 [17] 15.7% f61 [6] 11.1% loop [147] 9.0% taylor [32] 5.4% ??? [149] 1.3% hash-ref! [144] 1.3% make-multiplication-node [150] 1.3% simplify* [148] 1.2% ------------------------------------------------------------------------------------------ temp91_0 [132] 100.0% [139] 6092(3.2%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [142] 100.0% ------------------------------------------------------------------------------------------ add-enode-rec! [134] 100.0% [140] 602(0.3%) 402(0.2%) mk-enode! ...rebuilding-2/regraph/egraph.rkt:132:0 hash-has-key? [156] 33.2% ------------------------------------------------------------------------------------------ for-loop [137] 100.0% [141] 63466(32.8%) 2452(1.3%) for-loop ...-rebuilding-2/regraph/ematch.rkt:47:37 match-e [131] 97.6% ------------------------------------------------------------------------------------------ loop [151] 9.1% temp118_0 [139] 90.9% [142] 6700(3.5%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [154] 85.0% dispatch-transformer41 [4] 6.0% expand-id-application-form17 [169] 5.9% loop [151] 3.0% ------------------------------------------------------------------------------------------ for-loop [137] 100.0% [143] 6140(3.2%) 6140(3.2%) procedure-reduce-keyword-arity-mask ....rkt:1597:4 ------------------------------------------------------------------------------------------ for-loop [49] 0.4% for-loop [27] 0.4% ??? [34] 1.3% eval-prog [47] 1.9% map [138] 1.9% first-nonzero-exp [54] 1.9% for-loop [20] 4.8% for-loop [22] 5.0% localize-error [81] 5.6% ??? [3] 7.2% for-loop [19] 7.5% loop [43] 12.4% loop [16] 12.9% ??? [155] 13.7% ??? [100] 20.7% [144] 5316(2.7%) 198(0.1%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [3] 20.0% ??? [5] 15.1% ??? [155] 13.7% f40 [42] 13.6% parse-loop15 [157] 7.5% taylor [32] 7.0% ??? [7] 6.1% ??? [8] 5.4% parse-loop74 [17] 4.0% f61 [6] 1.9% simplify-node [13] 0.8% ??? [14] 0.4% ------------------------------------------------------------------------------------------ loop [151] 3.8% map [138] 96.2% [145] 2602(1.3%) 402(0.2%) mk-enode-rec! ...ilding-2/regraph/egraph.rkt:152:0 loop [151] 38.4% hash-has-key? [156] 23.1% do-curry [152] 15.4% for-loop [159] 7.7% ------------------------------------------------------------------------------------------ for-loop [137] 100.0% [146] 1756(0.9%) 812(0.4%) foldr ....5/collects/racket/private/list.rkt:242:4 cp-2 [153] 53.8% ------------------------------------------------------------------------------------------ map [138] 37.6% loop [147] 62.4% [147] 788(0.4%) 400(0.2%) loop ...-7.5/collects/racket/private/map.rkt:40:19 loop [147] 62.4% ??? [170] 24.1% ??? [161] 12.6% ------------------------------------------------------------------------------------------ map [138] 100.0% [148] 416(0.2%) 216(0.1%) simplify* ...rebuilding-2/src/core/reduce.rkt:29:0 variable? [160] 48.1% ------------------------------------------------------------------------------------------ map [138] 100.0% [149] 206(0.1%) 0(0.0%) ??? ...graph-rebuilding-2/src/core/reduce.rkt:57:5 for-loop [158] 100.0% ------------------------------------------------------------------------------------------ map [138] 100.0% [150] 198(0.1%) 0(0.0%) make-multiplication-node .../core/reduce.rkt:232:0 make-multiplication-subnode [162] 100.0% ------------------------------------------------------------------------------------------ expand-capturing-lifts [142] 0.1% ??? [65] 0.2% eval-const-expr [31] 0.3% syntax->list [55] 0.4% apply-transformer52 [18] 0.5% for-loop [137] 0.5% .../more-scheme.rkt:261:28 [41] 0.6% for-loop [194] 0.6% for-loop [60] 1.0% syntax-e/no-taint [21] 1.3% mk-enode-rec! [145] 1.3% loop [151] 92.7% [151] 74544(38.6%) 30498(15.8%) loop (unknown source) loop [151] 92.7% gf [171] 1.0% ??? [170] 0.9% core-form-sym [173] 0.6% expand-capturing-lifts [142] 0.5% expand-id-application-form17 [169] 0.5% ??? [182] 0.3% sample-multi-bounded [172] 0.2% foldl [163] 0.1% syntax-e [9] 0.1% mk-enode-rec! [145] 0.1% temp85_0 [118] 0.1% keyword-apply [166] 0.1% ??? [177] 0.1% step [164] 0.0% ??? [165] 0.0% ------------------------------------------------------------------------------------------ add-enode-rec! [134] 5.1% mk-enode-rec! [145] 5.2% substitute-e [133] 18.2% for-loop [137] 71.5% [152] 7756(4.0%) 7756(4.0%) do-curry ...-7.5/collects/racket/function.rkt:71:2 ------------------------------------------------------------------------------------------ foldr [146] 15.9% for-loop [137] 84.1% [153] 5932(3.1%) 320(0.2%) cp-2 .../racket-7.5/collects/racket/list.rkt:826:2 for-loop [168] 94.6% ------------------------------------------------------------------------------------------ expand-capturing-lifts [142] 100.0% [154] 5694(2.9%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [167] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [144] 100.0% [155] 2682(1.4%) 0(0.0%) ??? ...raph-rebuilding-2/src/core/taylor.rkt:44:15 hash-ref! [144] 100.0% ------------------------------------------------------------------------------------------ mk-enode! [140] 24.9% mk-enode-rec! [145] 75.1% [156] 802(0.4%) 802(0.4%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 ------------------------------------------------------------------------------------------ hash-ref! [144] 100.0% [157] 400(0.2%) 0(0.0%) parse-loop15 (unknown source) map [138] 100.0% ------------------------------------------------------------------------------------------ ??? [149] 100.0% [158] 206(0.1%) 0(0.0%) for-loop ...-rebuilding-2/src/core/reduce.rkt:58:7 pattern-match [174] 100.0% ------------------------------------------------------------------------------------------ mk-enode-rec! [145] 100.0% [159] 200(0.1%) 200(0.1%) for-loop ...rebuilding-2/regraph/egraph.rkt:144:10 ------------------------------------------------------------------------------------------ simplify* [148] 100.0% [160] 200(0.1%) 0(0.0%) variable? ...uilding-2/src/syntax/syntax.rkt:729:0 ??? [78] 100.0% ------------------------------------------------------------------------------------------ loop [147] 100.0% [161] 198(0.1%) 198(0.1%) ??? ...-rebuilding-2/src/core/alt-table.rkt:185:12 ------------------------------------------------------------------------------------------ make-multiplication-node [150] 100.0% [162] 198(0.1%) 0(0.0%) make-multiplication-subnode ...re/reduce.rkt:242:0 group-by61 [175] 100.0% ------------------------------------------------------------------------------------------ ??? [12] 0.9% for-loop [26] 0.9% for-loop [137] 2.6% loop [151] 95.6% [163] 22596(11.7%) 5592(2.9%) foldl ....5/collects/racket/private/list.rkt:229:4 merge2 [176] 73.5% ??? [181] 1.8% ------------------------------------------------------------------------------------------ for-loop [137] 15.3% loop [151] 84.7% [164] 7866(4.1%) 7866(4.1%) step ...ket-7.5/collects/racket/function.rkt:145:9 ------------------------------------------------------------------------------------------ for-loop [137] 8.8% loop [151] 91.2% [165] 7344(3.8%) 7344(3.8%) ??? ...ket-7.5/collects/racket/function.rkt:138:13 ------------------------------------------------------------------------------------------ for-loop [137] 15.4% loop [151] 84.6% [166] 6538(3.4%) 6538(3.4%) keyword-apply ...lects/racket/private/kw.rkt:455:2 ------------------------------------------------------------------------------------------ lambda-clause-expander [154] 36.2% for-loop [194] 63.8% [167] 5694(2.9%) 0(0.0%) finish-bodys (unknown source) for-loop [194] 100.0% ------------------------------------------------------------------------------------------ cp-2 [153] 100.0% [168] 5612(2.9%) 5612(2.9%) for-loop ...ket-7.5/collects/racket/list.rkt:827:4 ------------------------------------------------------------------------------------------ expand-capturing-lifts [142] 33.1% loop [151] 33.4% for-loop [194] 33.4% [169] 1202(0.6%) 200(0.1%) expand-id-application-form17 (unknown source) resolve+shift28 [178] 33.4% binding-lookup52 [180] 33.3% syntax-e/no-taint [21] 16.6% ------------------------------------------------------------------------------------------ loop [147] 16.8% loop [151] 83.2% [170] 1130(0.6%) 372(0.2%) ??? ...-regraph-rebuilding-2/src/points.rkt:179:26 ??? [177] 50.8% ??? [182] 16.3% ------------------------------------------------------------------------------------------ apply-post-expansion [36] 19.4% loop [151] 80.6% [171] 1052(0.5%) 404(0.2%) gf (unknown source) propagation-apply [183] 21.3% propagation-merge [184] 20.9% syntax-e/no-taint [21] 19.4% ------------------------------------------------------------------------------------------ loop [151] 19.1% ??? [65] 80.9% [172] 976(0.5%) 0(0.0%) sample-multi-bounded ...ding-2/src/points.rkt:14:0 random-ranges [179] 79.9% for-loop [187] 20.1% ------------------------------------------------------------------------------------------ loop [151] 100.0% [173] 594(0.3%) 202(0.1%) core-form-sym (unknown source) resolve+shift28 [178] 66.0% ------------------------------------------------------------------------------------------ for-loop [158] 100.0% [174] 206(0.1%) 0(0.0%) pattern-match ...lding-2/src/core/matcher.rkt:29:0 constant? [185] 100.0% ------------------------------------------------------------------------------------------ make-multiplication-subnode [162] 100.0% [175] 198(0.1%) 0(0.0%) group-by61 ...t-7.5/collects/racket/list.rkt:771:0 hash-update [186] 100.0% ------------------------------------------------------------------------------------------ foldl [163] 100.0% [176] 16604(8.6%) 16604(8.6%) merge2 ...aph-rebuilding-2/regraph/ematch.rkt:20:0 ------------------------------------------------------------------------------------------ loop [151] 8.4% ??? [170] 25.9% .../more-scheme.rkt:261:28 [41] 65.6% [177] 2212(1.1%) 1620(0.8%) ??? ...h-rebuilding-2/src/syntax/syntax.rkt:214:17 return/no-unsupplied [189] 18.4% ??? [193] 8.4% ------------------------------------------------------------------------------------------ core-form-sym [173] 28.0% expand-id-application-form17 [169] 28.8% expand-implicit [10] 43.2% [178] 1398(0.7%) 204(0.1%) resolve+shift28 (unknown source) fallback-loop [188] 85.4% ------------------------------------------------------------------------------------------ sample-multi-bounded [172] 100.0% [179] 780(0.4%) 588(0.3%) random-ranges ...rebuilding-2/src/common.rkt:164:0 cons/c [192] 24.6% ------------------------------------------------------------------------------------------ expand-id-application-form17 [169] 100.0% [180] 400(0.2%) 400(0.2%) binding-lookup52 (unknown source) ------------------------------------------------------------------------------------------ foldl [163] 100.0% [181] 400(0.2%) 200(0.1%) ??? ...raph-rebuilding-2/src/core/matcher.rkt:25:7 core457 [191] 50.0% ------------------------------------------------------------------------------------------ ??? [170] 48.4% loop [151] 51.6% [182] 380(0.2%) 380(0.2%) ??? ...cket-7.5/collects/racket/function.rkt:93:12 ------------------------------------------------------------------------------------------ gf [171] 100.0% [183] 224(0.1%) 224(0.1%) propagation-apply (unknown source) ------------------------------------------------------------------------------------------ gf [171] 100.0% [184] 220(0.1%) 220(0.1%) propagation-merge (unknown source) ------------------------------------------------------------------------------------------ pattern-match [174] 100.0% [185] 206(0.1%) 0(0.0%) constant? ...uilding-2/src/syntax/syntax.rkt:726:0 value? [190] 100.0% ------------------------------------------------------------------------------------------ group-by61 [175] 100.0% [186] 198(0.1%) 198(0.1%) hash-update ...acket/private/more-scheme.rkt:358:4 ------------------------------------------------------------------------------------------ sample-multi-bounded [172] 100.0% [187] 196(0.1%) 196(0.1%) for-loop ...graph-rebuilding-2/src/points.rkt:20:4 ------------------------------------------------------------------------------------------ resolve+shift28 [178] 100.0% [188] 1194(0.6%) 406(0.2%) fallback-loop (unknown source) for-loop [194] 66.0% ------------------------------------------------------------------------------------------ substitute-e [133] 49.6% ??? [177] 50.4% [189] 806(0.4%) 806(0.4%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 ------------------------------------------------------------------------------------------ constant? [185] 100.0% [190] 206(0.1%) 206(0.1%) value? ...h-rebuilding-2/src/syntax/types.rkt:18:0 ------------------------------------------------------------------------------------------ ??? [181] 100.0% [191] 200(0.1%) 0(0.0%) core457 ...acket/contract/private/arr-i.rkt:976:19 successfully-got-the-right-kind-of-function [195]100.0% ------------------------------------------------------------------------------------------ random-ranges [179] 100.0% [192] 192(0.1%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:500:15 coerce-contract [196] 100.0% ------------------------------------------------------------------------------------------ ??? [177] 100.0% [193] 186(0.1%) 186(0.1%) ??? ...ects/racket/contract/private/guts.rkt:770:8 ------------------------------------------------------------------------------------------ fallback-loop [188] 3.6% for-loop [194] 26.7% finish-bodys [167] 69.7% [194] 5694(2.9%) 1394(0.7%) for-loop (unknown source) finish-bodys [167] 45.8% for-loop [194] 26.7% dispatch-transformer41 [4] 11.0% expand-implicit [10] 3.8% loop [151] 1.9% expand-id-application-form17 [169] 1.6% syntax-e [9] 1.0% datum->syntax6 [197] 0.3% ------------------------------------------------------------------------------------------ core457 [191] 100.0% [195] 200(0.1%) 200(0.1%) successfully-got-the-right-kind-of-function ...5:4 ------------------------------------------------------------------------------------------ cons/c [192] 100.0% [196] 192(0.1%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:307:0 coerce-contract/f [198] 100.0% ------------------------------------------------------------------------------------------ loop [56] 49.0% for-loop [194] 51.0% [197] 408(0.2%) 408(0.2%) datum->syntax6 (unknown source) ------------------------------------------------------------------------------------------ coerce-contract [196] 100.0% [198] 192(0.1%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:372:0 coerce-simple-value [199] 100.0% ------------------------------------------------------------------------------------------ coerce-contract/f [198] 100.0% [199] 192(0.1%) 192(0.1%) coerce-simple-value ...ract/private/guts.rkt:385:0 ------------------------------------------------------------------------------------------