Profiling results ----------------- Total cpu time observed: 6878ms (out of 7048ms) Number of samples taken: 32 (once every 215ms) ====================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ====================================================================== [1] 6878(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [10] 100.0% ---------------------------------------------------------------------- ??? [70] 100.0% [2] 2110(30.7%) 0(0.0%) approximate9 ...ie/master/src/core/taylor.rkt:12:0 loop [11] 48.8% for-loop [12] 41.7% taylor [32] 9.5% ---------------------------------------------------------------------- hash-ref! [25] 100.0% [3] 606(8.8%) 0(0.0%) ??? ...es/herbie/master/src/core/taylor.rkt:301:23 for-loop [13] 100.0% ---------------------------------------------------------------------- hash-ref! [25] 100.0% [4] 606(8.8%) 0(0.0%) ??? ...es/herbie/master/src/core/taylor.rkt:407:23 for-loop [14] 100.0% ---------------------------------------------------------------------- taylor [32] 100.0% [5] 600(8.7%) 0(0.0%) loop ...es/herbie/master/src/core/taylor.rkt:268:2 hash-ref! [25] 100.0% ---------------------------------------------------------------------- matcher [80] 100.0% [6] 436(6.3%) 0(0.0%) ??? ...s/herbie/master/src/core/matcher.rkt:130:11 for-loop [15] 100.0% ---------------------------------------------------------------------- hash-ref! [25] 100.0% [7] 200(2.9%) 0(0.0%) ??? ...es/herbie/master/src/core/taylor.rkt:291:26 for-loop [17] 100.0% ---------------------------------------------------------------------- for-loop [100] 100.0% [8] 200(2.9%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [18] 100.0% ---------------------------------------------------------------------- loop [99] 100.0% [9] 198(2.9%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [16] 100.0% ---------------------------------------------------------------------- ??? [1] 100.0% [10] 6878(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [19] 100.0% ---------------------------------------------------------------------- approximate9 [2] 100.0% [11] 1030(15.0%) 0(0.0%) loop ...ies/herbie/master/src/core/taylor.rkt:87:4 ??? [70] 58.8% hash-ref! [25] 41.2% ---------------------------------------------------------------------- approximate9 [2] 100.0% [12] 880(12.8%) 0(0.0%) for-loop ...erbie/master/src/core/taylor.rkt:30:18 taylor [32] 68.2% taylor-quotient [20] 31.8% ---------------------------------------------------------------------- ??? [3] 100.0% [13] 606(8.8%) 0(0.0%) for-loop ...rbie/master/src/core/taylor.rkt:304:27 hash-ref! [25] 100.0% ---------------------------------------------------------------------- ??? [4] 100.0% [14] 606(8.8%) 0(0.0%) for-loop ...rbie/master/src/core/taylor.rkt:411:33 hash-ref! [25] 100.0% ---------------------------------------------------------------------- ??? [6] 100.0% [15] 436(6.3%) 0(0.0%) for-loop ...bie/master/src/core/matcher.rkt:132:15 matcher [80] 100.0% ---------------------------------------------------------------------- syntax-e [9] 49.5% gf [102] 50.5% [16] 400(5.8%) 0(0.0%) syntax-e/no-taint (unknown source) loop [99] 100.0% ---------------------------------------------------------------------- ??? [7] 100.0% [17] 200(2.9%) 0(0.0%) for-loop ...rbie/master/src/core/taylor.rkt:291:52 hash-ref! [25] 100.0% ---------------------------------------------------------------------- expand-implicit [8] 100.0% [18] 200(2.9%) 0(0.0%) resolve+shift28 (unknown source) fallback-loop [21] 100.0% ---------------------------------------------------------------------- profile-thunk16 [10] 100.0% [19] 6878(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [22]100.0% ---------------------------------------------------------------------- for-loop [12] 100.0% [20] 280(4.1%) 0(0.0%) taylor-quotient ...aster/src/core/taylor.rkt:334:0 first-nonzero-exp [23] 100.0% ---------------------------------------------------------------------- resolve+shift28 [18] 100.0% [21] 200(2.9%) 0(0.0%) fallback-loop (unknown source) for-loop [100] 100.0% ---------------------------------------------------------------------- for-loop [79] 4.6% run [19] 95.4% [22] 6878(100.0%) 0(0.0%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [24] 67.4% prepare-points-intervals [26] 17.9% oracle-error [27] 5.6% ??? [47] 3.0% get-final-combination [29] 2.9% *bit-width* [28] 1.6% errors [73] 1.5% ---------------------------------------------------------------------- taylor-quotient [20] 100.0% [23] 280(4.1%) 0(0.0%) first-nonzero-exp ...ter/src/core/taylor.rkt:266:0 hash-ref! [25] 100.0% ---------------------------------------------------------------------- .../more-scheme.rkt:261:28 [22]100.0% [24] 4846(70.5%) 0(0.0%) run-improve47 ...bie/master/src/mainloop.rkt:346:0 for-loop [30] 100.0% ---------------------------------------------------------------------- for-loop [17] 1.7% for-loop [14] 7.1% ??? [33] 7.1% for-loop [13] 8.8% loop [11] 11.1% first-nonzero-exp [23] 14.7% ??? [70] 18.2% loop [5] 31.4% [25] 1910(27.8%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 simplify [45] 53.1% ??? [34] 11.1% taylor [32] 11.1% ??? [3] 8.8% ??? [33] 7.1% ??? [4] 7.1% ??? [7] 1.7% ---------------------------------------------------------------------- .../more-scheme.rkt:261:28 [22]100.0% [26] 1232(17.9%) 0(0.0%) prepare-points-intervals ...r/src/points.rkt:110:0 loop [31] 100.0% ---------------------------------------------------------------------- .../more-scheme.rkt:261:28 [22]100.0% [27] 386(5.6%) 0(0.0%) oracle-error ...herbie/master/src/points.rkt:188:0 for-loop [35] 100.0% ---------------------------------------------------------------------- .../more-scheme.rkt:261:28 [22]100.0% [28] 222(3.2%) 0(0.0%) *bit-width* ...es/herbie/master/src/float.rkt:35:0 return/no-unsupplied [36] 100.0% ---------------------------------------------------------------------- .../more-scheme.rkt:261:28 [22]100.0% [29] 202(2.9%) 0(0.0%) get-final-combination ...er/src/mainloop.rkt:371:0 infer-splitpoints [37] 100.0% ---------------------------------------------------------------------- run-improve47 [24] 100.0% [30] 4846(70.5%) 0(0.0%) for-loop ...s/herbie/master/src/mainloop.rkt:365:4 run-iter! [38] 100.0% ---------------------------------------------------------------------- prepare-points-intervals [26] 100.0% [31] 1232(17.9%) 0(0.0%) loop ...ghtlies/herbie/master/src/points.rkt:123:4 loop [39] 67.0% ??? [42] 16.6% do-curry [103] 16.4% ---------------------------------------------------------------------- approximate9 [2] 4.1% hash-ref! [25] 14.3% for-loop [12] 28.6% taylor [32] 53.1% [32] 1224(17.8%) 224(3.3%) taylor .../herbie/master/src/core/taylor.rkt:170:0 taylor [32] 53.1% taylor-cbrt [40] 24.5% loop [5] 16.3% ---------------------------------------------------------------------- hash-ref! [25] 100.0% [33] 606(8.8%) 0(0.0%) ??? ...ies/herbie/master/src/core/taylor.rkt:45:15 hash-ref! [25] 100.0% ---------------------------------------------------------------------- hash-ref! [25] 100.0% [34] 424(6.2%) 0(0.0%) ??? ...ies/herbie/master/src/core/taylor.rkt:68:15 ??? [70] 100.0% ---------------------------------------------------------------------- oracle-error [27] 100.0% [35] 386(5.6%) 0(0.0%) for-loop ...ies/herbie/master/src/points.rkt:189:2 loop [99] 100.0% ---------------------------------------------------------------------- *bit-width* [28] 100.0% [36] 222(3.2%) 0(0.0%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 filter [41] 100.0% ---------------------------------------------------------------------- get-final-combination [29] 100.0% [37] 202(2.9%) 0(0.0%) infer-splitpoints ...ter/src/core/regimes.rkt:34:0 for-loop [43] 100.0% ---------------------------------------------------------------------- for-loop [30] 100.0% [38] 4846(70.5%) 0(0.0%) run-iter! .../herbie/master/src/mainloop.rkt:327:0 gen-series! [44] 43.5% simplify! [46] 30.4% finalize-iter! [48] 17.0% gen-rewrites! [49] 9.0% ---------------------------------------------------------------------- loop [31] 100.0% [39] 826(12.0%) 200(2.9%) loop ...ightlies/herbie/master/src/points.rkt:81:2 ??? [47] 75.8% ---------------------------------------------------------------------- taylor [32] 100.0% [40] 400(5.8%) 0(0.0%) taylor-cbrt ...ie/master/src/core/taylor.rkt:378:0 simplify [45] 100.0% ---------------------------------------------------------------------- return/no-unsupplied [36] 100.0% [41] 222(3.2%) 222(3.2%) filter ...5/collects/racket/private/list.rkt:256:2 ---------------------------------------------------------------------- loop [31] 100.0% [42] 204(3.0%) 204(3.0%) ??? ...ightlies/herbie/master/src/points.rkt:106:2 ---------------------------------------------------------------------- infer-splitpoints [37] 100.0% [43] 202(2.9%) 0(0.0%) for-loop ...erbie/master/src/core/regimes.rkt:47:6 option-on-expr [50] 100.0% ---------------------------------------------------------------------- run-iter! [38] 100.0% [44] 2110(30.7%) 0(0.0%) gen-series! ...erbie/master/src/mainloop.rkt:160:0 for-loop [51] 100.0% ---------------------------------------------------------------------- taylor-cbrt [40] 21.2% hash-ref! [25] 78.8% [45] 1886(27.4%) 0(0.0%) simplify ...herbie/master/src/core/reduce.rkt:16:0 f46 [53] 68.2% parse-loop80 [66] 21.2% f67 [58] 10.6% ---------------------------------------------------------------------- run-iter! [38] 100.0% [46] 1474(21.4%) 0(0.0%) simplify! .../herbie/master/src/mainloop.rkt:224:0 egraph-run [52] 100.0% ---------------------------------------------------------------------- ??? [104] 15.9% .../more-scheme.rkt:261:28 [22] 33.4% loop [39] 50.7% [47] 1234(17.9%) 402(5.8%) ??? ...htlies/herbie/master/src/programs.rkt:115:2 ??? [70] 50.2% ??? [56] 17.2% ---------------------------------------------------------------------- run-iter! [38] 100.0% [48] 826(12.0%) 0(0.0%) finalize-iter! ...ie/master/src/mainloop.rkt:278:0 ??? [54] 100.0% ---------------------------------------------------------------------- run-iter! [38] 100.0% [49] 436(6.3%) 0(0.0%) gen-rewrites! ...bie/master/src/mainloop.rkt:183:0 for-loop [55] 100.0% ---------------------------------------------------------------------- for-loop [43] 100.0% [50] 202(2.9%) 0(0.0%) option-on-expr ...aster/src/core/regimes.rkt:126:0 sort-context-on-expr [57] 100.0% ---------------------------------------------------------------------- gen-series! [44] 100.0% [51] 2110(30.7%) 0(0.0%) for-loop ...s/herbie/master/src/mainloop.rkt:167:7 taylor-alt [59] 100.0% ---------------------------------------------------------------------- simplify! [46] 100.0% [52] 1474(21.4%) 0(0.0%) egraph-run ...bie/master/src/core/eggmath.rkt:51:0 egraph-add-exprs [60] 100.0% ---------------------------------------------------------------------- map [61] 15.8% simplify [45] 84.2% [53] 1286(18.7%) 0(0.0%) f46 (unknown source) map [61] 100.0% ---------------------------------------------------------------------- finalize-iter! [48] 100.0% [54] 826(12.0%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [62] 100.0% ---------------------------------------------------------------------- gen-rewrites! [49] 100.0% [55] 436(6.3%) 0(0.0%) for-loop .../herbie/master/src/mainloop.rkt:191:11 rewrite-expression-head20 [63] 100.0% ---------------------------------------------------------------------- ??? [47] 100.0% [56] 212(3.1%) 212(3.1%) ??? ...cket-7.5/collects/racket/function.rkt:93:12 ---------------------------------------------------------------------- option-on-expr [50] 100.0% [57] 202(2.9%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:119:0 eval-prog [83] 100.0% ---------------------------------------------------------------------- simplify [45] 100.0% [58] 200(2.9%) 0(0.0%) f67 (unknown source) eval-const-expr [71] 100.0% ---------------------------------------------------------------------- for-loop [51] 100.0% [59] 2110(30.7%) 0(0.0%) taylor-alt ...herbie/master/src/mainloop.rkt:146:0 for-loop [64] 100.0% ---------------------------------------------------------------------- egraph-run [52] 100.0% [60] 1474(21.4%) 0(0.0%) egraph-add-exprs ...ter/src/core/eggmath.rkt:113:0 ??? [65] 100.0% ---------------------------------------------------------------------- f46 [53] 100.0% [61] 1286(18.7%) 0(0.0%) map ...t-7.5/collects/racket/private/map.rkt:35:13 parse-loop80 [66] 60.9% ??? [69] 23.3% f46 [53] 15.8% ---------------------------------------------------------------------- ??? [54] 100.0% [62] 826(12.0%) 0(0.0%) for-loop ...bie/master/src/core/alt-table.rkt:55:2 atab-add-altn [67] 76.0% errors [73] 24.0% ---------------------------------------------------------------------- for-loop [55] 100.0% [63] 436(6.3%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:87:0 rewriter [68] 100.0% ---------------------------------------------------------------------- taylor-alt [59] 100.0% [64] 2110(30.7%) 0(0.0%) for-loop ...s/herbie/master/src/mainloop.rkt:152:6 ??? [70] 100.0% ---------------------------------------------------------------------- egraph-add-exprs [60] 100.0% [65] 1474(21.4%) 0(0.0%) ??? ...es/herbie/master/src/core/simplify.rkt:72:6 for-loop [72] 84.8% egg-run-rules [77] 15.2% ---------------------------------------------------------------------- simplify [45] 31.1% map [61] 68.9% [66] 1286(18.7%) 0(0.0%) parse-loop80 (unknown source) eval-const-expr [71] 100.0% ---------------------------------------------------------------------- for-loop [62] 100.0% [67] 628(9.1%) 0(0.0%) atab-add-altn ...ster/src/core/alt-table.rkt:203:0 errors [73] 100.0% ---------------------------------------------------------------------- rewrite-expression-head20 [63] 29.5% matcher [80] 70.5% [68] 436(6.3%) 0(0.0%) rewriter ...erbie/master/src/core/matcher.rkt:90:2 for-loop [74] 82.1% *rules* [76] 17.9% ---------------------------------------------------------------------- map [61] 100.0% [69] 400(5.8%) 0(0.0%) ??? ...lies/herbie/master/src/core/reduce.rkt:59:5 for-loop [75] 100.0% ---------------------------------------------------------------------- ??? [34] 5.2% loop [11] 7.4% ??? [47] 22.7% location-do [78] 32.4% for-loop [64] 32.4% [70] 2730(39.7%) 196(2.8%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [78] 32.4% approximate9 [2] 32.4% mk-ival [81] 15.5% hash-ref! [25] 12.6% ---------------------------------------------------------------------- f67 [58] 13.5% parse-loop80 [66] 86.5% [71] 1486(21.6%) 200(2.9%) eval-const-expr ...e/master/src/programs.rkt:118:0 temp85_0 [85] 67.7% eval [84] 18.8% ---------------------------------------------------------------------- ??? [65] 100.0% [72] 1250(18.2%) 1250(18.2%) for-loop ...rbie/master/src/core/simplify.rkt:91:2 ---------------------------------------------------------------------- for-loop [62] 19.1% .../more-scheme.rkt:261:28 [22] 20.4% atab-add-altn [67] 60.5% [73] 1038(15.1%) 0(0.0%) errors ...tlies/herbie/master/src/points.rkt:201:0 for-loop [79] 80.9% eval-prog [83] 19.1% ---------------------------------------------------------------------- rewriter [68] 100.0% [74] 436(6.3%) 0(0.0%) for-loop ...erbie/master/src/core/matcher.rkt:92:4 matcher [80] 100.0% ---------------------------------------------------------------------- ??? [69] 100.0% [75] 400(5.8%) 0(0.0%) for-loop ...herbie/master/src/core/reduce.rkt:60:7 pattern-match [82] 100.0% ---------------------------------------------------------------------- rewriter [68] 100.0% [76] 234(3.4%) 0(0.0%) *rules* ...erbie/master/src/syntax/rules.rkt:666:0 for-loop [100] 100.0% ---------------------------------------------------------------------- ??? [65] 100.0% [77] 224(3.3%) 224(3.3%) egg-run-rules ...master/src/core/simplify.rkt:78:0 ---------------------------------------------------------------------- ??? [70] 43.6% location-do [78] 56.4% [78] 2110(30.7%) 0(0.0%) location-do ...herbie/master/src/programs.rkt:64:0 location-do [78] 56.4% ??? [70] 43.6% ---------------------------------------------------------------------- errors [73] 100.0% [79] 840(12.2%) 206(3.0%) for-loop ...ies/herbie/master/src/points.rkt:203:2 .../more-scheme.rkt:261:28 [22] 75.5% ---------------------------------------------------------------------- for-loop [15] 46.7% for-loop [74] 53.3% [80] 436(6.3%) 202(2.9%) matcher ...erbie/master/src/core/matcher.rkt:118:2 ??? [6] 46.7% rewriter [68] 46.7% ---------------------------------------------------------------------- ??? [70] 100.0% [81] 424(6.2%) 0(0.0%) mk-ival .../herbie/master/src/biginterval.rkt:65:0 bf [86] 100.0% ---------------------------------------------------------------------- pattern-match [82] 25.0% for-loop [75] 75.0% [82] 400(5.8%) 200(2.9%) pattern-match .../master/src/core/matcher.rkt:30:0 for-loop [88] 50.0% pattern-match [82] 25.0% ---------------------------------------------------------------------- errors [73] 49.5% sort-context-on-expr [57] 50.5% [83] 400(5.8%) 0(0.0%) eval-prog ...s/herbie/master/src/programs.rkt:83:0 loop [99] 50.5% temp85_0 [85] 49.5% ---------------------------------------------------------------------- eval-const-expr [71] 100.0% [84] 280(4.1%) 0(0.0%) eval (unknown source) add-ns-scopes [87] 100.0% ---------------------------------------------------------------------- eval-prog [83] 16.4% eval-const-expr [71] 83.6% [85] 1204(17.5%) 0(0.0%) temp85_0 (unknown source) compile15 [89] 100.0% ---------------------------------------------------------------------- mk-ival [81] 100.0% [86] 424(6.2%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:615:2 new-mpfr [90] 100.0% ---------------------------------------------------------------------- eval [84] 100.0% [87] 280(4.1%) 0(0.0%) add-ns-scopes (unknown source) gf [102] 100.0% ---------------------------------------------------------------------- pattern-match [82] 100.0% [88] 200(2.9%) 0(0.0%) for-loop ...erbie/master/src/core/matcher.rkt:27:9 core457 [91] 100.0% ---------------------------------------------------------------------- temp85_0 [85] 100.0% [89] 1204(17.5%) 0(0.0%) compile15 (unknown source) temp91_0 [92] 100.0% ---------------------------------------------------------------------- bf [86] 100.0% [90] 424(6.2%) 424(6.2%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 ---------------------------------------------------------------------- for-loop [88] 100.0% [91] 200(2.9%) 200(2.9%) core457 ...acket/contract/private/arr-i.rkt:976:19 ---------------------------------------------------------------------- compile15 [89] 100.0% [92] 1204(17.5%) 0(0.0%) temp91_0 (unknown source) temp118_0 [93] 100.0% ---------------------------------------------------------------------- temp91_0 [92] 100.0% [93] 1204(17.5%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [94] 100.0% ---------------------------------------------------------------------- loop [99] 14.4% temp118_0 [93] 85.6% [94] 1406(20.4%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [95] 85.6% dispatch-transformer41 [96] 14.4% ---------------------------------------------------------------------- expand-capturing-lifts [94] 100.0% [95] 1204(17.5%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [97] 66.4% loop [99] 33.6% ---------------------------------------------------------------------- expand-capturing-lifts [94] 33.3% loop [99] 66.7% [96] 606(8.8%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [98] 100.0% ---------------------------------------------------------------------- for-loop [100] 35.6% lambda-clause-expander [95] 64.4% [97] 800(11.6%) 0(0.0%) finish-bodys (unknown source) for-loop [100] 100.0% ---------------------------------------------------------------------- dispatch-transformer41 [96] 100.0% [98] 606(8.8%) 206(3.0%) apply-transformer52 (unknown source) apply-post-expansion [101] 33.3% loop [99] 32.7% ---------------------------------------------------------------------- apply-transformer52 [98] 5.2% loop [99] 5.5% eval-prog [83] 7.9% syntax-e/no-taint [16] 13.1% gf [102] 16.5% lambda-clause-expander [95] 21.4% for-loop [35] 30.3% [99] 1272(18.5%) 280(4.1%) loop (unknown source) ??? [104] 30.3% gf [102] 24.1% dispatch-transformer41 [96] 21.4% expand-capturing-lifts [94] 7.9% loop [99] 5.5% syntax-e [9] 5.2% ---------------------------------------------------------------------- fallback-loop [21] 1.2% for-loop [100] 21.8% *rules* [76] 22.6% finish-bodys [97] 54.4% [100] 1034(15.0%) 600(8.7%) for-loop (unknown source) do-curry [103] 22.6% for-loop [100] 21.8% finish-bodys [97] 21.0% add-local-binding!39 [105] 6.4% expand-implicit [8] 1.2% ---------------------------------------------------------------------- apply-transformer52 [98] 100.0% [101] 202(2.9%) 0(0.0%) apply-post-expansion (unknown source) gf [102] 100.0% ---------------------------------------------------------------------- add-ns-scopes [87] 13.7% apply-post-expansion [101] 14.9% loop [99] 71.4% [102] 680(9.9%) 0(0.0%) gf (unknown source) loop [99] 41.2% propagation-apply [108] 29.1% syntax-e/no-taint [16] 14.9% cache-or-reuse-hash [106] 14.9% ---------------------------------------------------------------------- loop [31] 46.3% for-loop [100] 53.7% [103] 436(6.3%) 436(6.3%) do-curry ...-7.5/collects/racket/function.rkt:71:2 ---------------------------------------------------------------------- loop [99] 100.0% [104] 386(5.6%) 190(2.8%) ??? ...ghtlies/herbie/master/src/points.rkt:190:26 ??? [47] 50.8% ---------------------------------------------------------------------- for-loop [100] 100.0% [105] 200(2.9%) 0(0.0%) add-local-binding!39 (unknown source) binding-table-add [107] 100.0% ---------------------------------------------------------------------- gf [102] 100.0% [106] 202(2.9%) 202(2.9%) cache-or-reuse-hash (unknown source) ---------------------------------------------------------------------- add-local-binding!39 [105] 100.0% [107] 200(2.9%) 200(2.9%) binding-table-add (unknown source) ---------------------------------------------------------------------- gf [102] 100.0% [108] 198(2.9%) 198(2.9%) propagation-apply (unknown source) ----------------------------------------------------------------------