Loop id | Source Location | Source Function | Level | Exclusive coverage 2x1 (%) | Exclusive coverage 2x2 (%) | Exclusive coverage 2x4 (%) | Exclusive coverage 2x8 (%) | Exclusive coverage 2x16 (%) | Exclusive coverage 2x32 (%) | Exclusive coverage 2x48 (%) | Inclusive coverage 2x1 (%) | Inclusive coverage 2x2 (%) | Inclusive coverage 2x4 (%) | Inclusive coverage 2x8 (%) | Inclusive coverage 2x16 (%) | Inclusive coverage 2x32 (%) | Inclusive coverage 2x48 (%) | Max Exclusive Time Over Threads 2x1 (s) | Max Exclusive Time Over Threads 2x2 (s) | Max Exclusive Time Over Threads 2x4 (s) | Max Exclusive Time Over Threads 2x8 (s) | Max Exclusive Time Over Threads 2x16 (s) | Max Exclusive Time Over Threads 2x32 (s) | Max Exclusive Time Over Threads 2x48 (s) | Max Inclusive Time Over Threads 2x1 (s) | Max Inclusive Time Over Threads 2x2 (s) | Max Inclusive Time Over Threads 2x4 (s) | Max Inclusive Time Over Threads 2x8 (s) | Max Inclusive Time Over Threads 2x16 (s) | Max Inclusive Time Over Threads 2x32 (s) | Max Inclusive Time Over Threads 2x48 (s) | Exclusive Time w.r.t. Wall Time 2x1 (s) | Exclusive Time w.r.t. Wall Time 2x2 (s) | Exclusive Time w.r.t. Wall Time 2x4 (s) | Exclusive Time w.r.t. Wall Time 2x8 (s) | Exclusive Time w.r.t. Wall Time 2x16 (s) | Exclusive Time w.r.t. Wall Time 2x32 (s) | Exclusive Time w.r.t. Wall Time 2x48 (s) | Inclusive Time w.r.t. Wall Time 2x1 (s) | Inclusive Time w.r.t. Wall Time 2x2 (s) | Inclusive Time w.r.t. Wall Time 2x4 (s) | Inclusive Time w.r.t. Wall Time 2x8 (s) | Inclusive Time w.r.t. Wall Time 2x16 (s) | Inclusive Time w.r.t. Wall Time 2x32 (s) | Inclusive Time w.r.t. Wall Time 2x48 (s) | Nb Threads 2x1 | Nb Threads 2x2 | Nb Threads 2x4 | Nb Threads 2x8 | Nb Threads 2x16 | Nb Threads 2x32 | Nb Threads 2x48 | GFLOPS 2x1 | GFLOPS 2x2 | GFLOPS 2x4 | GFLOPS 2x8 | GFLOPS 2x16 | GFLOPS 2x32 | GFLOPS 2x48 | Vectorization Ratio (%) | Vector Length Use (%) | Speedup If No Scalar Integer | Speedup If FP Vectorized | Speedup If Fully Vectorized | Speedup If Perfect Load Balancing 2x1 | Speedup If Perfect Load Balancing 2x2 | Speedup If Perfect Load Balancing 2x4 | Speedup If Perfect Load Balancing 2x8 | Speedup If Perfect Load Balancing 2x16 | Speedup If Perfect Load Balancing 2x32 | Speedup If Perfect Load Balancing 2x48 | Stride 0 | Stride 1 | Stride n | Stride Unknown | Stride Indirect | (2x1) Efficiency | (2x1) Potential Speed-Up (%) | (2x2) Efficiency | (2x2) Potential Speed-Up (%) | (2x4) Efficiency | (2x4) Potential Speed-Up (%) | (2x8) Efficiency | (2x8) Potential Speed-Up (%) | (2x16) Efficiency | (2x16) Potential Speed-Up (%) | (2x32) Efficiency | (2x32) Potential Speed-Up (%) | (2x48) Efficiency | (2x48) Potential Speed-Up (%) |
---|
1189 | exec - Scattering.cpp:87-97 [...] | void Kripke::DispatchHelper<Kripke::ArchT_OpenMP>::operator()<Kripke::LayoutT_DGZ, ScatteringSdom, Kripke::SdomId&, Kripke::SdomId&, Kripke::Core::Set&, Kripke::Core::Set&, Kripke::Core::Set&, Kripke::Core::Field<double, Kri... | InBetween | 69.41 | 68.71 | 67.89 | 65.80 | 61.88 | 56.80 | 58.03 | 93.01 | 92.42 | 91.41 | 88.86 | 83.69 | 77.43 | 75.57 | 854.87 | 425.93 | 213.37 | 107.02 | 56.31 | 35.05 | 39.38 | 1151.85 | 576.42 | 288.72 | 145.15 | 76.47 | 47.74 | 48.21 | 854.43 | 427.03 | 213.28 | 106.86 | 55.59 | 33.42 | 34.64 | 1144.99 | 574.40 | 287.17 | 144.31 | 75.18 | 45.56 | 45.11 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 3.85 | 7.68 | 15.36 | 30.47 | 58.00 | 95.89 | 91.85 | 20.11 | 15.01 | 1.73 | 2.87 | 7.67 | 1 | 1 | 1 | 1.01 | 1.02 | 1.05 | 1.23 | 1 | 0 | 0 | 6 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0.04 | 0.96 | 2.44 | 0.8 | 11.42 | 0.51 | 28.21 |
1190 | exec - IndexValue.hpp:217-217 [...] | void Kripke::DispatchHelper<Kripke::ArchT_OpenMP>::operator()<Kripke::LayoutT_DGZ, ScatteringSdom, Kripke::SdomId&, Kripke::SdomId&, Kripke::Core::Set&, Kripke::Core::Set&, Kripke::Core::Set&, Kripke::Core::Field<double, Kri... | Innermost | 23.60 | 23.71 | 23.52 | 23.06 | 21.81 | 20.63 | 17.54 | 23.60 | 23.71 | 23.52 | 23.06 | 21.81 | 20.63 | 17.54 | 296.98 | 151.52 | 76.79 | 39.11 | 20.48 | 13.14 | 10.59 | 296.98 | 151.52 | 76.79 | 39.11 | 20.48 | 13.14 | 10.59 | 290.56 | 147.36 | 73.89 | 37.45 | 19.59 | 12.14 | 10.47 | 290.56 | 147.36 | 73.89 | 37.45 | 19.59 | 12.14 | 10.47 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 3.92 | 7.78 | 15.56 | 31.22 | 61.33 | 100.59 | 118.91 | 0 | 12.5 | 1 | 3.46 | 8 | 1.02 | 1.03 | 1.04 | 1.05 | 1.05 | 1.09 | 1.09 | 0 | 2 | 0 | 1 | 0 | 1 | 0 | 0.99 | 0.33 | 0.98 | 0.4 | 0.97 | 0.7 | 0.93 | 1.6 | 0.75 | 5.2 | 0.58 | 7.4 |
760 | exec - forall.hpp:59-59 [...] | void LPlusTimesSdom::operator()<Kripke::ArchLayoutT<Kripke::ArchT_OpenMP, Kripke::LayoutT_DGZ> >(Kripke::ArchLayoutT<Kripke::ArchT_OpenMP, Kripke::LayoutT_DGZ>, Kripke::SdomId, Kripke::Core::Set const&, Kripke::Core::Set const&, K... | Innermost | 1.71 | 1.71 | 1.77 | 1.91 | 1.98 | 2.22 | 2.89 | 1.71 | 1.71 | 1.77 | 1.91 | 1.98 | 2.22 | 2.89 | 21.09 | 10.69 | 5.60 | 3.24 | 1.85 | 1.47 | 2.70 | 21.09 | 10.69 | 5.60 | 3.24 | 1.85 | 1.47 | 2.70 | 21.07 | 10.65 | 5.56 | 3.10 | 1.78 | 1.31 | 1.73 | 21.07 | 10.65 | 5.56 | 3.10 | 1.78 | 1.31 | 1.73 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 9.17 | 18.15 | 34.73 | 62.22 | 108.56 | 147.94 | 111.85 | 100 | 50 | 1.21 | 1.53 | 2 | 1 | 1.01 | 1.01 | 1.05 | 1.05 | 1.13 | 1.69 | 1 | 3 | 1 | 0 | 0 | 1 | 0 | 0.99 | 0.02 | 0.95 | 0.09 | 0.85 | 0.29 | 0.74 | 0.51 | 0.5 | 1.1 | 0.25 | 2.16 |
1333 | exec - forall.hpp:59-59 [...] | void Kripke::DispatchHelper<Kripke::ArchT_OpenMP>::operator()<Kripke::LayoutT_DGZ, SweepSdom, Kripke::Core::DataStore&, Kripke::SdomId&>(Kripke::LayoutT_DGZ, SweepSdom const&, Kripke::Core::DataStore&, Kripke::SdomId&) const... | Innermost | 1.43 | 1.62 | 1.65 | 1.71 | 1.55 | 1.38 | 1.12 | 1.43 | 1.62 | 1.65 | 1.71 | 1.55 | 1.38 | 1.12 | 17.69 | 10.53 | 5.41 | 2.97 | 1.54 | 0.89 | 0.70 | 17.69 | 10.53 | 5.41 | 2.97 | 1.54 | 0.89 | 0.70 | 17.65 | 10.08 | 5.17 | 2.78 | 1.39 | 0.81 | 0.67 | 17.65 | 10.08 | 5.17 | 2.78 | 1.39 | 0.81 | 0.67 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 4.42 | 7.74 | 15.09 | 28.04 | 56.01 | 95.75 | 116.86 | 10.34 | 13.79 | 1 | 1.5 | 1.5 | 1 | 1.05 | 1.05 | 1.07 | 1.11 | 1.1 | 1.13 | 1 | 0 | 0 | 4 | 5 | 1 | 0 | 0.88 | 0.2 | 0.85 | 0.24 | 0.79 | 0.35 | 0.79 | 0.32 | 0.68 | 0.45 | 0.55 | 0.5 |
903 | exec - forall.hpp:59-59 [...] | void Kripke::DispatchHelper<Kripke::ArchT_OpenMP>::operator()<Kripke::LayoutT_DGZ, LTimesSdom, Kripke::SdomId&, Kripke::Core::Set const&, Kripke::Core::Set const&, Kripke::Core::Set const&, Kripke::Core::Set const&, Kripke::Cor... | Innermost | 1.23 | 1.26 | 1.23 | 1.32 | 1.44 | 1.59 | 1.73 | 1.23 | 1.26 | 1.23 | 1.32 | 1.44 | 1.59 | 1.73 | 15.44 | 7.90 | 4.05 | 2.35 | 1.40 | 1.21 | 1.42 | 15.44 | 7.90 | 4.05 | 2.35 | 1.40 | 1.21 | 1.42 | 15.09 | 7.81 | 3.87 | 2.14 | 1.29 | 0.94 | 1.03 | 15.09 | 7.81 | 3.87 | 2.14 | 1.29 | 0.94 | 1.03 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 8.89 | 17.17 | 34.67 | 62.66 | 103.50 | 142.73 | 129.50 | 100 | 50 | 1.17 | 1.47 | 2 | 1.02 | 1.02 | 1.05 | 1.11 | 1.09 | 1.3 | 1.49 | 1 | 3 | 1 | 0 | 0 | 1 | 0 | 0.97 | 0.04 | 0.98 | 0.03 | 0.88 | 0.16 | 0.73 | 0.39 | 0.5 | 0.79 | 0.3 | 1.2 |
901 | exec - forall.hpp:59-59 [...] | void Kripke::DispatchHelper<Kripke::ArchT_OpenMP>::operator()<Kripke::LayoutT_DGZ, LTimesSdom, Kripke::SdomId&, Kripke::Core::Set const&, Kripke::Core::Set const&, Kripke::Core::Set const&, Kripke::Core::Set const&, Kripke::Cor... | Innermost | 0.69 | 0.72 | 0.75 | 0.88 | 0.86 | 0.91 | 1.10 | 0.69 | 0.72 | 0.75 | 0.88 | 0.86 | 0.91 | 1.10 | 8.50 | 4.80 | 2.57 | 1.64 | 0.90 | 0.69 | 0.80 | 8.50 | 4.80 | 2.57 | 1.64 | 0.90 | 0.69 | 0.80 | 8.47 | 4.50 | 2.37 | 1.42 | 0.78 | 0.54 | 0.65 | 8.47 | 4.50 | 2.37 | 1.42 | 0.78 | 0.54 | 0.65 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 7.92 | 14.92 | 28.35 | 47.17 | 86.57 | 125.90 | 103.12 | 100 | 50 | 1 | 1.41 | 2 | 1 | 1.07 | 1.09 | 1.16 | 1.17 | 1.29 | 1.33 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0.94 | 0.04 | 0.9 | 0.08 | 0.74 | 0.22 | 0.68 | 0.27 | 0.49 | 0.46 | 0.27 | 0.8 |
676 | exec - forall.hpp:59-59 [...] | Kripke::SteadyStateSolver(Kripke::Core::DataStore&, unsigned long, bool) | Innermost | 0.16 | 0.16 | 0.16 | 0.15 | 0.14 | 0.12 | 0.08 | 0.16 | 0.16 | 0.16 | 0.15 | 0.14 | 0.12 | 0.08 | 2.00 | 1.96 | 1.99 | 1.97 | 2.05 | 2.19 | 2.37 | 2.00 | 1.96 | 1.99 | 1.97 | 2.05 | 2.19 | 2.37 | 1.99 | 0.98 | 0.50 | 0.25 | 0.13 | 0.07 | 0.05 | 1.99 | 0.98 | 0.50 | 0.25 | 0.13 | 0.07 | 0.05 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100 | 50 | 1 | 1 | 2 | 1.01 | 1 | 1 | 1 | 1.01 | 1.01 | 1.05 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1.01 | -0 | 1 | 0 | 1.01 | -0 | 0.98 | 0 | 0.92 | 0.01 | 0.82 | 0.02 |
1047 | exec - forall.hpp:59-59 [...] | void PopulationSdom::operator()<Kripke::ArchLayoutT<Kripke::ArchT_OpenMP, Kripke::LayoutT_DGZ> >(Kripke::ArchLayoutT<Kripke::ArchT_OpenMP, Kripke::LayoutT_DGZ>, Kripke::SdomId, Kripke::Core::Set const&, Kripke::Core::Set const&, K... | Innermost | 0.09 | 0.09 | 0.10 | 0.11 | 0.10 | 0.12 | 0.14 | 0.09 | 0.09 | 0.10 | 0.11 | 0.10 | 0.12 | 0.14 | 1.14 | 0.59 | 0.33 | 0.19 | 0.10 | 0.09 | 0.10 | 1.14 | 0.59 | 0.33 | 0.19 | 0.10 | 0.09 | 0.10 | 1.13 | 0.58 | 0.30 | 0.17 | 0.09 | 0.07 | 0.08 | 1.13 | 0.58 | 0.30 | 0.17 | 0.09 | 0.07 | 0.08 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 7.97 | 15.45 | 30.12 | 52.23 | 99.96 | 130.26 | 101.97 | 100 | 50 | 1 | 1.47 | 2 | 1.01 | 1.01 | 1.11 | 1.1 | 1.16 | 1.37 | 1.29 | 0 | 9 | 0 | 0 | 0 | 1 | 0 | 0.97 | 0 | 0.94 | 0.01 | 0.81 | 0.02 | 0.78 | 0.02 | 0.51 | 0.06 | 0.28 | 0.1 |
758 | exec - forall.hpp:59-59 [...] | void LPlusTimesSdom::operator()<Kripke::ArchLayoutT<Kripke::ArchT_OpenMP, Kripke::LayoutT_DGZ> >(Kripke::ArchLayoutT<Kripke::ArchT_OpenMP, Kripke::LayoutT_DGZ>, Kripke::SdomId, Kripke::Core::Set const&, Kripke::Core::Set const&, K... | Innermost | 0.09 | 0.09 | 0.09 | 0.09 | 0.09 | 0.11 | 0.14 | 0.09 | 0.09 | 0.09 | 0.09 | 0.09 | 0.11 | 0.14 | 1.11 | 0.58 | 0.33 | 0.20 | 0.14 | 0.11 | 0.18 | 1.11 | 0.58 | 0.33 | 0.20 | 0.14 | 0.11 | 0.18 | 1.06 | 0.53 | 0.30 | 0.14 | 0.08 | 0.06 | 0.08 | 1.06 | 0.53 | 0.30 | 0.14 | 0.08 | 0.06 | 0.08 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 7.57 | 15.25 | 27.02 | 56.73 | 95.80 | 123.13 | 98.86 | 100 | 50 | 1 | 1.41 | 2 | 1.05 | 1.1 | 1.12 | 1.44 | 1.6 | 1.73 | 2.34 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 1.01 | -0 | 0.9 | 0.01 | 0.93 | 0.01 | 0.78 | 0.02 | 0.52 | 0.05 | 0.27 | 0.1 |
1188 | exec - forall.hpp:59-59 [...] | void Kripke::DispatchHelper<Kripke::ArchT_OpenMP>::operator()<Kripke::LayoutT_DGZ, ScatteringSdom, Kripke::SdomId&, Kripke::SdomId&, Kripke::Core::Set&, Kripke::Core::Set&, Kripke::Core::Set&, Kripke::Core::Field<double, Kri... | InBetween | 0.08 | 0.09 | 0.08 | 0.08 | 0.07 | 0.06 | 0.05 | 93.08 | 92.51 | 91.49 | 88.94 | 83.76 | 77.49 | 75.62 | 1.61 | 0.98 | 0.45 | 0.25 | 0.17 | 0.10 | 0.09 | 1152.09 | 576.57 | 288.79 | 145.19 | 76.55 | 47.80 | 48.27 | 0.92 | 0.54 | 0.24 | 0.13 | 0.06 | 0.04 | 0.03 | 1145.91 | 574.94 | 287.41 | 144.44 | 75.25 | 45.60 | 45.13 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 4.42 | 7.53 | 16.76 | 30.68 | 54.87 | 92.61 | 96.37 | 0 | 12.5 | 1.62 | 1 | 8 | 1.75 | 1.8 | 1.88 | 2.03 | 2.78 | 2.97 | 3.32 | NA | NA | NA | NA | NA | 1 | 0 | 0.85 | 0.01 | 0.96 | 0 | 0.91 | 0.01 | 0.94 | 0 | 0.81 | 0.01 | 0.66 | 0.02 |
688 | exec - forall.hpp:59-59 [...] | Kripke::SteadyStateSolver(Kripke::Core::DataStore&, unsigned long, bool) | Innermost | 0.04 | 0.05 | 0.05 | 0.05 | 0.04 | 0.03 | 0.02 | 0.04 | 0.05 | 0.05 | 0.05 | 0.04 | 0.03 | 0.02 | 0.52 | 0.56 | 0.57 | 0.61 | 0.57 | 0.62 | 0.63 | 0.52 | 0.56 | 0.57 | 0.61 | 0.57 | 0.62 | 0.63 | 0.53 | 0.28 | 0.14 | 0.07 | 0.04 | 0.02 | 0.01 | 0.53 | 0.28 | 0.14 | 0.07 | 0.04 | 0.02 | 0.01 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100 | 50 | 1 | 1 | 2 | 1 | 1 | 1.01 | 1.05 | 1.01 | 1.04 | 1.04 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0.93 | 0 | 0.92 | 0 | 0.89 | 0.01 | 0.92 | 0 | 0.88 | 0 | 0.8 | 0 |
682 | exec - forall.hpp:59-59 [...] | Kripke::SteadyStateSolver(Kripke::Core::DataStore&, unsigned long, bool) | Innermost | 0.04 | 0.05 | 0.05 | 0.05 | 0.04 | 0.03 | 0.02 | 0.04 | 0.05 | 0.05 | 0.05 | 0.04 | 0.03 | 0.02 | 0.51 | 0.57 | 0.60 | 0.60 | 0.61 | 0.66 | 0.69 | 0.51 | 0.57 | 0.60 | 0.60 | 0.61 | 0.66 | 0.69 | 0.51 | 0.28 | 0.15 | 0.07 | 0.04 | 0.02 | 0.01 | 0.51 | 0.28 | 0.15 | 0.07 | 0.04 | 0.02 | 0.01 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100 | 50 | 1 | 1 | 2 | 1 | 1.02 | 1.01 | 1.01 | 1 | 1 | 1.05 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0.9 | 0 | 0.85 | 0.01 | 0.86 | 0.01 | 0.84 | 0.01 | 0.78 | 0.01 | 0.72 | 0.01 |
1332 | exec - forall.hpp:59-59 [...] | void Kripke::DispatchHelper<Kripke::ArchT_OpenMP>::operator()<Kripke::LayoutT_DGZ, SweepSdom, Kripke::Core::DataStore&, Kripke::SdomId&>(Kripke::LayoutT_DGZ, SweepSdom const&, Kripke::Core::DataStore&, Kripke::SdomId&) const... | InBetween | 0.04 | 0.05 | 0.06 | 0.07 | 0.07 | 0.05 | 0.04 | 1.47 | 1.68 | 1.71 | 1.78 | 1.62 | 1.44 | 1.15 | 0.53 | 0.38 | 0.25 | 0.15 | 0.09 | 0.06 | 0.05 | 18.10 | 10.84 | 5.61 | 3.09 | 1.58 | 0.93 | 0.73 | 0.48 | 0.33 | 0.20 | 0.11 | 0.06 | 0.03 | 0.02 | 18.12 | 10.41 | 5.37 | 2.89 | 1.45 | 0.85 | 0.69 | 2 | 4 | 8 | 16 | 32 | 64 | 96 | 4.99 | 7.11 | 11.69 | 21.61 | 39.15 | 73.02 | 105.89 | 0 | 12.28 | 1 | 1 | 9.05 | 1.13 | 1.15 | 1.25 | 1.38 | 1.61 | 1.86 | 2.4 | 1 | 0.5 | 0 | 3.5 | 0.5 | 1 | 0 | 0.71 | 0.02 | 0.59 | 0.03 | 0.54 | 0.03 | 0.5 | 0.03 | 0.46 | 0.03 | 0.44 | 0.02 |
729 | exec - forall.hpp:59-59 [...] | Kripke::SweepSolver(Kripke::Core::DataStore&, std::vector<Kripke::SdomId, std::allocator<Kripke::SdomId> >, bool) | Innermost | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.01 | 0.01 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.01 | 0.01 | 0.24 | 0.21 | 0.23 | 0.24 | 0.23 | 0.26 | 0.38 | 0.24 | 0.21 | 0.23 | 0.24 | 0.23 | 0.26 | 0.38 | 0.24 | 0.10 | 0.05 | 0.03 | 0.01 | 0.01 | 0.01 | 0.24 | 0.10 | 0.05 | 0.03 | 0.01 | 0.01 | 0.01 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100 | 50 | 1 | 1 | 2 | 1.01 | 1 | 1.08 | 1.02 | 1.01 | 1.04 | 1.18 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1.18 | -0 | 1.11 | -0 | 1.01 | -0 | 1.06 | -0 | 0.97 | 0 | 0.7 | 0 |