Profiling results ----------------- Total cpu time observed: 6616ms (out of 6888ms) Number of samples taken: 31 (once every 213ms) ======================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================= [1] 6616(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [9] 100.0% ----------------------------------------------------------------------- ??? [76] 100.0% [2] 1386(20.9%) 0(0.0%) approximate9 ...-pow-test/src/core/taylor.rkt:11:0 loop [10] 81.5% for-loop [15] 18.5% ----------------------------------------------------------------------- hash-ref! [18] 100.0% [3] 642(9.7%) 0(0.0%) f40 (unknown source) map [42] 100.0% ----------------------------------------------------------------------- matcher [86] 100.0% [4] 446(6.7%) 0(0.0%) ??? ...e/ival-pow-test/src/core/matcher.rkt:127:11 for-loop [11] 100.0% ----------------------------------------------------------------------- hash-ref! [18] 100.0% [5] 280(4.2%) 0(0.0%) f61 (unknown source) composed [14] 100.0% ----------------------------------------------------------------------- hash-ref! [18] 100.0% [6] 280(4.2%) 0(0.0%) ??? ...ie/ival-pow-test/src/core/taylor.rkt:290:26 for-loop [13] 100.0% ----------------------------------------------------------------------- loop [106] 100.0% [7] 216(3.3%) 0(0.0%) core-form-sym (unknown source) syntax-e [12] 100.0% ----------------------------------------------------------------------- for-loop [104] 100.0% [8] 202(3.1%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [16] 100.0% ----------------------------------------------------------------------- ??? [1] 100.0% [9] 6616(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [17] 100.0% ----------------------------------------------------------------------- approximate9 [2] 100.0% [10] 1130(17.1%) 0(0.0%) loop ...bie/ival-pow-test/src/core/taylor.rkt:86:4 hash-ref! [18] 81.6% ??? [76] 18.4% ----------------------------------------------------------------------- ??? [4] 100.0% [11] 446(6.7%) 0(0.0%) for-loop ...l-pow-test/src/core/matcher.rkt:129:15 matcher [86] 100.0% ----------------------------------------------------------------------- loop [106] 48.3% core-form-sym [7] 51.7% [12] 418(6.3%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [19] 100.0% ----------------------------------------------------------------------- ??? [6] 100.0% [13] 280(4.2%) 0(0.0%) for-loop ...al-pow-test/src/core/taylor.rkt:290:52 hash-ref! [18] 100.0% ----------------------------------------------------------------------- f61 [5] 100.0% [14] 280(4.2%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 free-variables [20] 100.0% ----------------------------------------------------------------------- approximate9 [2] 100.0% [15] 256(3.9%) 0(0.0%) for-loop ...val-pow-test/src/core/taylor.rkt:29:18 taylor [21] 100.0% ----------------------------------------------------------------------- dispatch-transformer41 [8] 100.0% [16] 202(3.1%) 0(0.0%) apply-transformer52 (unknown source) apply-transformer-in-context [22]100.0% ----------------------------------------------------------------------- profile-thunk16 [9] 100.0% [17] 6616(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [23] 100.0% ----------------------------------------------------------------------- for-loop [13] 6.2% loop [10] 25.1% ??? [24] 34.3% ??? [76] 34.3% [18] 1130(17.1%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [24] 34.3% ??? [25] 25.1% f40 [3] 18.9% parse-loop74 [48] 9.2% ??? [6] 6.2% f61 [5] 6.2% ----------------------------------------------------------------------- syntax-e [12] 100.0% [19] 418(6.3%) 0(0.0%) syntax-e/no-taint (unknown source) loop [106] 100.0% ----------------------------------------------------------------------- composed [14] 20.0% append-map [26] 80.0% [20] 280(4.2%) 0(0.0%) free-variables ...l-pow-test/src/programs.rkt:56:0 append-map [26] 80.0% ??? [54] 20.0% ----------------------------------------------------------------------- for-loop [15] 33.3% taylor [21] 66.7% [21] 256(3.9%) 0(0.0%) taylor .../ival-pow-test/src/core/taylor.rkt:169:0 taylor [21] 66.7% debug-print [27] 33.3% ----------------------------------------------------------------------- apply-transformer52 [16] 100.0% [22] 202(3.1%) 0(0.0%) apply-transformer-in-context (unknown source) ??? [28] 100.0% ----------------------------------------------------------------------- for-loop [84] 5.1% run [17] 94.9% [23] 6616(100.0%) 442(6.7%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [29] 65.5% prepare-points-intervals [30] 17.2% errors [75] 3.1% oracle-error [32] 3.1% eval-errors [34] 3.0% get-final-combination [35] 2.9% ??? [31] 1.8% ----------------------------------------------------------------------- hash-ref! [18] 100.0% [24] 1130(17.1%) 0(0.0%) ??? ...bie/ival-pow-test/src/core/taylor.rkt:44:15 hash-ref! [18] 100.0% ----------------------------------------------------------------------- hash-ref! [18] 100.0% [25] 922(13.9%) 0(0.0%) ??? ...bie/ival-pow-test/src/core/taylor.rkt:67:15 ??? [76] 100.0% ----------------------------------------------------------------------- free-variables [20] 100.0% [26] 280(4.2%) 0(0.0%) append-map ...t-7.5/collects/racket/list.rkt:586:2 free-variables [20] 100.0% ----------------------------------------------------------------------- taylor [21] 100.0% [27] 256(3.9%) 256(3.9%) debug-print ...e/ival-pow-test/src/debug.rkt:110:0 ----------------------------------------------------------------------- apply-transformer-in-context [22]100.0% [28] 202(3.1%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 syntax->list [33] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [23] 100.0% [29] 4672(70.6%) 0(0.0%) run-improve47 ...l-pow-test/src/mainloop.rkt:346:0 for-loop [36] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [23] 100.0% [30] 1138(17.2%) 0(0.0%) prepare-points-intervals ...t/src/points.rkt:120:0 loop [37] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [23] 100.0% [31] 232(3.5%) 232(3.5%) ??? ...cket-7.5/collects/racket/function.rkt:93:12 ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [23] 100.0% [32] 206(3.1%) 0(0.0%) oracle-error ...ival-pow-test/src/points.rkt:177:0 for-loop [38] 100.0% ----------------------------------------------------------------------- ??? [28] 100.0% [33] 202(3.1%) 0(0.0%) syntax->list (unknown source) loop [106] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [23] 100.0% [34] 200(3.0%) 0(0.0%) eval-errors .../ival-pow-test/src/points.rkt:168:0 for-loop [39] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [23] 100.0% [35] 192(2.9%) 0(0.0%) get-final-combination ...st/src/mainloop.rkt:371:0 *fp-safe-simplify-rules* [40] 100.0% ----------------------------------------------------------------------- run-improve47 [29] 100.0% [36] 4672(70.6%) 0(0.0%) for-loop ...e/ival-pow-test/src/mainloop.rkt:365:4 run-iter! [41] 100.0% ----------------------------------------------------------------------- prepare-points-intervals [30] 100.0% [37] 1138(17.2%) 0(0.0%) loop .../herbie/ival-pow-test/src/points.rkt:132:4 loop [43] 67.1% ??? [44] 32.9% ----------------------------------------------------------------------- oracle-error [32] 100.0% [38] 206(3.1%) 0(0.0%) for-loop ...bie/ival-pow-test/src/points.rkt:178:2 map [42] 100.0% ----------------------------------------------------------------------- eval-errors [34] 100.0% [39] 200(3.0%) 200(3.0%) for-loop ...bie/ival-pow-test/src/points.rkt:170:2 ----------------------------------------------------------------------- get-final-combination [35] 100.0% [40] 192(2.9%) 0(0.0%) *fp-safe-simplify-rules* ...syntax/rules.rkt:680:0 for-loop [104] 100.0% ----------------------------------------------------------------------- for-loop [36] 100.0% [41] 4672(70.6%) 0(0.0%) run-iter! .../ival-pow-test/src/mainloop.rkt:327:0 finalize-iter! [45] 41.1% gen-series! [46] 29.7% simplify! [47] 19.7% gen-rewrites! [49] 9.5% ----------------------------------------------------------------------- for-loop [38] 24.3% f40 [3] 75.7% [42] 848(12.8%) 0(0.0%) map ...t-7.5/collects/racket/private/map.rkt:35:13 parse-loop74 [48] 75.7% ??? [51] 24.3% ----------------------------------------------------------------------- loop [37] 100.0% [43] 764(11.5%) 190(2.9%) loop ...s/herbie/ival-pow-test/src/points.rkt:79:2 ??? [50] 49.5% real->precision [52] 25.7% ----------------------------------------------------------------------- loop [37] 100.0% [44] 374(5.7%) 190(2.9%) ??? ...s/herbie/ival-pow-test/src/points.rkt:113:6 sample-multi-bounded [53] 49.2% ----------------------------------------------------------------------- run-iter! [41] 100.0% [45] 1920(29.0%) 0(0.0%) finalize-iter! ...-pow-test/src/mainloop.rkt:278:0 ??? [54] 100.0% ----------------------------------------------------------------------- run-iter! [41] 100.0% [46] 1386(20.9%) 0(0.0%) gen-series! ...val-pow-test/src/mainloop.rkt:160:0 for-loop [55] 100.0% ----------------------------------------------------------------------- run-iter! [41] 100.0% [47] 920(13.9%) 0(0.0%) simplify! .../ival-pow-test/src/mainloop.rkt:224:0 ??? [56] 100.0% ----------------------------------------------------------------------- hash-ref! [18] 24.5% map [42] 75.5% [48] 850(12.8%) 0(0.0%) parse-loop74 (unknown source) eval-const-expr [57] 100.0% ----------------------------------------------------------------------- run-iter! [41] 100.0% [49] 446(6.7%) 0(0.0%) gen-rewrites! ...l-pow-test/src/mainloop.rkt:183:0 for-loop [58] 100.0% ----------------------------------------------------------------------- loop [43] 100.0% [50] 378(5.7%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-add [59] 100.0% ----------------------------------------------------------------------- map [42] 100.0% [51] 206(3.1%) 206(3.1%) ??? .../herbie/ival-pow-test/src/points.rkt:179:26 ----------------------------------------------------------------------- loop [43] 100.0% [52] 196(3.0%) 196(3.0%) real->precision ...pow-test/src/programs.rkt:94:11 ----------------------------------------------------------------------- ??? [44] 100.0% [53] 184(2.8%) 0(0.0%) sample-multi-bounded ...w-test/src/points.rkt:14:0 random-ranges [60] 100.0% ----------------------------------------------------------------------- free-variables [20] 12.7% finalize-iter! [45] 87.3% [54] 2200(33.3%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [61] 87.3% ??? [66] 12.7% ----------------------------------------------------------------------- gen-series! [46] 100.0% [55] 1386(20.9%) 0(0.0%) for-loop ...e/ival-pow-test/src/mainloop.rkt:167:7 taylor-alt [62] 100.0% ----------------------------------------------------------------------- simplify! [47] 100.0% [56] 920(13.9%) 0(0.0%) ??? ...ie/ival-pow-test/src/core/simplify.rkt:42:0 egraph-run [63] 100.0% ----------------------------------------------------------------------- parse-loop74 [48] 100.0% [57] 850(12.8%) 0(0.0%) eval-const-expr ...pow-test/src/programs.rkt:120:0 temp85_0 [82] 100.0% ----------------------------------------------------------------------- gen-rewrites! [49] 100.0% [58] 446(6.7%) 0(0.0%) for-loop .../ival-pow-test/src/mainloop.rkt:191:11 rewrite-expression-head24 [64] 100.0% ----------------------------------------------------------------------- ??? [50] 100.0% [59] 378(5.7%) 0(0.0%) ival-add ...val-pow-test/src/biginterval.rkt:102:0 bfadd [65] 100.0% ----------------------------------------------------------------------- sample-multi-bounded [53] 100.0% [60] 184(2.8%) 0(0.0%) random-ranges ...val-pow-test/src/common.rkt:164:0 build--> [67] 100.0% ----------------------------------------------------------------------- ??? [54] 100.0% [61] 1920(29.0%) 200(3.0%) for-loop ...l-pow-test/src/core/alt-table.rkt:46:2 atab-add-altn [70] 47.1% errors [75] 31.8% for-loop [79] 10.7% ----------------------------------------------------------------------- for-loop [55] 100.0% [62] 1386(20.9%) 0(0.0%) taylor-alt ...ival-pow-test/src/mainloop.rkt:146:0 for-loop [68] 100.0% ----------------------------------------------------------------------- ??? [56] 100.0% [63] 920(13.9%) 0(0.0%) egraph-run .../pkgs/egg-herbie-linux/main.rkt:49:0 egraph-add-exprs [69] 100.0% ----------------------------------------------------------------------- for-loop [58] 100.0% [64] 446(6.7%) 0(0.0%) rewrite-expression-head24 ...core/matcher.rkt:85:0 rewriter [71] 100.0% ----------------------------------------------------------------------- ival-add [59] 100.0% [65] 378(5.7%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:835:4 ??? [72] 51.3% new-mpfr [73] 48.7% ----------------------------------------------------------------------- ??? [54] 100.0% [66] 280(4.2%) 280(4.2%) ??? ...ects/racket/contract/private/guts.rkt:770:8 ----------------------------------------------------------------------- random-ranges [60] 100.0% [67] 184(2.8%) 0(0.0%) build--> ...act/private/arrow-val-first.rkt:1214:0 coerce-contract [74] 100.0% ----------------------------------------------------------------------- taylor-alt [62] 100.0% [68] 1386(20.9%) 0(0.0%) for-loop ...e/ival-pow-test/src/mainloop.rkt:152:6 ??? [76] 100.0% ----------------------------------------------------------------------- egraph-run [63] 100.0% [69] 920(13.9%) 0(0.0%) egraph-add-exprs ...gg-herbie-linux/main.rkt:111:0 ??? [77] 100.0% ----------------------------------------------------------------------- for-loop [61] 100.0% [70] 904(13.7%) 0(0.0%) atab-add-altn ...test/src/core/alt-table.rkt:194:0 errors [75] 75.2% for-loop [79] 24.8% ----------------------------------------------------------------------- rewrite-expression-head24 [64] 26.7% matcher [86] 73.3% [71] 446(6.7%) 0(0.0%) rewriter ...val-pow-test/src/core/matcher.rkt:87:2 for-loop [78] 100.0% ----------------------------------------------------------------------- bfadd [65] 100.0% [72] 194(2.9%) 194(2.9%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 ----------------------------------------------------------------------- bfadd [65] 100.0% [73] 184(2.8%) 184(2.8%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 ----------------------------------------------------------------------- build--> [67] 100.0% [74] 184(2.8%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:307:0 coerce-contract/f [80] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [23] 13.9% for-loop [61] 40.7% atab-add-altn [70] 45.4% [75] 1498(22.6%) 0(0.0%) errors ...erbie/ival-pow-test/src/points.rkt:190:0 for-loop [84] 45.0% temp85_0 [82] 27.8% loop [106] 13.9% eval [88] 13.4% ----------------------------------------------------------------------- loop [10] 5.0% ??? [25] 22.2% location-do [81] 36.4% for-loop [68] 36.4% [76] 1386(20.9%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [81] 36.4% approximate9 [2] 36.4% hash-ref! [18] 27.2% ----------------------------------------------------------------------- egraph-add-exprs [69] 100.0% [77] 920(13.9%) 0(0.0%) ??? ...e/ival-pow-test/src/core/simplify.rkt:102:6 for-loop [83] 100.0% ----------------------------------------------------------------------- rewriter [71] 100.0% [78] 446(6.7%) 0(0.0%) for-loop ...val-pow-test/src/core/matcher.rkt:89:4 matcher [86] 73.3% for-loop [85] 26.7% ----------------------------------------------------------------------- for-loop [61] 47.9% atab-add-altn [70] 52.1% [79] 430(6.5%) 224(3.4%) for-loop ...-pow-test/src/core/alt-table.rkt:110:2 ??? [87] 47.9% ----------------------------------------------------------------------- coerce-contract [74] 100.0% [80] 184(2.8%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:372:0 coerce-simple-value [89] 100.0% ----------------------------------------------------------------------- location-do [81] 27.1% ??? [76] 72.9% [81] 1386(20.9%) 0(0.0%) location-do ...ival-pow-test/src/programs.rkt:63:0 ??? [76] 72.9% location-do [81] 27.1% ----------------------------------------------------------------------- errors [75] 32.9% eval-const-expr [57] 67.1% [82] 1266(19.1%) 0(0.0%) temp85_0 (unknown source) compile15 [90] 100.0% ----------------------------------------------------------------------- ??? [77] 100.0% [83] 920(13.9%) 920(13.9%) for-loop ...l-pow-test/src/core/simplify.rkt:121:2 ----------------------------------------------------------------------- errors [75] 100.0% [84] 674(10.2%) 0(0.0%) for-loop ...bie/ival-pow-test/src/points.rkt:192:2 .../more-scheme.rkt:261:28 [23] 100.0% ----------------------------------------------------------------------- for-loop [78] 100.0% [85] 446(6.7%) 0(0.0%) for-loop ...val-pow-test/src/core/matcher.rkt:96:8 fix-up-variables [91] 100.0% ----------------------------------------------------------------------- for-loop [11] 50.0% for-loop [78] 50.0% [86] 446(6.7%) 0(0.0%) matcher ...val-pow-test/src/core/matcher.rkt:115:2 ??? [4] 50.0% rewriter [71] 50.0% ----------------------------------------------------------------------- for-loop [79] 100.0% [87] 206(3.1%) 206(3.1%) ??? ...7.5/collects/racket/private/for.rkt:1236:14 ----------------------------------------------------------------------- errors [75] 100.0% [88] 200(3.0%) 0(0.0%) eval (unknown source) namespace-syntax-introduce3 [92] 100.0% ----------------------------------------------------------------------- coerce-contract/f [80] 100.0% [89] 184(2.8%) 184(2.8%) coerce-simple-value ...ract/private/guts.rkt:385:0 ----------------------------------------------------------------------- temp85_0 [82] 100.0% [90] 1266(19.1%) 0(0.0%) compile15 (unknown source) temp91_0 [93] 100.0% ----------------------------------------------------------------------- for-loop [85] 100.0% [91] 446(6.7%) 0(0.0%) fix-up-variables ...est/src/core/matcher.rkt:108:2 pattern-match [94] 50.2% for-loop [95] 49.8% ----------------------------------------------------------------------- eval [88] 100.0% [92] 200(3.0%) 200(3.0%) namespace-syntax-introduce3 (unknown source) ----------------------------------------------------------------------- compile15 [90] 100.0% [93] 1266(19.1%) 0(0.0%) temp91_0 (unknown source) temp118_0 [96] 82.3% loop [106] 17.7% ----------------------------------------------------------------------- fix-up-variables [91] 100.0% [94] 224(3.4%) 0(0.0%) pattern-match ...ow-test/src/core/matcher.rkt:29:0 for-loop [97] 100.0% ----------------------------------------------------------------------- fix-up-variables [91] 100.0% [95] 222(3.4%) 0(0.0%) for-loop ...val-pow-test/src/core/matcher.rkt:41:9 for-loop [97] 100.0% ----------------------------------------------------------------------- temp91_0 [93] 100.0% [96] 1042(15.7%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [98] 100.0% ----------------------------------------------------------------------- for-loop [95] 49.8% pattern-match [94] 50.2% [97] 446(6.7%) 224(3.4%) for-loop ...val-pow-test/src/core/matcher.rkt:26:9 core457 [99] 49.8% ----------------------------------------------------------------------- loop [106] 29.3% temp118_0 [96] 70.7% [98] 1474(22.3%) 208(3.1%) expand-capturing-lifts (unknown source) lambda-clause-expander [100] 70.7% loop [106] 15.2% ----------------------------------------------------------------------- for-loop [97] 100.0% [99] 222(3.4%) 0(0.0%) core457 ...acket/contract/private/arr-i.rkt:976:19 un-dep/maybe-chaperone [101] 100.0% ----------------------------------------------------------------------- expand-capturing-lifts [98] 100.0% [100] 1042(15.7%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [102] 100.0% ----------------------------------------------------------------------- core457 [99] 100.0% [101] 222(3.4%) 0(0.0%) un-dep/maybe-chaperone ...private/arr-i.rkt:1137:2 ??? [103] 100.0% ----------------------------------------------------------------------- for-loop [104] 39.5% lambda-clause-expander [100] 60.5% [102] 1042(15.7%) 0(0.0%) finish-bodys (unknown source) for-loop [104] 100.0% ----------------------------------------------------------------------- un-dep/maybe-chaperone [101] 100.0% [103] 222(3.4%) 0(0.0%) ??? ...cts/racket/contract/private/guts.rkt:835:10 ??? [105] 100.0% ----------------------------------------------------------------------- *fp-safe-simplify-rules* [40] 15.6% for-loop [104] 24.6% finish-bodys [102] 59.9% [104] 1234(18.7%) 208(3.1%) for-loop (unknown source) for-loop [104] 24.6% finish-bodys [102] 23.0% loop [106] 17.5% ormap [109] 15.6% expand-implicit [107] 10.6% dispatch-transformer41 [8] 5.5% ----------------------------------------------------------------------- ??? [103] 100.0% [105] 222(3.4%) 0(0.0%) ??? ...ntract/private/arrow-higher-order.rkt:575:2 build-subcontract-late-negs [108]100.0% ----------------------------------------------------------------------- loop [106] 7.9% syntax->list [33] 7.9% for-loop [104] 12.7% expand-capturing-lifts [98] 13.2% temp91_0 [93] 13.2% syntax-e/no-taint [19] 20.6% errors [75] 24.5% [106] 850(12.8%) 440(6.7%) loop (unknown source) expand-capturing-lifts [98] 37.6% core-form-sym [7] 12.7% syntax-e [12] 7.9% loop [106] 7.9% gf [110] 7.9% ----------------------------------------------------------------------- for-loop [104] 100.0% [107] 416(6.3%) 416(6.3%) expand-implicit (unknown source) ----------------------------------------------------------------------- ??? [105] 100.0% [108] 222(3.4%) 222(3.4%) build-subcontract-late-negs ...her-order.rkt:711:0 ----------------------------------------------------------------------- for-loop [104] 100.0% [109] 192(2.9%) 192(2.9%) ormap ....5/collects/racket/private/map.rkt:141:13 ----------------------------------------------------------------------- loop [106] 100.0% [110] 202(3.1%) 0(0.0%) gf (unknown source) cache-or-reuse-set [111] 100.0% ----------------------------------------------------------------------- gf [110] 100.0% [111] 202(3.1%) 202(3.1%) cache-or-reuse-set (unknown source) -----------------------------------------------------------------------