Profiling results ----------------- Total cpu time observed: 6070ms (out of 6244ms) Number of samples taken: 28 (once every 217ms) ========================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================= [1] 6070(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [8] 100.0% ------------------------------------------------------------------------- ??? [66] 100.0% [2] 1724(28.4%) 0(0.0%) approximate9 ...und-truth/src/core/taylor.rkt:11:0 loop [9] 65.1% for-loop [11] 23.3% taylor [15] 11.6% ------------------------------------------------------------------------- map [17] 45.6% hash-ref! [25] 54.4% [3] 716(11.8%) 0(0.0%) f41 (unknown source) map [17] 100.0% ------------------------------------------------------------------------- matcher [77] 100.0% [4] 648(10.7%) 0(0.0%) ??? ...on-ground-truth/src/core/matcher.rkt:129:11 for-loop [10] 100.0% ------------------------------------------------------------------------- hash-ref! [25] 100.0% [5] 310(5.1%) 0(0.0%) ??? ...ion-ground-truth/src/core/taylor.rkt:300:23 for-loop [12] 100.0% ------------------------------------------------------------------------- rewriter [62] 100.0% [6] 224(3.7%) 0(0.0%) *rules* ...ground-truth/src/syntax/rules.rkt:666:0 for-loop [109] 100.0% ------------------------------------------------------------------------- loop [92] 100.0% [7] 206(3.4%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [13] 100.0% ------------------------------------------------------------------------- ??? [1] 100.0% [8] 6070(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [14] 100.0% ------------------------------------------------------------------------- approximate9 [2] 100.0% [9] 1122(18.5%) 0(0.0%) loop ...tion-ground-truth/src/core/taylor.rkt:86:4 hash-ref! [25] 81.6% ??? [66] 18.4% ------------------------------------------------------------------------- ??? [4] 100.0% [10] 648(10.7%) 0(0.0%) for-loop ...ound-truth/src/core/matcher.rkt:131:15 matcher [77] 100.0% ------------------------------------------------------------------------- approximate9 [2] 100.0% [11] 402(6.6%) 0(0.0%) for-loop ...ground-truth/src/core/taylor.rkt:29:18 taylor [15] 100.0% ------------------------------------------------------------------------- ??? [5] 100.0% [12] 310(5.1%) 0(0.0%) for-loop ...round-truth/src/core/taylor.rkt:303:27 hash-ref! [25] 100.0% ------------------------------------------------------------------------- expand-id-application-form17 [7] 100.0% [13] 206(3.4%) 0(0.0%) syntax-e/no-taint (unknown source) loop [92] 100.0% ------------------------------------------------------------------------- profile-thunk16 [8] 100.0% [14] 6070(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [16] 100.0% ------------------------------------------------------------------------- map [17] 6.6% approximate9 [2] 16.6% for-loop [11] 23.4% taylor [15] 53.3% [15] 602(9.9%) 200(3.3%) taylor ...n-ground-truth/src/core/taylor.rkt:169:0 taylor [15] 53.3% taylor-sqrt [18] 16.8% taylor-invert [19] 16.6% map [17] 6.6% ------------------------------------------------------------------------- for-loop [76] 5.3% run [14] 94.7% [16] 6070(100.0%) 0(0.0%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [20] 74.8% get-final-combination [21] 20.0% ??? [69] 5.3% ------------------------------------------------------------------------- taylor [15] 21.8% f41 [3] 78.2% [17] 916(15.1%) 206(3.4%) map ...t-7.5/collects/racket/private/map.rkt:35:13 f41 [3] 35.7% parse-loop75 [22] 33.8% taylor [15] 21.8% simplify* [23] 5.5% ------------------------------------------------------------------------- taylor [15] 100.0% [18] 202(3.3%) 0(0.0%) taylor-sqrt ...und-truth/src/core/taylor.rkt:351:0 parse-loop75 [22] 100.0% ------------------------------------------------------------------------- taylor [15] 100.0% [19] 200(3.3%) 0(0.0%) taylor-invert ...d-truth/src/core/taylor.rkt:317:0 parse-loop75 [22] 100.0% ------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [16] 100.0% [20] 4858(80.0%) 0(0.0%) run-improve47 ...ound-truth/src/mainloop.rkt:347:0 for-loop [24] 90.0% simplify! [39] 10.0% ------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [16] 100.0% [21] 1212(20.0%) 0(0.0%) get-final-combination ...th/src/mainloop.rkt:372:0 infer-splitpoints [26] 83.2% f34 [28] 16.8% ------------------------------------------------------------------------- taylor-invert [19] 28.1% taylor-sqrt [18] 28.4% map [17] 43.5% [22] 712(11.7%) 0(0.0%) parse-loop75 (unknown source) eval-const-expr [27] 100.0% ------------------------------------------------------------------------- map [17] 100.0% [23] 200(3.3%) 0(0.0%) simplify* ...ground-truth/src/core/reduce.rkt:29:0 hash-ref! [25] 100.0% ------------------------------------------------------------------------- run-improve47 [20] 100.0% [24] 4370(72.0%) 0(0.0%) for-loop ...on-ground-truth/src/mainloop.rkt:366:4 run-iter! [29] 100.0% ------------------------------------------------------------------------- simplify* [23] 3.6% for-loop [12] 5.5% ??? [31] 9.1% ??? [32] 15.2% loop [9] 24.1% ??? [66] 42.5% [25] 1122(18.5%) 200(3.3%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [31] 33.2% f62 [33] 18.4% ??? [32] 15.2% f41 [3] 15.2% taylor-quotient [35] 8.9% ??? [5] 5.5% ------------------------------------------------------------------------- get-final-combination [21] 100.0% [26] 1008(16.6%) 0(0.0%) infer-splitpoints ...uth/src/core/regimes.rkt:33:0 for-loop [30] 100.0% ------------------------------------------------------------------------- f62 [33] 22.4% parse-loop75 [22] 77.6% [27] 918(15.1%) 0(0.0%) eval-const-expr ...nd-truth/src/programs.rkt:116:0 temp85_0 [84] 44.4% loop [92] 33.8% eval [36] 21.8% ------------------------------------------------------------------------- get-final-combination [21] 100.0% [28] 204(3.4%) 0(0.0%) f34 (unknown source) sindices->spoints [34] 100.0% ------------------------------------------------------------------------- for-loop [24] 100.0% [29] 4370(72.0%) 0(0.0%) run-iter! ...n-ground-truth/src/mainloop.rkt:328:0 gen-series! [37] 39.5% finalize-iter! [38] 33.2% gen-rewrites! [41] 14.8% simplify! [39] 12.5% ------------------------------------------------------------------------- infer-splitpoints [26] 100.0% [30] 1008(16.6%) 0(0.0%) for-loop ...ground-truth/src/core/regimes.rkt:46:6 option-on-expr [40] 100.0% ------------------------------------------------------------------------- hash-ref! [25] 100.0% [31] 916(15.1%) 0(0.0%) ??? ...tion-ground-truth/src/core/taylor.rkt:67:15 ??? [66] 72.2% hash-ref! [25] 27.8% ------------------------------------------------------------------------- hash-ref! [25] 100.0% [32] 716(11.8%) 0(0.0%) ??? ...tion-ground-truth/src/core/taylor.rkt:44:15 hash-ref! [25] 100.0% ------------------------------------------------------------------------- hash-ref! [25] 100.0% [33] 206(3.4%) 0(0.0%) f62 (unknown source) eval-const-expr [27] 100.0% ------------------------------------------------------------------------- f34 [28] 100.0% [34] 204(3.4%) 0(0.0%) sindices->spoints ...th/src/core/regimes.rkt:193:0 for-loop [42] 100.0% ------------------------------------------------------------------------- hash-ref! [25] 100.0% [35] 200(3.3%) 0(0.0%) taylor-quotient ...truth/src/core/taylor.rkt:333:0 simplify-node [43] 100.0% ------------------------------------------------------------------------- eval-const-expr [27] 100.0% [36] 200(3.3%) 0(0.0%) eval (unknown source) namespace-syntax-introduce3 [44] 100.0% ------------------------------------------------------------------------- run-iter! [29] 100.0% [37] 1724(28.4%) 0(0.0%) gen-series! ...ground-truth/src/mainloop.rkt:161:0 for-loop [45] 100.0% ------------------------------------------------------------------------- run-iter! [29] 100.0% [38] 1452(23.9%) 0(0.0%) finalize-iter! ...und-truth/src/mainloop.rkt:279:0 ??? [46] 100.0% ------------------------------------------------------------------------- run-improve47 [20] 47.2% run-iter! [29] 52.8% [39] 1034(17.0%) 0(0.0%) simplify! ...n-ground-truth/src/mainloop.rkt:225:0 ??? [47] 100.0% ------------------------------------------------------------------------- for-loop [30] 100.0% [40] 1008(16.6%) 0(0.0%) option-on-expr ...truth/src/core/regimes.rkt:125:0 err-lsts->split-indices [49] 59.7% sort-context-on-expr [50] 40.3% ------------------------------------------------------------------------- run-iter! [29] 100.0% [41] 648(10.7%) 0(0.0%) gen-rewrites! ...ound-truth/src/mainloop.rkt:184:0 for-loop [48] 100.0% ------------------------------------------------------------------------- sindices->spoints [34] 100.0% [42] 204(3.4%) 0(0.0%) for-loop ...round-truth/src/core/regimes.rkt:232:9 prepare-points-intervals [51] 100.0% ------------------------------------------------------------------------- taylor-quotient [35] 100.0% [43] 200(3.3%) 200(3.3%) simplify-node ...nd-truth/src/core/reduce.rkt:46:0 ------------------------------------------------------------------------- eval [36] 100.0% [44] 200(3.3%) 200(3.3%) namespace-syntax-introduce3 (unknown source) ------------------------------------------------------------------------- gen-series! [37] 100.0% [45] 1724(28.4%) 0(0.0%) for-loop ...on-ground-truth/src/mainloop.rkt:168:7 taylor-alt [52] 100.0% ------------------------------------------------------------------------- finalize-iter! [38] 100.0% [46] 1452(23.9%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [53] 100.0% ------------------------------------------------------------------------- simplify! [39] 100.0% [47] 1034(17.0%) 0(0.0%) ??? ...ion-ground-truth/src/core/simplify.rkt:43:0 egraph-run [54] 100.0% ------------------------------------------------------------------------- gen-rewrites! [41] 100.0% [48] 648(10.7%) 0(0.0%) for-loop ...n-ground-truth/src/mainloop.rkt:192:11 rewrite-expression-head20 [55] 100.0% ------------------------------------------------------------------------- option-on-expr [40] 100.0% [49] 602(9.9%) 0(0.0%) err-lsts->split-indices .../core/regimes.rkt:261:0 loop [56] 100.0% ------------------------------------------------------------------------- option-on-expr [40] 100.0% [50] 406(6.7%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:118:0 ??? [57] 100.0% ------------------------------------------------------------------------- for-loop [42] 100.0% [51] 204(3.4%) 0(0.0%) prepare-points-intervals ...h/src/points.rkt:114:0 loop [58] 100.0% ------------------------------------------------------------------------- for-loop [45] 100.0% [52] 1724(28.4%) 0(0.0%) taylor-alt ...-ground-truth/src/mainloop.rkt:147:0 for-loop [59] 100.0% ------------------------------------------------------------------------- ??? [46] 100.0% [53] 1452(23.9%) 0(0.0%) for-loop ...ound-truth/src/core/alt-table.rkt:55:2 atab-add-altn [60] 84.8% errors [67] 15.2% ------------------------------------------------------------------------- ??? [47] 100.0% [54] 1034(17.0%) 0(0.0%) egraph-run .../pkgs/egg-herbie-linux/main.rkt:49:0 egraph-add-exprs [61] 100.0% ------------------------------------------------------------------------- for-loop [48] 100.0% [55] 648(10.7%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:86:0 rewriter [62] 100.0% ------------------------------------------------------------------------- err-lsts->split-indices [49] 100.0% [56] 602(9.9%) 0(0.0%) loop ...on-ground-truth/src/core/regimes.rkt:312:4 for-loop [63] 100.0% ------------------------------------------------------------------------- sort-context-on-expr [50] 100.0% [57] 406(6.7%) 0(0.0%) ??? ...-7.5/collects/racket/private/sort.rkt:369:3 generic-sort/key [64] 100.0% ------------------------------------------------------------------------- prepare-points-intervals [51] 100.0% [58] 204(3.4%) 0(0.0%) loop ...etection-ground-truth/src/points.rkt:127:4 loop [65] 100.0% ------------------------------------------------------------------------- taylor-alt [52] 100.0% [59] 1724(28.4%) 0(0.0%) for-loop ...on-ground-truth/src/mainloop.rkt:153:6 ??? [66] 100.0% ------------------------------------------------------------------------- for-loop [53] 100.0% [60] 1232(20.3%) 0(0.0%) atab-add-altn ...ruth/src/core/alt-table.rkt:203:0 errors [67] 83.4% for-loop [73] 16.6% ------------------------------------------------------------------------- egraph-run [54] 100.0% [61] 1034(17.0%) 0(0.0%) egraph-add-exprs ...gg-herbie-linux/main.rkt:111:0 ??? [68] 100.0% ------------------------------------------------------------------------- rewrite-expression-head20 [55] 26.0% matcher [77] 74.0% [62] 648(10.7%) 0(0.0%) rewriter ...ground-truth/src/core/matcher.rkt:89:2 for-loop [70] 91.4% *rules* [6] 8.6% ------------------------------------------------------------------------- loop [56] 100.0% [63] 602(9.9%) 200(3.3%) for-loop ...round-truth/src/core/regimes.rkt:277:4 for-loop [72] 66.8% ------------------------------------------------------------------------- ??? [57] 100.0% [64] 406(6.7%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [71] 100.0% ------------------------------------------------------------------------- loop [58] 100.0% [65] 204(3.4%) 0(0.0%) loop ...detection-ground-truth/src/points.rkt:82:2 ??? [69] 100.0% ------------------------------------------------------------------------- loop [9] 4.0% ??? [31] 17.7% location-do [74] 39.2% for-loop [59] 39.2% [66] 1724(28.4%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [74] 39.2% approximate9 [2] 39.2% hash-ref! [25] 21.7% ------------------------------------------------------------------------- for-loop [53] 17.6% atab-add-altn [60] 82.4% [67] 1248(20.6%) 0(0.0%) errors ...ection-ground-truth/src/points.rkt:205:0 for-loop [76] 67.8% eval-prog [79] 32.2% ------------------------------------------------------------------------- egraph-add-exprs [61] 100.0% [68] 1034(17.0%) 0(0.0%) ??? ...on-ground-truth/src/core/simplify.rkt:103:6 for-loop [75] 100.0% ------------------------------------------------------------------------- loop [65] 24.2% .../more-scheme.rkt:261:28 [16] 75.8% [69] 842(13.9%) 420(6.9%) ??? ...tection-ground-truth/src/programs.rkt:113:2 ??? [80] 25.9% ??? [82] 24.2% ------------------------------------------------------------------------- rewriter [62] 100.0% [70] 648(10.7%) 0(0.0%) for-loop ...ground-truth/src/core/matcher.rkt:91:4 matcher [77] 82.7% for-loop [78] 17.3% ------------------------------------------------------------------------- generic-sort/key [64] 29.1% copying-mergesort [71] 70.9% [71] 406(6.7%) 200(3.3%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [71] 70.9% jloop [81] 12.7% ------------------------------------------------------------------------- for-loop [63] 100.0% [72] 402(6.6%) 202(3.3%) for-loop ...round-truth/src/core/regimes.rkt:281:8 ??? [83] 49.8% ------------------------------------------------------------------------- atab-add-altn [60] 100.0% [73] 204(3.4%) 204(3.4%) for-loop ...und-truth/src/core/alt-table.rkt:119:2 ------------------------------------------------------------------------- location-do [74] 17.6% ??? [66] 82.4% [74] 1724(28.4%) 0(0.0%) location-do ...-ground-truth/src/programs.rkt:62:0 ??? [66] 82.4% location-do [74] 17.6% ------------------------------------------------------------------------- ??? [68] 100.0% [75] 1034(17.0%) 1034(17.0%) for-loop ...ound-truth/src/core/simplify.rkt:122:2 ------------------------------------------------------------------------- errors [67] 100.0% [76] 846(13.9%) 208(3.4%) for-loop ...tion-ground-truth/src/points.rkt:207:2 .../more-scheme.rkt:261:28 [16] 75.4% ------------------------------------------------------------------------- for-loop [10] 50.0% for-loop [70] 50.0% [77] 648(10.7%) 0(0.0%) matcher ...ground-truth/src/core/matcher.rkt:117:2 ??? [4] 50.0% rewriter [62] 50.0% ------------------------------------------------------------------------- for-loop [70] 100.0% [78] 424(7.0%) 0(0.0%) for-loop ...ground-truth/src/core/matcher.rkt:98:8 fix-up-variables [85] 100.0% ------------------------------------------------------------------------- errors [67] 100.0% [79] 402(6.6%) 0(0.0%) eval-prog ...on-ground-truth/src/programs.rkt:81:0 temp85_0 [84] 100.0% ------------------------------------------------------------------------- ??? [69] 100.0% [80] 218(3.6%) 218(3.6%) ??? ...n-ground-truth/src/syntax/syntax.rkt:214:17 ------------------------------------------------------------------------- copying-mergesort [71] 100.0% [81] 206(3.4%) 206(3.4%) jloop ...5/collects/racket/private/sort.rkt:120:23 ------------------------------------------------------------------------- ??? [69] 100.0% [82] 204(3.4%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-sqrt [86] 100.0% ------------------------------------------------------------------------- for-loop [72] 100.0% [83] 200(3.3%) 200(3.3%) ??? ...cket-7.5/collects/racket/function.rkt:93:12 ------------------------------------------------------------------------- eval-prog [79] 49.6% eval-const-expr [27] 50.4% [84] 810(13.3%) 0(0.0%) temp85_0 (unknown source) compile15 [87] 100.0% ------------------------------------------------------------------------- for-loop [78] 100.0% [85] 424(7.0%) 0(0.0%) fix-up-variables ...uth/src/core/matcher.rkt:110:2 for-loop [88] 51.4% pattern-match [89] 48.6% ------------------------------------------------------------------------- ??? [82] 100.0% [86] 204(3.4%) 204(3.4%) ival-sqrt ...round-truth/src/biginterval.rkt:245:0 ------------------------------------------------------------------------- temp85_0 [84] 100.0% [87] 810(13.3%) 0(0.0%) compile15 (unknown source) temp91_0 [90] 100.0% ------------------------------------------------------------------------- fix-up-variables [85] 100.0% [88] 218(3.6%) 0(0.0%) for-loop ...ground-truth/src/core/matcher.rkt:41:9 for-loop [91] 100.0% ------------------------------------------------------------------------- fix-up-variables [85] 100.0% [89] 206(3.4%) 0(0.0%) pattern-match ...d-truth/src/core/matcher.rkt:29:0 for-loop [91] 100.0% ------------------------------------------------------------------------- compile15 [87] 100.0% [90] 810(13.3%) 0(0.0%) temp91_0 (unknown source) compile-top9 [94] 49.9% temp118_0 [95] 25.4% loop [92] 24.7% ------------------------------------------------------------------------- pattern-match [89] 48.6% for-loop [88] 51.4% [91] 424(7.0%) 0(0.0%) for-loop ...ground-truth/src/core/matcher.rkt:26:9 core457 [93] 100.0% ------------------------------------------------------------------------- expand-capturing-lifts [96] 14.0% temp91_0 [90] 14.0% syntax-e/no-taint [13] 14.4% for-loop [109] 14.4% eval-const-expr [27] 43.3% [92] 716(11.8%) 200(3.3%) loop (unknown source) expand-capturing-lifts [96] 57.3% expand-id-application-form17 [7] 14.4% gf [98] 14.4% ------------------------------------------------------------------------- for-loop [91] 100.0% [93] 424(7.0%) 0(0.0%) core457 ...acket/contract/private/arr-i.rkt:976:19 ??? [97] 51.4% ??? [99] 48.6% ------------------------------------------------------------------------- temp91_0 [90] 100.0% [94] 404(6.7%) 0(0.0%) compile-top9 (unknown source) hash->linklet-bundle [100] 50.0% compile-forms33 [101] 50.0% ------------------------------------------------------------------------- temp91_0 [90] 100.0% [95] 206(3.4%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [96] 100.0% ------------------------------------------------------------------------- temp118_0 [95] 28.8% loop [92] 71.2% [96] 716(11.8%) 0(0.0%) expand-capturing-lifts (unknown source) dispatch-transformer41 [102] 43.3% lambda-clause-expander [105] 28.8% loop [92] 27.9% ------------------------------------------------------------------------- core457 [93] 100.0% [97] 218(3.6%) 218(3.6%) ??? ...ects/racket/contract/private/guts.rkt:770:8 ------------------------------------------------------------------------- loop [92] 100.0% [98] 206(3.4%) 0(0.0%) gf (unknown source) propagation-apply [103] 100.0% ------------------------------------------------------------------------- core457 [93] 100.0% [99] 206(3.4%) 0(0.0%) ??? ...s/racket/contract/private/arr-i.rkt:1288:27 build-nullary-very-simple--> [104]100.0% ------------------------------------------------------------------------- compile-top9 [94] 100.0% [100] 202(3.3%) 202(3.3%) hash->linklet-bundle (unknown source) ------------------------------------------------------------------------- compile-top9 [94] 100.0% [101] 202(3.3%) 0(0.0%) compile-forms33 (unknown source) for-loop [109] 100.0% ------------------------------------------------------------------------- expand-capturing-lifts [96] 100.0% [102] 310(5.1%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [106] 100.0% ------------------------------------------------------------------------- gf [98] 100.0% [103] 206(3.4%) 206(3.4%) propagation-apply (unknown source) ------------------------------------------------------------------------- ??? [99] 100.0% [104] 206(3.4%) 0(0.0%) build-nullary-very-simple--> ...l-first.rkt:1131:0 contract-struct-first-order [107] 100.0% ------------------------------------------------------------------------- expand-capturing-lifts [96] 100.0% [105] 206(3.4%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [108] 100.0% ------------------------------------------------------------------------- dispatch-transformer41 [102] 100.0% [106] 310(5.1%) 310(5.1%) apply-transformer52 (unknown source) ------------------------------------------------------------------------- build-nullary-very-simple--> [104]100.0% [107] 206(3.4%) 206(3.4%) contract-struct-first-order ...vate/prop.rkt:104:0 ------------------------------------------------------------------------- lambda-clause-expander [105] 100.0% [108] 206(3.4%) 0(0.0%) finish-bodys (unknown source) for-loop [109] 100.0% ------------------------------------------------------------------------- compile-forms33 [101] 32.0% finish-bodys [108] 32.6% *rules* [6] 35.4% [109] 632(10.4%) 0(0.0%) for-loop (unknown source) flag-set? [110] 35.4% loop [92] 32.6% compile-module-linklet57 [111] 32.0% ------------------------------------------------------------------------- for-loop [109] 100.0% [110] 224(3.7%) 224(3.7%) flag-set? ...tion-ground-truth/src/config.rkt:28:0 ------------------------------------------------------------------------- for-loop [109] 100.0% [111] 202(3.3%) 202(3.3%) compile-module-linklet57 (unknown source) -------------------------------------------------------------------------