"warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" "warning- nodes of same pack" Profiling results ----------------- Total cpu time observed: 6592ms (out of 6848ms) Number of samples taken: 32 (once every 206ms) =============================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =============================================================================== [1] 6592(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [9] 100.0% ------------------------------------------------------------------------------- ??? [59] 100.0% [2] 604(9.2%) 0(0.0%) approximate9 ...uilding-2/src/core/taylor.rkt:11:0 loop [10] 66.9% for-loop [15] 33.1% ------------------------------------------------------------------------------- hash-ref! [66] 100.0% [3] 400(6.1%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:300:23 for-loop [11] 100.0% ------------------------------------------------------------------------------- hash-ref! [66] 100.0% [4] 400(6.1%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:290:26 for-loop [12] 100.0% ------------------------------------------------------------------------------- map [13] 50.0% hash-ref! [66] 50.0% [5] 204(3.1%) 0(0.0%) f40 (unknown source) map [13] 100.0% ------------------------------------------------------------------------------- hash-ref! [66] 100.0% [6] 204(3.1%) 0(0.0%) ??? ...raph-rebuilding-2/src/core/taylor.rkt:67:15 ??? [59] 100.0% ------------------------------------------------------------------------------- map [13] 100.0% [7] 204(3.1%) 0(0.0%) parse-loop74 (unknown source) eval-const-expr [21] 100.0% ------------------------------------------------------------------------------- matcher [72] 100.0% [8] 200(3.0%) 0(0.0%) ??? ...ph-rebuilding-2/src/core/matcher.rkt:127:11 for-loop [14] 100.0% ------------------------------------------------------------------------------- ??? [1] 100.0% [9] 6592(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [16] 100.0% ------------------------------------------------------------------------------- approximate9 [2] 100.0% [10] 404(6.1%) 0(0.0%) loop ...raph-rebuilding-2/src/core/taylor.rkt:86:4 hash-ref! [66] 50.5% ??? [59] 49.5% ------------------------------------------------------------------------------- ??? [3] 100.0% [11] 400(6.1%) 0(0.0%) for-loop ...ebuilding-2/src/core/taylor.rkt:303:27 hash-ref! [66] 100.0% ------------------------------------------------------------------------------- ??? [4] 100.0% [12] 400(6.1%) 0(0.0%) for-loop ...ebuilding-2/src/core/taylor.rkt:290:52 ??? [19] 50.0% f61 [17] 50.0% ------------------------------------------------------------------------------- f40 [5] 100.0% [13] 204(3.1%) 0(0.0%) map ...t-7.5/collects/racket/private/map.rkt:35:13 f40 [5] 50.0% parse-loop74 [7] 50.0% ------------------------------------------------------------------------------- ??? [8] 100.0% [14] 200(3.0%) 0(0.0%) for-loop ...building-2/src/core/matcher.rkt:129:15 matcher [72] 100.0% ------------------------------------------------------------------------------- approximate9 [2] 100.0% [15] 200(3.0%) 0(0.0%) for-loop ...rebuilding-2/src/core/taylor.rkt:29:18 taylor-invert [18] 100.0% ------------------------------------------------------------------------------- profile-thunk16 [9] 100.0% [16] 6592(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [20] 100.0% ------------------------------------------------------------------------------- for-loop [12] 50.0% hash-ref! [66] 50.0% [17] 400(6.1%) 0(0.0%) f61 (unknown source) eval-const-expr [21] 100.0% ------------------------------------------------------------------------------- for-loop [15] 100.0% [18] 200(3.0%) 0(0.0%) taylor-invert ...lding-2/src/core/taylor.rkt:317:0 first-nonzero-exp [22] 100.0% ------------------------------------------------------------------------------- for-loop [12] 100.0% [19] 200(3.0%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:293:19 hash-ref! [66] 100.0% ------------------------------------------------------------------------------- run [16] 100.0% [20] 6592(100.0%) 0(0.0%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [23] 100.0% ------------------------------------------------------------------------------- parse-loop74 [7] 33.8% f61 [17] 66.2% [21] 604(9.2%) 0(0.0%) eval-const-expr ...ilding-2/src/programs.rkt:120:0 loop [24] 33.8% temp85_0 [26] 33.1% eval-prog [25] 33.1% ------------------------------------------------------------------------------- taylor-invert [18] 100.0% [22] 200(3.0%) 0(0.0%) first-nonzero-exp ...g-2/src/core/taylor.rkt:265:0 hash-ref! [66] 100.0% ------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [20] 100.0% [23] 6592(100.0%) 0(0.0%) run-improve47 ...building-2/src/mainloop.rkt:346:0 for-loop [27] 100.0% ------------------------------------------------------------------------------- for-loop [62] 49.5% eval-const-expr [21] 50.5% [24] 404(6.1%) 0(0.0%) loop (unknown source) expand-capturing-lifts [43] 50.5% expand-identifier [29] 49.5% ------------------------------------------------------------------------------- eval-const-expr [21] 100.0% [25] 200(3.0%) 0(0.0%) eval-prog ...ph-rebuilding-2/src/programs.rkt:82:0 inductor [28] 100.0% ------------------------------------------------------------------------------- eval-const-expr [21] 100.0% [26] 200(3.0%) 0(0.0%) temp85_0 (unknown source) compile15 [30] 100.0% ------------------------------------------------------------------------------- run-improve47 [23] 100.0% [27] 6592(100.0%) 0(0.0%) for-loop ...ph-rebuilding-2/src/mainloop.rkt:365:4 run-iter! [31] 100.0% ------------------------------------------------------------------------------- eval-prog [25] 100.0% [28] 200(3.0%) 0(0.0%) inductor ...ph-rebuilding-2/src/programs.rkt:103:4 table-ref [32] 100.0% ------------------------------------------------------------------------------- loop [24] 100.0% [29] 200(3.0%) 0(0.0%) expand-identifier (unknown source) resolve+shift28 [33] 100.0% ------------------------------------------------------------------------------- temp85_0 [26] 100.0% [30] 200(3.0%) 0(0.0%) compile15 (unknown source) temp91_0 [34] 100.0% ------------------------------------------------------------------------------- for-loop [27] 100.0% [31] 6592(100.0%) 0(0.0%) run-iter! ...h-rebuilding-2/src/mainloop.rkt:327:0 simplify! [35] 84.7% gen-series! [36] 9.2% finalize-iter! [37] 3.1% gen-rewrites! [40] 3.0% ------------------------------------------------------------------------------- inductor [28] 100.0% [32] 200(3.0%) 200(3.0%) table-ref ...raph-rebuilding-2/src/common.rkt:33:0 ------------------------------------------------------------------------------- expand-identifier [29] 100.0% [33] 200(3.0%) 0(0.0%) resolve+shift28 (unknown source) fallback-loop [38] 100.0% ------------------------------------------------------------------------------- compile15 [30] 100.0% [34] 200(3.0%) 0(0.0%) temp91_0 (unknown source) temp118_0 [39] 100.0% ------------------------------------------------------------------------------- run-iter! [31] 100.0% [35] 5582(84.7%) 0(0.0%) simplify! ...h-rebuilding-2/src/mainloop.rkt:224:0 ??? [41] 100.0% ------------------------------------------------------------------------------- run-iter! [31] 100.0% [36] 604(9.2%) 0(0.0%) gen-series! ...rebuilding-2/src/mainloop.rkt:160:0 for-loop [42] 100.0% ------------------------------------------------------------------------------- run-iter! [31] 100.0% [37] 206(3.1%) 0(0.0%) finalize-iter! ...uilding-2/src/mainloop.rkt:278:0 ??? [44] 100.0% ------------------------------------------------------------------------------- resolve+shift28 [33] 100.0% [38] 200(3.0%) 0(0.0%) fallback-loop (unknown source) for-loop [62] 100.0% ------------------------------------------------------------------------------- temp91_0 [34] 100.0% [39] 200(3.0%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [43] 100.0% ------------------------------------------------------------------------------- run-iter! [31] 100.0% [40] 200(3.0%) 0(0.0%) gen-rewrites! ...building-2/src/mainloop.rkt:183:0 for-loop [45] 100.0% ------------------------------------------------------------------------------- simplify! [35] 100.0% [41] 5582(84.7%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/simplify.rkt:38:0 ??? [46] 100.0% ------------------------------------------------------------------------------- gen-series! [36] 100.0% [42] 604(9.2%) 0(0.0%) for-loop ...ph-rebuilding-2/src/mainloop.rkt:167:7 taylor-alt [47] 100.0% ------------------------------------------------------------------------------- temp118_0 [39] 49.5% loop [24] 50.5% [43] 404(6.1%) 0(0.0%) expand-capturing-lifts (unknown source) dispatch-transformer41 [49] 50.5% lambda-clause-expander [50] 49.5% ------------------------------------------------------------------------------- finalize-iter! [37] 100.0% [44] 206(3.1%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [48] 100.0% ------------------------------------------------------------------------------- gen-rewrites! [40] 100.0% [45] 200(3.0%) 0(0.0%) for-loop ...h-rebuilding-2/src/mainloop.rkt:191:11 rewrite-expression-head24 [51] 100.0% ------------------------------------------------------------------------------- ??? [41] 100.0% [46] 5582(84.7%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/simplify.rkt:56:0 for-loop [52] 100.0% ------------------------------------------------------------------------------- for-loop [42] 100.0% [47] 604(9.2%) 0(0.0%) taylor-alt ...-rebuilding-2/src/mainloop.rkt:146:0 for-loop [53] 100.0% ------------------------------------------------------------------------------- ??? [44] 100.0% [48] 206(3.1%) 0(0.0%) for-loop ...building-2/src/core/alt-table.rkt:46:2 atab-add-altn [54] 100.0% ------------------------------------------------------------------------------- expand-capturing-lifts [43] 100.0% [49] 204(3.1%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [55] 100.0% ------------------------------------------------------------------------------- expand-capturing-lifts [43] 100.0% [50] 200(3.0%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [56] 100.0% ------------------------------------------------------------------------------- for-loop [45] 100.0% [51] 200(3.0%) 0(0.0%) rewrite-expression-head24 ...core/matcher.rkt:85:0 rewriter [57] 100.0% ------------------------------------------------------------------------------- ??? [46] 100.0% [52] 5582(84.7%) 0(0.0%) for-loop ...ebuilding-2/src/core/simplify.rkt:76:2 for-loop [58] 100.0% ------------------------------------------------------------------------------- taylor-alt [47] 100.0% [53] 604(9.2%) 0(0.0%) for-loop ...ph-rebuilding-2/src/mainloop.rkt:152:6 ??? [59] 100.0% ------------------------------------------------------------------------------- for-loop [48] 100.0% [54] 206(3.1%) 0(0.0%) atab-add-altn ...ng-2/src/core/alt-table.rkt:194:0 errors [60] 100.0% ------------------------------------------------------------------------------- dispatch-transformer41 [49] 100.0% [55] 204(3.1%) 0(0.0%) apply-transformer52 (unknown source) apply-transformer-in-context [61] 100.0% ------------------------------------------------------------------------------- lambda-clause-expander [50] 12.5% for-loop [62] 87.5% [56] 200(3.0%) 0(0.0%) finish-bodys (unknown source) for-loop [62] 100.0% ------------------------------------------------------------------------------- rewrite-expression-head24 [51] 33.3% matcher [72] 66.7% [57] 200(3.0%) 0(0.0%) rewriter ...rebuilding-2/src/core/matcher.rkt:87:2 for-loop [63] 100.0% ------------------------------------------------------------------------------- for-loop [52] 100.0% [58] 5582(84.7%) 0(0.0%) for-loop ...ebuilding-2/src/core/simplify.rkt:80:4 ??? [64] 88.9% egraph-rebuild [67] 7.5% prune-phase [71] 3.6% ------------------------------------------------------------------------------- loop [10] 11.0% ??? [6] 11.3% location-do [65] 38.9% for-loop [53] 38.9% [59] 604(9.2%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [65] 38.9% approximate9 [2] 38.9% hash-ref! [66] 22.3% ------------------------------------------------------------------------------- atab-add-altn [54] 100.0% [60] 206(3.1%) 0(0.0%) errors ...egraph-rebuilding-2/src/points.rkt:190:0 for-loop [68] 100.0% ------------------------------------------------------------------------------- apply-transformer52 [55] 100.0% [61] 204(3.1%) 0(0.0%) apply-transformer-in-context (unknown source) new-lambda [69] 100.0% ------------------------------------------------------------------------------- fallback-loop [38] 10.0% for-loop [62] 10.0% finish-bodys [56] 80.0% [62] 200(3.0%) 200(3.0%) for-loop (unknown source) finish-bodys [56] 70.0% for-loop [62] 10.0% loop [24] 10.0% ------------------------------------------------------------------------------- rewriter [57] 100.0% [63] 200(3.0%) 0(0.0%) for-loop ...rebuilding-2/src/core/matcher.rkt:89:4 matcher [72] 66.7% for-loop [70] 33.3% ------------------------------------------------------------------------------- for-loop [58] 100.0% [64] 4964(75.3%) 0(0.0%) ??? ...fy-regraph-rebuilding/regraph/main.rkt:45:0 find-matches [73] 91.0% for-loop [74] 9.0% ------------------------------------------------------------------------------- location-do [65] 16.6% ??? [59] 83.4% [65] 604(9.2%) 0(0.0%) location-do ...-rebuilding-2/src/programs.rkt:63:0 ??? [59] 83.4% location-do [65] 16.6% ------------------------------------------------------------------------------- ??? [19] 6.6% ??? [80] 6.6% ??? [77] 8.4% loop [10] 8.4% first-nonzero-exp [22] 11.0% ??? [76] 15.1% ??? [59] 15.1% for-loop [11] 28.7% [66] 604(9.2%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [3] 28.7% ??? [4] 17.7% ??? [76] 15.1% ??? [6] 8.4% ??? [77] 8.4% f40 [5] 8.4% ??? [80] 6.6% f61 [17] 6.6% ------------------------------------------------------------------------------- for-loop [58] 100.0% [67] 418(6.3%) 0(0.0%) egraph-rebuild ...building/regraph/egraph.rkt:61:0 egraph-rebuild-once [75] 100.0% ------------------------------------------------------------------------------- errors [60] 100.0% [68] 206(3.1%) 206(3.1%) for-loop ...raph-rebuilding-2/src/points.rkt:192:2 ------------------------------------------------------------------------------- apply-transformer-in-context [61] 100.0% [69] 204(3.1%) 204(3.1%) new-lambda ...ollects/racket/private/kw.rkt:856:11 ------------------------------------------------------------------------------- for-loop [63] 100.0% [70] 200(3.0%) 0(0.0%) for-loop ...rebuilding-2/src/core/matcher.rkt:96:8 fix-up-variables [78] 100.0% ------------------------------------------------------------------------------- for-loop [58] 100.0% [71] 200(3.0%) 0(0.0%) prune-phase ...ph-rebuilding/regraph/main.rkt:74:0 for-loop [79] 100.0% ------------------------------------------------------------------------------- for-loop [14] 50.0% for-loop [63] 50.0% [72] 200(3.0%) 0(0.0%) matcher ...rebuilding-2/src/core/matcher.rkt:115:2 ??? [8] 50.0% rewriter [57] 50.0% ------------------------------------------------------------------------------- ??? [64] 100.0% [73] 4516(68.5%) 0(0.0%) find-matches ...h-rebuilding/regraph/main.rkt:37:0 for-loop [81] 100.0% ------------------------------------------------------------------------------- ??? [64] 100.0% [74] 448(6.8%) 0(0.0%) for-loop ...graph-rebuilding/regraph/main.rkt:48:2 for-loop [82] 100.0% ------------------------------------------------------------------------------- egraph-rebuild [67] 100.0% [75] 418(6.3%) 0(0.0%) egraph-rebuild-once ...ing/regraph/egraph.rkt:68:0 for-loop [83] 100.0% ------------------------------------------------------------------------------- hash-ref! [66] 100.0% [76] 404(6.1%) 0(0.0%) ??? ...raph-rebuilding-2/src/core/taylor.rkt:44:15 hash-ref! [66] 100.0% ------------------------------------------------------------------------------- hash-ref! [66] 100.0% [77] 204(3.1%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:327:33 hash-ref! [66] 100.0% ------------------------------------------------------------------------------- for-loop [70] 100.0% [78] 200(3.0%) 0(0.0%) fix-up-variables ...g-2/src/core/matcher.rkt:108:2 for-loop [84] 100.0% ------------------------------------------------------------------------------- prune-phase [71] 100.0% [79] 200(3.0%) 0(0.0%) for-loop ...graph-rebuilding/regraph/main.rkt:77:2 update-leader! [85] 100.0% ------------------------------------------------------------------------------- hash-ref! [66] 100.0% [80] 200(3.0%) 0(0.0%) ??? ...aph-rebuilding-2/src/core/taylor.rkt:343:33 hash-ref! [66] 100.0% ------------------------------------------------------------------------------- for-loop [81] 50.0% find-matches [73] 50.0% [81] 4516(68.5%) 222(3.4%) for-loop ...graph-rebuilding/regraph/main.rkt:39:2 for-loop [81] 50.0% match-e [86] 47.5% ------------------------------------------------------------------------------- for-loop [74] 100.0% [82] 448(6.8%) 0(0.0%) for-loop ...graph-rebuilding/regraph/main.rkt:51:4 add-enode-rec! [87] 53.6% substitute-e [88] 46.4% ------------------------------------------------------------------------------- egraph-rebuild-once [75] 100.0% [83] 418(6.3%) 218(3.3%) for-loop ...aph-rebuilding/regraph/egraph.rkt:72:2 for-loop [89] 47.8% ------------------------------------------------------------------------------- fix-up-variables [78] 100.0% [84] 200(3.0%) 0(0.0%) for-loop ...rebuilding-2/src/core/matcher.rkt:41:9 for-loop [90] 100.0% ------------------------------------------------------------------------------- for-loop [79] 100.0% [85] 200(3.0%) 0(0.0%) update-leader! ...uilding/regraph/egraph.rkt:265:0 for-loop [91] 100.0% ------------------------------------------------------------------------------- for-loop [95] 26.1% for-loop [81] 73.9% [86] 4294(65.1%) 1204(18.3%) match-e ...raph-rebuilding/regraph/ematch.rkt:35:0 for-loop [92] 79.0% ------------------------------------------------------------------------------- for-loop [82] 100.0% [87] 240(3.6%) 240(3.6%) add-enode-rec! ...uilding/regraph/egraph.rkt:165:0 ------------------------------------------------------------------------------- substitute-e [88] 50.0% for-loop [82] 50.0% [88] 208(3.2%) 208(3.2%) substitute-e ...rebuilding/regraph/ematch.rkt:55:0 substitute-e [88] 50.0% ------------------------------------------------------------------------------- for-loop [83] 100.0% [89] 200(3.0%) 200(3.0%) for-loop ...aph-rebuilding/regraph/egraph.rkt:73:4 ------------------------------------------------------------------------------- for-loop [84] 100.0% [90] 200(3.0%) 0(0.0%) for-loop ...rebuilding-2/src/core/matcher.rkt:26:9 fallback-update [93] 100.0% ------------------------------------------------------------------------------- update-leader! [85] 100.0% [91] 200(3.0%) 0(0.0%) for-loop ...ph-rebuilding/regraph/egraph.rkt:270:6 for-loop [94] 100.0% ------------------------------------------------------------------------------- match-e [86] 100.0% [92] 3694(56.0%) 1016(15.4%) for-loop ...ph-rebuilding/regraph/ematch.rkt:41:11 for-loop [95] 46.6% procedure-reduce-keyword-arity-mask [96] 24.9% do-curry [97] 9.2% ------------------------------------------------------------------------------- for-loop [90] 100.0% [93] 200(3.0%) 0(0.0%) fallback-update ...s/racket/private/dict.rkt:115:2 dict-implements? [98] 100.0% ------------------------------------------------------------------------------- for-loop [91] 100.0% [94] 200(3.0%) 0(0.0%) for-loop ...ph-rebuilding/regraph/egraph.rkt:271:8 hash-update! [99] 100.0% ------------------------------------------------------------------------------- for-loop [92] 100.0% [95] 2438(37.0%) 400(6.1%) for-loop ...ph-rebuilding/regraph/ematch.rkt:47:37 match-e [86] 87.7% ------------------------------------------------------------------------------- for-loop [92] 100.0% [96] 1232(18.7%) 1232(18.7%) procedure-reduce-keyword-arity-mask ....rkt:1597:4 ------------------------------------------------------------------------------- for-loop [92] 100.0% [97] 442(6.7%) 442(6.7%) do-curry ...-7.5/collects/racket/function.rkt:71:2 ------------------------------------------------------------------------------- fallback-update [93] 100.0% [98] 200(3.0%) 200(3.0%) dict-implements? ...ket/private/generic.rkt:152:11 ------------------------------------------------------------------------------- for-loop [94] 100.0% [99] 200(3.0%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [100] 100.0% ------------------------------------------------------------------------------- hash-update! [99] 100.0% [100] 200(3.0%) 0(0.0%) ??? ...egraph-rebuilding/regraph/egraph.rkt:273:24 for-loop [101] 100.0% ------------------------------------------------------------------------------- ??? [100] 100.0% [101] 200(3.0%) 200(3.0%) for-loop ...h-rebuilding/regraph/egraph.rkt:274:26 -------------------------------------------------------------------------------