Profiling results ----------------- Total cpu time observed: 25578ms (out of 25656ms) Number of samples taken: 121 (once every 211ms) (Hiding functions with self<1.0% and local<2.0%: 6 of 111 hidden) ======================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================= [1] 25578(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [7] 100.0% ----------------------------------------------------------------------- matcher [67] 100.0% [2] 1412(5.5%) 0(0.0%) ??? ...aster-eval-prog/src/core/matcher.rkt:127:11 for-loop [8] 74.8% for-loop [9] 25.2% ----------------------------------------------------------------------- hash-ref! [66] 100.0% [3] 200(0.8%) 0(0.0%) ??? .../faster-eval-prog/src/core/taylor.rkt:67:15 ??? [63] 100.0% ----------------------------------------------------------------------- ??? [63] 100.0% [4] 200(0.8%) 0(0.0%) approximate9 ...eval-prog/src/core/taylor.rkt:11:0 loop [10] 100.0% ----------------------------------------------------------------------- copying-mergesort [65] 100.0% [5] 200(0.8%) 0(0.0%) jloop ...5/collects/racket/private/sort.rkt:120:23 ??? [46] 100.0% ----------------------------------------------------------------------- hash-ref! [66] 100.0% [6] 200(0.8%) 0(0.0%) ??? ...faster-eval-prog/src/core/taylor.rkt:300:23 for-loop [11] 100.0% ----------------------------------------------------------------------- ??? [1] 100.0% [7] 25578(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [12] 100.0% ----------------------------------------------------------------------- ??? [2] 100.0% [8] 1210(4.7%) 0(0.0%) for-loop ...-eval-prog/src/core/matcher.rkt:129:15 matcher [67] 100.0% ----------------------------------------------------------------------- ??? [2] 100.0% [9] 610(2.4%) 0(0.0%) for-loop ...r-eval-prog/src/core/matcher.rkt:103:4 foldl [13] 100.0% ----------------------------------------------------------------------- approximate9 [4] 100.0% [10] 200(0.8%) 0(0.0%) loop .../faster-eval-prog/src/core/taylor.rkt:86:4 hash-ref! [66] 100.0% ----------------------------------------------------------------------- ??? [6] 100.0% [11] 200(0.8%) 0(0.0%) for-loop ...r-eval-prog/src/core/taylor.rkt:303:27 hash-ref! [66] 100.0% ----------------------------------------------------------------------- profile-thunk16 [7] 100.0% [12] 25578(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [14]100.0% ----------------------------------------------------------------------- for-loop [9] 100.0% [13] 610(2.4%) 0(0.0%) foldl ....5/collects/racket/private/list.rkt:229:4 ??? [15] 100.0% ----------------------------------------------------------------------- for-loop [105] 31.0% run [12] 69.0% [14] 25578(100.0%) 0(0.0%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [16] 50.4% ??? [46] 31.0% prepare-points-intervals [17] 6.3% errors [102] 5.2% oracle-error [18] 3.9% eval-errors [20] 1.6% get-final-combination [21] 1.6% ----------------------------------------------------------------------- foldl [13] 100.0% [15] 610(2.4%) 208(0.8%) ??? .../faster-eval-prog/src/core/matcher.rkt:25:7 core457 [19] 65.9% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [14]100.0% [16] 19924(77.9%) 0(0.0%) run-improve47 ...-eval-prog/src/mainloop.rkt:346:0 for-loop [22] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [14]100.0% [17] 1610(6.3%) 0(0.0%) prepare-points-intervals ...g/src/points.rkt:120:0 loop [23] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [14]100.0% [18] 1010(3.9%) 0(0.0%) oracle-error ...ter-eval-prog/src/points.rkt:177:0 for-loop [24] 100.0% ----------------------------------------------------------------------- ??? [15] 100.0% [19] 402(1.6%) 200(0.8%) core457 ...acket/contract/private/arr-i.rkt:976:19 or/c [27] 50.2% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [14]100.0% [20] 402(1.6%) 0(0.0%) eval-errors ...ster-eval-prog/src/points.rkt:168:0 for-loop [25] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [14]100.0% [21] 402(1.6%) 0(0.0%) get-final-combination ...og/src/mainloop.rkt:371:0 infer-splitpoints [26] 100.0% ----------------------------------------------------------------------- run-improve47 [16] 100.0% [22] 19924(77.9%) 0(0.0%) for-loop ...aster-eval-prog/src/mainloop.rkt:365:4 run-iter! [28] 100.0% ----------------------------------------------------------------------- prepare-points-intervals [17] 100.0% [23] 1610(6.3%) 0(0.0%) loop ...rbie/faster-eval-prog/src/points.rkt:132:4 loop [29] 75.2% ??? [31] 24.8% ----------------------------------------------------------------------- oracle-error [18] 100.0% [24] 1010(3.9%) 0(0.0%) for-loop .../faster-eval-prog/src/points.rkt:178:2 loop [60] 60.2% map [81] 39.8% ----------------------------------------------------------------------- eval-errors [20] 100.0% [25] 402(1.6%) 0(0.0%) for-loop .../faster-eval-prog/src/points.rkt:170:2 ??? [46] 100.0% ----------------------------------------------------------------------- get-final-combination [21] 100.0% [26] 402(1.6%) 0(0.0%) infer-splitpoints ...rog/src/core/regimes.rkt:33:0 for-loop [30] 100.0% ----------------------------------------------------------------------- core457 [19] 100.0% [27] 202(0.8%) 0(0.0%) or/c ...lects/racket/contract/private/orc.rkt:16:2 flat-contract? [32] 100.0% ----------------------------------------------------------------------- for-loop [22] 100.0% [28] 19924(77.9%) 0(0.0%) run-iter! ...ster-eval-prog/src/mainloop.rkt:327:0 finalize-iter! [33] 78.8% simplify! [34] 10.9% gen-rewrites! [35] 8.1% gen-series! [36] 2.2% ----------------------------------------------------------------------- loop [23] 100.0% [29] 1210(4.7%) 200(0.8%) loop ...erbie/faster-eval-prog/src/points.rkt:79:2 ??? [46] 83.5% ----------------------------------------------------------------------- infer-splitpoints [26] 100.0% [30] 402(1.6%) 0(0.0%) for-loop ...er-eval-prog/src/core/regimes.rkt:45:6 option-on-expr [37] 100.0% ----------------------------------------------------------------------- loop [23] 100.0% [31] 400(1.6%) 0(0.0%) ??? ...erbie/faster-eval-prog/src/points.rkt:113:6 sample-multi-bounded [38] 100.0% ----------------------------------------------------------------------- or/c [27] 100.0% [32] 202(0.8%) 202(0.8%) flat-contract? .../contract/private/guts.rkt:129:0 ----------------------------------------------------------------------- run-iter! [28] 100.0% [33] 15692(61.3%) 0(0.0%) finalize-iter! ...eval-prog/src/mainloop.rkt:278:0 ??? [85] 100.0% ----------------------------------------------------------------------- run-iter! [28] 100.0% [34] 2174(8.5%) 0(0.0%) simplify! ...ster-eval-prog/src/mainloop.rkt:224:0 ??? [39] 100.0% ----------------------------------------------------------------------- run-iter! [28] 100.0% [35] 1612(6.3%) 0(0.0%) gen-rewrites! ...-eval-prog/src/mainloop.rkt:183:0 for-loop [40] 87.6% for-loop [44] 12.4% ----------------------------------------------------------------------- run-iter! [28] 100.0% [36] 446(1.7%) 0(0.0%) gen-series! ...er-eval-prog/src/mainloop.rkt:160:0 for-loop [41] 100.0% ----------------------------------------------------------------------- for-loop [30] 100.0% [37] 402(1.6%) 0(0.0%) option-on-expr ...-prog/src/core/regimes.rkt:124:0 for-loop [43] 50.2% sort-context-on-expr [45] 49.8% ----------------------------------------------------------------------- ??? [31] 100.0% [38] 400(1.6%) 0(0.0%) sample-multi-bounded ...l-prog/src/points.rkt:14:0 random-ranges [42] 100.0% ----------------------------------------------------------------------- simplify! [34] 100.0% [39] 2174(8.5%) 0(0.0%) ??? ...faster-eval-prog/src/core/simplify.rkt:42:0 egraph-run [47] 73.5% loop [60] 26.5% ----------------------------------------------------------------------- gen-rewrites! [35] 100.0% [40] 1412(5.5%) 0(0.0%) for-loop ...ster-eval-prog/src/mainloop.rkt:191:11 rewrite-expression-head24 [48] 100.0% ----------------------------------------------------------------------- gen-series! [36] 100.0% [41] 446(1.7%) 0(0.0%) for-loop ...aster-eval-prog/src/mainloop.rkt:167:7 taylor-alt [49] 100.0% ----------------------------------------------------------------------- sample-multi-bounded [38] 100.0% [42] 400(1.6%) 200(0.8%) random-ranges ...er-eval-prog/src/common.rkt:164:0 cons/c [50] 50.0% ----------------------------------------------------------------------- option-on-expr [37] 100.0% [43] 202(0.8%) 0(0.0%) for-loop ...-eval-prog/src/core/regimes.rkt:130:20 ??? [46] 100.0% ----------------------------------------------------------------------- gen-rewrites! [35] 100.0% [44] 200(0.8%) 0(0.0%) for-loop ...aster-eval-prog/src/mainloop.rkt:208:4 for-loop [51] 100.0% ----------------------------------------------------------------------- option-on-expr [37] 100.0% [45] 200(0.8%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:117:0 ??? [52] 100.0% ----------------------------------------------------------------------- jloop [5] 1.1% for-loop [43] 1.1% for-loop [25] 2.1% loop [29] 5.4% ??? [88] 5.4% .../more-scheme.rkt:261:28 [14] 84.9% [46] 18704(73.1%) 604(2.4%) ??? ...rbie/faster-eval-prog/src/programs.rkt:97:2 hash-ref! [66] 83.8% for-loop [53] 11.9% ??? [76] 1.1% ----------------------------------------------------------------------- ??? [39] 100.0% [47] 1598(6.2%) 0(0.0%) egraph-run .../pkgs/egg-herbie-linux/main.rkt:49:0 egraph-add-exprs [54] 100.0% ----------------------------------------------------------------------- for-loop [40] 100.0% [48] 1412(5.5%) 0(0.0%) rewrite-expression-head24 ...core/matcher.rkt:85:0 rewriter [55] 100.0% ----------------------------------------------------------------------- for-loop [41] 100.0% [49] 446(1.7%) 0(0.0%) taylor-alt ...ter-eval-prog/src/mainloop.rkt:146:0 for-loop [56] 100.0% ----------------------------------------------------------------------- random-ranges [42] 100.0% [50] 200(0.8%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:500:15 coerce-contract [57] 100.0% ----------------------------------------------------------------------- for-loop [44] 100.0% [51] 200(0.8%) 0(0.0%) for-loop ...aster-eval-prog/src/mainloop.rkt:209:6 change-apply [58] 100.0% ----------------------------------------------------------------------- sort-context-on-expr [45] 100.0% [52] 200(0.8%) 0(0.0%) ??? ...-7.5/collects/racket/private/sort.rkt:369:3 generic-sort/key [59] 100.0% ----------------------------------------------------------------------- ??? [46] 100.0% [53] 2226(8.7%) 1418(5.5%) for-loop ...aster-eval-prog/src/programs.rkt:100:6 ??? [63] 18.3% return/no-unsupplied [87] 9.0% ??? [85] 9.0% ----------------------------------------------------------------------- egraph-run [47] 100.0% [54] 1598(6.2%) 0(0.0%) egraph-add-exprs ...gg-herbie-linux/main.rkt:111:0 ??? [62] 83.0% loop [60] 17.0% ----------------------------------------------------------------------- rewrite-expression-head24 [48] 45.3% matcher [67] 54.7% [55] 1412(5.5%) 202(0.8%) rewriter ...er-eval-prog/src/core/matcher.rkt:87:2 for-loop [61] 95.2% ----------------------------------------------------------------------- taylor-alt [49] 100.0% [56] 446(1.7%) 0(0.0%) for-loop ...aster-eval-prog/src/mainloop.rkt:152:6 ??? [63] 100.0% ----------------------------------------------------------------------- cons/c [50] 100.0% [57] 200(0.8%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:307:0 coerce-contract/f [64] 100.0% ----------------------------------------------------------------------- for-loop [51] 100.0% [58] 200(0.8%) 0(0.0%) change-apply ...val-prog/src/core/matcher.rkt:69:0 pattern-substitute [82] 100.0% ----------------------------------------------------------------------- ??? [52] 100.0% [59] 200(0.8%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [65] 100.0% ----------------------------------------------------------------------- egraph-add-exprs [54] 0.1% ??? [39] 1.4% for-loop [24] 41.8% loop [60] 56.5% [60] 1456(5.7%) 848(3.3%) loop (unknown source) loop [60] 56.5% ??? [88] 41.8% ----------------------------------------------------------------------- rewriter [55] 100.0% [61] 1412(5.5%) 0(0.0%) for-loop ...er-eval-prog/src/core/matcher.rkt:89:4 matcher [67] 89.4% for-loop [69] 10.6% ----------------------------------------------------------------------- egraph-add-exprs [54] 100.0% [62] 1326(5.2%) 0(0.0%) ??? ...aster-eval-prog/src/core/simplify.rkt:102:6 for-loop [68] 84.0% egg-run-rules [71] 16.0% ----------------------------------------------------------------------- ??? [3] 7.8% location-do [73] 7.8% for-loop [56] 36.6% for-loop [53] 47.8% [63] 854(3.3%) 408(1.6%) ??? ...tract/private/arrow-higher-order.rkt:375:33 arrow-higher-order:lnp [70] 28.8% location-do [73] 7.8% approximate9 [4] 7.8% hash-ref! [66] 7.8% ----------------------------------------------------------------------- coerce-contract [57] 100.0% [64] 200(0.8%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:372:0 coerce-simple-value [72] 100.0% ----------------------------------------------------------------------- generic-sort/key [59] 25.0% copying-mergesort [65] 75.0% [65] 200(0.8%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [65] 75.0% jloop [5] 25.0% ----------------------------------------------------------------------- for-loop [11] 0.3% ??? [63] 0.3% loop [10] 0.3% ??? [46] 39.8% ??? [74] 59.0% [66] 15872(62.1%) 8158(31.9%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [74] 69.7% ??? [75] 4.0% ??? [76] 1.9% return/no-unsupplied [87] 0.5% ??? [3] 0.3% ??? [6] 0.3% f40 [78] 0.3% ----------------------------------------------------------------------- for-loop [8] 38.0% for-loop [61] 62.0% [67] 1412(5.5%) 200(0.8%) matcher ...er-eval-prog/src/core/matcher.rkt:115:2 ??? [2] 59.2% rewriter [55] 38.0% ----------------------------------------------------------------------- ??? [62] 100.0% [68] 1114(4.4%) 1114(4.4%) for-loop ...-eval-prog/src/core/simplify.rkt:121:2 ----------------------------------------------------------------------- for-loop [61] 100.0% [69] 400(1.6%) 0(0.0%) for-loop ...er-eval-prog/src/core/matcher.rkt:96:8 fix-up-variables [77] 100.0% ----------------------------------------------------------------------- ??? [63] 100.0% [70] 246(1.0%) 246(1.0%) arrow-higher-order:lnp ...w-higher-order.rkt:673:7 ----------------------------------------------------------------------- ??? [62] 100.0% [71] 212(0.8%) 212(0.8%) egg-run-rules ...-prog/src/core/simplify.rkt:108:0 ----------------------------------------------------------------------- coerce-contract/f [64] 100.0% [72] 200(0.8%) 200(0.8%) coerce-simple-value ...ract/private/guts.rkt:385:0 ----------------------------------------------------------------------- location-do [73] 50.0% ??? [63] 50.0% [73] 200(0.8%) 0(0.0%) location-do ...ter-eval-prog/src/programs.rkt:62:0 location-do [73] 50.0% ??? [63] 50.0% ----------------------------------------------------------------------- hash-ref! [66] 100.0% [74] 13450(52.6%) 1008(3.9%) ??? ...ie/faster-eval-prog/src/programs.rkt:105:18 hash-ref! [66] 87.3% table-ref [79] 6.5% variable? [80] 1.8% constant? [86] 1.6% ??? [85] 0.9% ----------------------------------------------------------------------- hash-ref! [66] 100.0% [75] 1012(4.0%) 806(3.2%) ??? ...ster-eval-prog/src/syntax/syntax.rkt:214:17 return/no-unsupplied [87] 20.4% ----------------------------------------------------------------------- ??? [46] 33.4% hash-ref! [66] 66.6% [76] 604(2.4%) 202(0.8%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-add [83] 33.4% ival-div [84] 33.1% ----------------------------------------------------------------------- for-loop [69] 100.0% [77] 400(1.6%) 0(0.0%) fix-up-variables ...rog/src/core/matcher.rkt:108:2 pattern-substitute [82] 100.0% ----------------------------------------------------------------------- hash-ref! [66] 20.0% map [81] 80.0% [78] 200(0.8%) 0(0.0%) f40 (unknown source) map [81] 100.0% ----------------------------------------------------------------------- ??? [74] 100.0% [79] 2248(8.8%) 2042(8.0%) table-ref .../faster-eval-prog/src/common.rkt:33:0 assoc-iterate-first [89] 9.2% ----------------------------------------------------------------------- ??? [74] 100.0% [80] 808(3.2%) 200(0.8%) variable? ...eval-prog/src/syntax/syntax.rkt:729:0 value? [93] 49.5% ??? [85] 25.7% ----------------------------------------------------------------------- f40 [78] 33.2% for-loop [24] 66.8% [81] 602(2.4%) 0(0.0%) map ...t-7.5/collects/racket/private/map.rkt:35:13 ??? [88] 66.8% f40 [78] 26.6% simplify* [91] 6.6% ----------------------------------------------------------------------- fix-up-variables [77] 27.8% change-apply [58] 33.3% pattern-substitute [82] 38.9% [82] 600(2.3%) 200(0.8%) pattern-substitute ...og/src/core/matcher.rkt:45:0 pattern-substitute [82] 38.9% return/no-unsupplied [87] 16.7% constant? [86] 11.1% ----------------------------------------------------------------------- ??? [76] 100.0% [83] 202(0.8%) 0(0.0%) ival-add ...er-eval-prog/src/biginterval.rkt:102:0 bfadd [90] 100.0% ----------------------------------------------------------------------- ??? [76] 100.0% [84] 200(0.8%) 200(0.8%) ival-div ...er-eval-prog/src/biginterval.rkt:156:0 ----------------------------------------------------------------------- for-loop [53] 1.2% variable? [80] 1.3% ??? [74] 3.1% finalize-iter! [33] 94.5% [85] 16504(64.5%) 818(3.2%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [92] 91.8% atab-add-altns [94] 2.6% ??? [96] 1.2% ----------------------------------------------------------------------- pattern-substitute [82] 16.6% ??? [74] 83.4% [86] 1202(4.7%) 0(0.0%) constant? ...eval-prog/src/syntax/syntax.rkt:726:0 value? [93] 100.0% ----------------------------------------------------------------------- pattern-substitute [82] 19.4% for-loop [53] 19.4% ??? [75] 20.0% hash-ref! [66] 41.2% [87] 1030(4.0%) 1030(4.0%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 ----------------------------------------------------------------------- map [81] 39.8% loop [60] 60.2% [88] 1010(3.9%) 0(0.0%) ??? ...rbie/faster-eval-prog/src/points.rkt:179:26 ??? [46] 100.0% ----------------------------------------------------------------------- table-ref [79] 100.0% [89] 206(0.8%) 206(0.8%) assoc-iterate-first ...cket/private/dict.rkt:166:0 ----------------------------------------------------------------------- ival-add [83] 100.0% [90] 202(0.8%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:835:4 ??? [95] 100.0% ----------------------------------------------------------------------- map [81] 100.0% [91] 200(0.8%) 200(0.8%) simplify* ...er-eval-prog/src/core/reduce.rkt:29:0 ----------------------------------------------------------------------- ??? [85] 100.0% [92] 15258(59.7%) 0(0.0%) for-loop ...-eval-prog/src/core/alt-table.rkt:46:2 atab-add-altn [97] 53.3% errors [102] 38.8% loop [98] 3.9% override-at-pnts [101] 1.3% ----------------------------------------------------------------------- variable? [80] 25.0% constant? [86] 75.0% [93] 1602(6.3%) 1602(6.3%) value? ...ster-eval-prog/src/syntax/types.rkt:18:0 ----------------------------------------------------------------------- ??? [85] 100.0% [94] 434(1.7%) 0(0.0%) atab-add-altns ...prog/src/core/alt-table.rkt:40:0 atab-add-altn [97] 53.5% loop [99] 46.5% ----------------------------------------------------------------------- bfadd [90] 100.0% [95] 202(0.8%) 202(0.8%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 ----------------------------------------------------------------------- ??? [85] 100.0% [96] 200(0.8%) 0(0.0%) ??? ...ects/racket/contract/private/guts.rkt:770:8 bigvalue? [100] 100.0% ----------------------------------------------------------------------- atab-add-altns [94] 2.8% for-loop [92] 97.2% [97] 8366(32.7%) 0(0.0%) atab-add-altn ...prog/src/core/alt-table.rkt:194:0 errors [102] 100.0% ----------------------------------------------------------------------- for-loop [92] 100.0% [98] 602(2.4%) 0(0.0%) loop ...ter-eval-prog/src/core/alt-table.rkt:168:2 loop [103] 100.0% ----------------------------------------------------------------------- atab-add-altns [94] 1.0% loop [99] 99.0% [99] 202(0.8%) 202(0.8%) loop ...racket-7.5/collects/racket/list.rkt:434:17 loop [99] 99.0% ----------------------------------------------------------------------- ??? [96] 100.0% [100] 200(0.8%) 200(0.8%) bigvalue? ...r-eval-prog/src/syntax/types.rkt:19:0 ----------------------------------------------------------------------- for-loop [92] 100.0% [101] 200(0.8%) 0(0.0%) override-at-pnts ...g/src/core/alt-table.rkt:129:0 for-loop [104] 100.0% ----------------------------------------------------------------------- .../more-scheme.rkt:261:28 [14] 13.5% for-loop [92] 35.9% atab-add-altn [97] 50.6% [102] 16518(64.6%) 0(0.0%) errors ...ie/faster-eval-prog/src/points.rkt:190:0 for-loop [105] 100.0% ----------------------------------------------------------------------- loop [98] 1.7% loop [103] 98.3% [103] 602(2.4%) 602(2.4%) loop ...racket-7.5/collects/racket/list.rkt:434:28 loop [103] 98.3% ----------------------------------------------------------------------- override-at-pnts [101] 100.0% [104] 200(0.8%) 200(0.8%) for-loop ...val-prog/src/core/alt-table.rkt:130:22 ----------------------------------------------------------------------- errors [102] 100.0% [105] 16518(64.6%) 406(1.6%) for-loop .../faster-eval-prog/src/points.rkt:192:2 .../more-scheme.rkt:261:28 [14] 96.1% -----------------------------------------------------------------------