diff mbox series

aarch64: MTE compatible strcpy

Message ID VI1PR08MB3663D108BC1BD923162A2EE5ED820@VI1PR08MB3663.eurprd08.prod.outlook.com
State New
Headers show
Series aarch64: MTE compatible strcpy | expand

Commit Message

Alex Butler June 9, 2020, 3:57 p.m. UTC
This patch adds an MTE compatible implementation of strcpy.

Please see the benchmark results for the performance uplift.

| length | alignment | uplift A72  | uplift A53  | uplift N1   |
|--------+-----------+-------------|-------------|-------------|
|      0 | 0/ 0      |       0.59x |       0.91x |       0.78x |
|      0 | 0/ 0      |       0.53x |       0.91x |       0.78x |
|      0 | 0/ 0      |       0.53x |       1.03x |       0.79x |
|      0 | 0/ 0      |       0.44x |       0.91x |       0.60x |
|      1 | 0/ 0      |       0.51x |       0.82x |       0.75x |
|      1 | 0/ 0      |       0.42x |       0.88x |       0.75x |
|      1 | 0/ 1      |       0.51x |       0.83x |       0.59x |
|      1 | 1/ 0      |       0.51x |       0.82x |       0.64x |
|      2 | 0/ 0      |       0.51x |       0.82x |       0.59x |
|      2 | 0/ 0      |       0.42x |       0.82x |       0.59x |
|      2 | 0/ 2      |       0.51x |       0.82x |       0.59x |
|      2 | 2/ 0      |       0.51x |       0.82x |       0.64x |
|      3 | 0/ 0      |       0.65x |       0.81x |       0.71x |
|      3 | 0/ 0      |       0.63x |       0.84x |       0.71x |
|      3 | 0/ 3      |       0.63x |       0.84x |       0.71x |
|      3 | 3/ 0      |       0.63x |       0.81x |       0.90x |
|      4 | 0/ 0      |       0.63x |       0.81x |       0.90x |
|      4 | 0/ 0      |       0.63x |       0.81x |       0.90x |
|      4 | 0/ 4      |       0.63x |       0.81x |       0.90x |
|      4 | 4/ 0      |       1.25x |       0.81x |       0.90x |
|      5 | 0/ 0      |       1.25x |       0.81x |       1.15x |
|      5 | 0/ 0      |       1.25x |       0.81x |       1.15x |
|      5 | 0/ 5      |       1.25x |       0.81x |       1.16x |
|      5 | 5/ 0      |       1.25x |       0.81x |       1.16x |
|      6 | 0/ 0      |       1.25x |       0.81x |       1.16x |
|      6 | 0/ 0      |       1.56x |       0.81x |       1.68x |
|      6 | 0/ 6      |       1.25x |       0.81x |       1.16x |
|      6 | 6/ 0      |       1.25x |       0.88x |       1.15x |
|      7 | 0/ 0      |       1.25x |       0.81x |       0.90x |
|      7 | 0/ 0      |       1.25x |       0.81x |       0.90x |
|      7 | 0/ 7      |       1.25x |       0.81x |       0.90x |
|      7 | 7/ 0      |       1.10x |       0.81x |       0.90x |
|      8 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|      8 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|      8 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|      8 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|      9 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|      9 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|      9 | 0/ 1      |       1.21x |       0.81x |       1.00x |
|      9 | 1/ 0      |       1.21x |       0.87x |       1.24x |
|     10 | 0/ 0      |       1.39x |       0.81x |       1.20x |
|     10 | 0/ 0      |       1.21x |       0.81x |       1.21x |
|     10 | 0/ 2      |       1.21x |       0.81x |       1.20x |
|     10 | 2/ 0      |       1.21x |       0.87x |       1.03x |
|     11 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|     11 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|     11 | 0/ 3      |       1.21x |       0.78x |       1.00x |
|     11 | 3/ 0      |       1.21x |       0.87x |       1.02x |
|     12 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|     12 | 0/ 0      |       0.95x |       0.81x |       0.90x |
|     12 | 0/ 4      |       1.21x |       0.79x |       0.89x |
|     12 | 4/ 0      |       1.02x |       0.60x |       0.97x |
|     13 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|     13 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|     13 | 0/ 5      |       1.21x |       0.83x |       1.00x |
|     13 | 5/ 0      |       1.02x |       0.62x |       0.99x |
|     14 | 0/ 0      |       1.21x |       0.81x |       0.92x |
|     14 | 0/ 0      |       1.21x |       0.81x |       1.00x |
|     14 | 0/ 6      |       1.21x |       0.79x |       1.00x |
|     14 | 6/ 0      |       0.96x |       0.62x |       1.00x |
|     15 | 0/ 0      |       1.21x |       0.84x |       1.00x |
|     15 | 0/ 0      |       1.21x |       0.84x |       1.10x |
|     15 | 0/ 7      |       1.21x |       0.81x |       1.00x |
|     15 | 7/ 0      |       1.02x |       0.62x |       1.00x |
|     16 | 0/ 0      |       1.12x |       1.06x |       1.42x |
|     16 | 7/ 2      |       1.15x |       1.06x |       1.48x |
|     32 | 0/ 0      |       2.09x |       0.88x |       1.28x |
|     32 | 6/ 4      |       2.08x |       0.89x |       1.26x |
|     64 | 0/ 0      |       0.96x |       0.93x |       1.24x |
|     64 | 5/ 6      |       0.97x |       0.94x |       1.21x |
|    128 | 0/ 0      |       0.87x |       0.99x |       1.43x |
|    128 | 4/ 0      |       0.89x |       0.98x |       1.44x |
|    256 | 0/ 0      |       0.88x |       1.02x |       1.42x |
|    256 | 3/ 2      |       0.88x |       1.02x |       1.44x |
|    512 | 0/ 0      |       0.90x |       1.06x |       1.42x |
|    512 | 2/ 4      |       0.87x |       1.05x |       1.38x |
|   1024 | 0/ 0      |       0.93x |       1.08x |       1.35x |
|   1024 | 1/ 6      |       0.91x |       1.07x |       1.35x |
|     16 | 1/ 2      |       0.96x |       1.06x |       1.41x |
|     16 | 2/ 1      |       0.94x |       1.06x |       1.41x |
|     16 | 1/ 1      |       1.12x |       1.06x |       1.40x |
|     16 | 1/ 1      |       1.06x |       1.06x |       1.41x |
|     32 | 2/ 4      |       2.08x |       0.89x |       1.25x |
|     32 | 4/ 2      |       2.08x |       0.89x |       1.27x |
|     32 | 2/ 2      |       2.08x |       0.89x |       1.26x |
|     32 | 2/ 2      |       2.08x |       0.90x |       1.25x |
|     64 | 3/ 6      |       0.97x |       0.94x |       1.21x |
|     64 | 6/ 3      |       0.97x |       0.92x |       1.18x |
|     64 | 3/ 3      |       0.97x |       0.93x |       1.20x |
|     64 | 3/ 3      |       0.97x |       0.92x |       1.21x |
|    128 | 4/ 0      |       0.89x |       0.99x |       1.44x |
|    128 | 0/ 4      |       0.84x |       0.99x |       1.42x |
|    128 | 4/ 4      |       0.86x |       0.98x |       1.44x |
|    128 | 4/ 4      |       0.86x |       0.99x |       1.50x |
|    256 | 5/ 2      |       0.89x |       1.03x |       1.44x |
|    256 | 2/ 5      |       0.86x |       1.03x |       1.43x |
|    256 | 5/ 5      |       0.88x |       1.03x |       1.44x |
|    256 | 5/ 5      |       0.89x |       1.03x |       1.44x |
|    512 | 6/ 4      |       0.90x |       1.05x |       1.37x |
|    512 | 4/ 6      |       0.87x |       1.05x |       1.38x |
|    512 | 6/ 6      |       0.90x |       1.06x |       1.37x |
|    512 | 6/ 6      |       0.90x |       1.06x |       1.37x |
|   1024 | 7/ 6      |       0.93x |       1.07x |       1.35x |
|   1024 | 6/ 7      |       0.93x |       1.07x |       1.34x |
|   1024 | 7/ 7      |       0.95x |       1.08x |       1.34x |
|   1024 | 7/ 7      |       0.93x |       1.08x |       1.34x |
|     16 | 0/ 4      |       1.12x |       1.06x |       1.41x |
|     16 | 4/ 0      |       1.13x |       1.06x |       1.41x |
|     16 | 4/ 4      |       1.12x |       1.06x |       1.41x |
|     16 | 2/ 2      |       1.12x |       1.06x |       1.40x |
|     16 | 2/ 6      |       1.10x |       1.08x |       1.41x |
|     16 | 6/ 2      |       1.13x |       1.06x |       1.41x |
|     16 | 1/ 7      |       1.12x |       1.06x |       1.40x |
|     16 | 7/ 1      |       1.15x |       1.06x |       1.48x |
|     16 | 3/ 4      |       1.15x |       1.06x |       1.47x |
|     16 | 4/ 3      |       1.12x |       1.06x |       1.41x |
|     16 | 5/ 7      |       1.10x |       1.06x |       1.41x |
|     16 | 7/ 5      |       1.15x |       1.04x |       1.47x |
|     20 | 0/ 4      |       1.12x |       1.06x |       1.41x |
|     20 | 4/ 0      |       1.12x |       1.06x |       1.41x |
|     20 | 4/ 4      |       1.12x |       1.06x |       1.40x |
|     20 | 2/ 2      |       1.10x |       1.04x |       1.41x |
|     20 | 2/ 6      |       1.10x |       1.06x |       1.40x |
|     20 | 6/ 2      |       1.12x |       1.06x |       1.40x |
|     20 | 1/ 7      |       1.08x |       1.06x |       1.41x |
|     20 | 7/ 1      |       1.15x |       1.06x |       1.48x |
|     20 | 3/ 4      |       1.15x |       1.06x |       1.48x |
|     20 | 4/ 3      |       1.16x |       1.06x |       1.41x |
|     20 | 5/ 7      |       1.12x |       1.06x |       1.41x |
|     20 | 7/ 5      |       1.15x |       1.08x |       1.48x |
|     24 | 0/ 4      |       1.12x |       1.06x |       1.41x |
|     24 | 4/ 0      |       1.12x |       1.06x |       1.41x |
|     24 | 4/ 4      |       1.12x |       0.99x |       1.41x |
|     24 | 2/ 2      |       1.12x |       1.08x |       1.41x |
|     24 | 2/ 6      |       1.12x |       1.06x |       1.41x |
|     24 | 6/ 2      |       1.12x |       1.06x |       1.41x |
|     24 | 1/ 7      |       1.13x |       1.06x |       1.40x |
|     24 | 7/ 1      |       1.15x |       1.06x |       1.48x |
|     24 | 3/ 4      |       1.15x |       1.06x |       1.48x |
|     24 | 4/ 3      |       1.12x |       1.06x |       1.41x |
|     24 | 5/ 7      |       1.12x |       1.06x |       1.40x |
|     24 | 7/ 5      |       1.15x |       1.06x |       1.48x |
|     28 | 0/ 4      |       1.12x |       1.06x |       1.42x |
|     28 | 4/ 0      |       2.11x |       0.87x |       1.27x |
|     28 | 4/ 4      |       2.09x |       0.90x |       1.27x |
|     28 | 2/ 2      |       1.12x |       1.06x |       1.41x |
|     28 | 2/ 6      |       1.12x |       1.04x |       1.40x |
|     28 | 6/ 2      |       2.08x |       0.89x |       1.26x |
|     28 | 1/ 7      |       1.12x |       1.08x |       1.40x |
|     28 | 7/ 1      |       2.11x |       0.89x |       1.33x |
|     28 | 3/ 4      |       1.15x |       1.06x |       1.49x |
|     28 | 4/ 3      |       2.08x |       0.89x |       1.27x |
|     28 | 5/ 7      |       2.08x |       0.89x |       1.24x |
|     28 | 7/ 5      |       2.11x |       0.89x |       1.32x |
|     32 | 0/ 4      |       2.08x |       0.89x |       1.25x |
|     32 | 4/ 0      |       2.03x |       0.89x |       1.27x |
|     32 | 4/ 4      |       2.08x |       0.89x |       1.27x |
|     32 | 2/ 2      |       2.08x |       0.89x |       1.26x |
|     32 | 2/ 6      |       2.02x |       0.88x |       1.24x |
|     32 | 6/ 2      |       2.08x |       0.89x |       1.26x |
|     32 | 1/ 7      |       2.11x |       0.89x |       1.24x |
|     32 | 7/ 1      |       2.11x |       0.89x |       1.32x |
|     32 | 3/ 4      |       2.11x |       0.89x |       1.31x |
|     32 | 4/ 3      |       2.08x |       0.89x |       1.27x |
|     32 | 5/ 7      |       2.08x |       0.90x |       1.25x |
|     32 | 7/ 5      |       2.11x |       0.89x |       1.31x |
|     36 | 0/ 4      |       2.08x |       0.89x |       1.25x |
|     36 | 4/ 0      |       2.08x |       0.90x |       1.27x |
|     36 | 4/ 4      |       2.08x |       0.89x |       1.27x |
|     36 | 2/ 2      |       2.08x |       0.87x |       1.26x |
|     36 | 2/ 6      |       2.08x |       0.89x |       1.25x |
|     36 | 6/ 2      |       2.08x |       0.89x |       1.25x |
|     36 | 1/ 7      |       2.08x |       0.88x |       1.25x |
|     36 | 7/ 1      |       2.11x |       0.89x |       1.33x |
|     36 | 3/ 4      |       2.09x |       0.89x |       1.29x |
|     36 | 4/ 3      |       2.08x |       0.89x |       1.27x |
|     36 | 5/ 7      |       2.08x |       0.89x |       1.24x |
|     36 | 7/ 5      |       2.11x |       0.89x |       1.33x |
|     40 | 0/ 4      |       2.08x |       0.89x |       1.26x |
|     40 | 4/ 0      |       2.08x |       0.89x |       1.27x |
|     40 | 4/ 4      |       2.02x |       0.87x |       1.27x |
|     40 | 2/ 2      |       2.11x |       0.89x |       1.26x |
|     40 | 2/ 6      |       2.08x |       0.89x |       1.24x |
|     40 | 6/ 2      |       2.08x |       0.89x |       1.23x |
|     40 | 1/ 7      |       2.08x |       0.89x |       1.24x |
|     40 | 7/ 1      |       2.11x |       0.89x |       1.33x |
|     40 | 3/ 4      |       2.11x |       0.90x |       1.30x |
|     40 | 4/ 3      |       2.08x |       0.89x |       1.27x |
|     40 | 5/ 7      |       2.08x |       0.89x |       1.26x |
|     40 | 7/ 5      |       2.11x |       0.90x |       1.33x |
|     44 | 0/ 4      |       2.08x |       0.89x |       1.26x |
|     44 | 4/ 0      |       0.57x |       0.90x |       1.26x |
|     44 | 4/ 4      |       0.57x |       0.93x |       1.25x |
|     44 | 2/ 2      |       2.08x |       0.89x |       1.26x |
|     44 | 2/ 6      |       2.02x |       0.88x |       1.24x |
|     44 | 6/ 2      |       0.55x |       0.93x |       1.24x |
|     44 | 1/ 7      |       2.08x |       0.89x |       1.23x |
|     44 | 7/ 1      |       0.58x |       0.92x |       1.24x |
|     44 | 3/ 4      |       2.16x |       0.90x |       1.29x |
|     44 | 4/ 3      |       0.57x |       0.90x |       1.27x |
|     44 | 5/ 7      |       0.55x |       0.92x |       1.20x |
|     44 | 7/ 5      |       0.57x |       0.92x |       1.24x |
|     48 | 0/ 4      |       0.57x |       0.91x |       1.23x |
|     48 | 4/ 0      |       0.57x |       0.91x |       1.26x |
|     48 | 4/ 4      |       0.57x |       0.90x |       1.25x |
|     48 | 2/ 2      |       0.58x |       0.91x |       1.23x |
|     48 | 2/ 6      |       0.55x |       0.93x |       1.20x |
|     48 | 6/ 2      |       0.55x |       0.92x |       1.24x |
|     48 | 1/ 7      |       0.55x |       0.92x |       1.18x |
|     48 | 7/ 1      |       0.57x |       0.92x |       1.24x |
|     48 | 3/ 4      |       0.53x |       0.92x |       1.24x |
|     48 | 4/ 3      |       0.57x |       0.92x |       1.26x |
|     48 | 5/ 7      |       0.55x |       0.92x |       1.20x |
|     48 | 7/ 5      |       0.57x |       0.91x |       1.26x |
|     52 | 0/ 4      |       0.57x |       0.90x |       1.22x |
|     52 | 4/ 0      |       0.58x |       0.91x |       1.27x |
|     52 | 4/ 4      |       0.57x |       0.91x |       1.25x |
|     52 | 2/ 2      |       0.55x |       0.93x |       1.22x |
|     52 | 2/ 6      |       0.55x |       0.92x |       1.20x |
|     52 | 6/ 2      |       0.55x |       0.92x |       1.25x |
|     52 | 1/ 7      |       0.54x |       0.93x |       1.20x |
|     52 | 7/ 1      |       0.57x |       0.89x |       1.25x |
|     52 | 3/ 4      |       0.57x |       0.91x |       1.24x |
|     52 | 4/ 3      |       0.55x |       0.92x |       1.26x |
|     52 | 5/ 7      |       0.55x |       0.92x |       1.20x |
|     52 | 7/ 5      |       0.58x |       0.92x |       1.30x |
|     56 | 0/ 4      |       0.57x |       0.90x |       1.21x |
|     56 | 4/ 0      |       0.57x |       0.91x |       1.27x |
|     56 | 4/ 4      |       0.57x |       0.93x |       1.25x |
|     56 | 2/ 2      |       0.55x |       0.91x |       1.22x |
|     56 | 2/ 6      |       0.58x |       0.92x |       1.20x |
|     56 | 6/ 2      |       0.59x |       0.92x |       1.24x |
|     56 | 1/ 7      |       0.55x |       0.91x |       1.20x |
|     56 | 7/ 1      |       0.57x |       0.91x |       1.24x |
|     56 | 3/ 4      |       0.57x |       0.92x |       1.24x |
|     56 | 4/ 3      |       0.58x |       0.92x |       1.26x |
|     56 | 5/ 7      |       0.57x |       0.90x |       1.20x |
|     56 | 7/ 5      |       0.57x |       0.91x |       1.24x |
|     60 | 0/ 4      |       0.55x |       0.91x |       1.23x |
|     60 | 4/ 0      |       0.96x |       0.95x |       1.24x |
|     60 | 4/ 4      |       0.94x |       0.93x |       1.23x |
|     60 | 2/ 2      |       0.59x |       0.91x |       1.22x |
|     60 | 2/ 6      |       0.55x |       0.92x |       1.21x |
|     60 | 6/ 2      |       0.87x |       0.93x |       1.23x |
|     60 | 1/ 7      |       0.49x |       0.92x |       1.20x |
|     60 | 7/ 1      |       0.97x |       0.94x |       1.23x |
|     60 | 3/ 4      |       0.58x |       0.91x |       1.23x |
|     60 | 4/ 3      |       0.96x |       0.95x |       1.25x |
|     60 | 5/ 7      |       0.97x |       0.94x |       1.22x |
|     60 | 7/ 5      |       0.97x |       0.94x |       1.25x |
|     64 | 0/ 4      |       0.96x |       0.92x |       1.22x |
|     64 | 4/ 0      |       0.96x |       0.94x |       1.24x |
|     64 | 4/ 4      |       0.96x |       0.92x |       1.22x |
|     64 | 2/ 2      |       0.97x |       0.93x |       1.24x |
|     64 | 2/ 6      |       0.97x |       0.94x |       1.19x |
|     64 | 6/ 2      |       0.97x |       0.94x |       1.21x |
|     64 | 1/ 7      |       0.97x |       0.93x |       1.21x |
|     64 | 7/ 1      |       0.97x |       0.94x |       1.23x |
|     64 | 3/ 4      |       0.97x |       0.94x |       1.20x |
|     64 | 4/ 3      |       0.96x |       0.95x |       1.23x |
|     64 | 5/ 7      |       0.96x |       0.94x |       1.22x |
|     64 | 7/ 5      |       0.97x |       0.94x |       1.22x |
|     68 | 0/ 4      |       0.96x |       0.94x |       1.23x |
|     68 | 4/ 0      |       0.96x |       0.94x |       1.24x |
|     68 | 4/ 4      |       0.96x |       0.93x |       1.23x |
|     68 | 2/ 2      |       0.97x |       0.93x |       1.25x |
|     68 | 2/ 6      |       0.88x |       0.95x |       1.22x |
|     68 | 6/ 2      |       0.97x |       0.94x |       1.21x |
|     68 | 1/ 7      |       0.95x |       0.94x |       1.21x |
|     68 | 7/ 1      |       0.97x |       0.94x |       1.20x |
|     68 | 3/ 4      |       0.95x |       0.94x |       1.20x |
|     68 | 4/ 3      |       0.96x |       0.93x |       1.23x |
|     68 | 5/ 7      |       0.86x |       0.94x |       1.21x |
|     68 | 7/ 5      |       0.96x |       0.95x |       1.20x |
|     72 | 0/ 4      |       0.96x |       0.94x |       1.19x |
|     72 | 4/ 0      |       0.96x |       0.92x |       1.23x |
|     72 | 4/ 4      |       0.96x |       0.93x |       1.23x |
|     72 | 2/ 2      |       0.96x |       0.92x |       1.25x |
|     72 | 2/ 6      |       0.86x |       0.95x |       1.21x |
|     72 | 6/ 2      |       0.96x |       0.93x |       1.24x |
|     72 | 1/ 7      |       0.97x |       0.94x |       1.22x |
|     72 | 7/ 1      |       0.95x |       0.92x |       1.30x |
|     72 | 3/ 4      |       0.96x |       0.94x |       1.22x |
|     72 | 4/ 3      |       0.95x |       0.93x |       1.23x |
|     72 | 5/ 7      |       0.97x |       0.94x |       1.23x |
|     72 | 7/ 5      |       0.98x |       0.95x |       1.30x |
|     76 | 0/ 4      |       0.96x |       0.94x |       1.20x |
|     76 | 4/ 0      |       0.86x |       0.95x |       1.24x |
|     76 | 4/ 4      |       0.89x |       0.95x |       1.40x |
|     76 | 2/ 2      |       0.86x |       0.93x |       1.24x |
|     76 | 2/ 6      |       0.97x |       0.94x |       1.22x |
|     76 | 6/ 2      |       0.87x |       0.93x |       1.45x |
|     76 | 1/ 7      |       0.97x |       0.95x |       1.22x |
|     76 | 7/ 1      |       0.89x |       0.94x |       1.54x |
|     76 | 3/ 4      |       0.96x |       0.95x |       1.24x |
|     76 | 4/ 3      |       0.87x |       0.94x |       1.40x |
|     76 | 5/ 7      |       0.87x |       0.95x |       1.32x |
|     76 | 7/ 5      |       0.89x |       0.94x |       1.52x |
|     80 | 0/ 4      |       0.87x |       0.95x |       1.32x |
|     80 | 4/ 0      |       0.87x |       0.95x |       1.41x |
|     80 | 4/ 4      |       0.87x |       0.95x |       1.39x |
|     80 | 2/ 2      |       0.87x |       0.95x |       1.33x |
|     80 | 2/ 6      |       0.87x |       0.95x |       1.32x |
|     80 | 6/ 2      |       0.87x |       0.96x |       1.33x |
|     80 | 1/ 7      |       0.87x |       0.95x |       1.25x |
|     80 | 7/ 1      |       0.89x |       0.96x |       1.53x |
|     80 | 3/ 4      |       0.86x |       0.95x |       1.54x |
|     80 | 4/ 3      |       0.87x |       0.96x |       1.41x |
|     80 | 5/ 7      |       0.87x |       0.94x |       1.32x |
|     80 | 7/ 5      |       0.87x |       0.95x |       1.52x |
|     84 | 0/ 4      |       0.89x |       0.94x |       1.35x |
|     84 | 4/ 0      |       0.89x |       0.95x |       1.40x |
|     84 | 4/ 4      |       0.89x |       0.94x |       1.38x |
|     84 | 2/ 2      |       0.87x |       0.95x |       1.30x |
|     84 | 2/ 6      |       0.87x |       0.96x |       1.29x |
|     84 | 6/ 2      |       0.87x |       0.95x |       1.35x |
|     84 | 1/ 7      |       0.87x |       0.96x |       1.33x |
|     84 | 7/ 1      |       0.85x |       0.95x |       1.52x |
|     84 | 3/ 4      |       0.91x |       0.96x |       1.43x |
|     84 | 4/ 3      |       0.87x |       0.95x |       1.34x |
|     84 | 5/ 7      |       0.86x |       0.95x |       1.31x |
|     84 | 7/ 5      |       0.87x |       0.94x |       1.52x |
|     88 | 0/ 4      |       0.87x |       0.95x |       1.36x |
|     88 | 4/ 0      |       0.87x |       0.94x |       1.40x |
|     88 | 4/ 4      |       0.89x |       0.95x |       1.39x |
|     88 | 2/ 2      |       0.87x |       0.94x |       1.27x |
|     88 | 2/ 6      |       0.87x |       0.95x |       1.28x |
|     88 | 6/ 2      |       0.87x |       0.96x |       1.31x |
|     88 | 1/ 7      |       0.81x |       0.95x |       1.32x |
|     88 | 7/ 1      |       0.89x |       0.96x |       1.53x |
|     88 | 3/ 4      |       0.91x |       0.95x |       1.54x |
|     88 | 4/ 3      |       0.85x |       0.96x |       1.40x |
|     88 | 5/ 7      |       0.87x |       0.95x |       1.30x |
|     88 | 7/ 5      |       0.88x |       0.95x |       1.52x |
|     92 | 0/ 4      |       0.89x |       0.94x |       1.38x |
|     92 | 4/ 0      |       0.84x |       0.97x |       1.45x |
|     92 | 4/ 4      |       0.83x |       0.95x |       1.45x |
|     92 | 2/ 2      |       0.87x |       0.95x |       1.30x |
|     92 | 2/ 6      |       0.87x |       0.95x |       1.32x |
|     92 | 6/ 2      |       0.83x |       0.97x |       1.43x |
|     92 | 1/ 7      |       0.87x |       0.95x |       1.32x |
|     92 | 7/ 1      |       0.84x |       0.96x |       1.50x |
|     92 | 3/ 4      |       0.89x |       0.95x |       1.55x |
|     92 | 4/ 3      |       0.84x |       0.96x |       1.45x |
|     92 | 5/ 7      |       0.83x |       0.97x |       1.42x |
|     92 | 7/ 5      |       0.84x |       0.97x |       1.50x |
|     96 | 0/ 4      |       0.83x |       0.97x |       1.43x |
|     96 | 4/ 0      |       0.84x |       0.97x |       1.44x |
|     96 | 4/ 4      |       0.84x |       0.95x |       1.44x |
|     96 | 2/ 2      |       0.86x |       0.96x |       1.43x |
|     96 | 2/ 6      |       0.84x |       1.02x |       1.41x |
|     96 | 6/ 2      |       0.83x |       0.97x |       1.42x |
|     96 | 1/ 7      |       0.84x |       0.97x |       1.41x |
|     96 | 7/ 1      |       0.84x |       0.97x |       1.50x |
|     96 | 3/ 4      |       0.86x |       0.97x |       1.47x |
|     96 | 4/ 3      |       0.84x |       0.97x |       1.45x |
|     96 | 5/ 7      |       0.84x |       0.97x |       1.41x |
|     96 | 7/ 5      |       0.84x |       0.97x |       1.51x |
|    100 | 0/ 4      |       0.84x |       0.97x |       1.43x |
|    100 | 4/ 0      |       0.84x |       0.97x |       1.45x |
|    100 | 4/ 4      |       0.82x |       0.95x |       1.45x |
|    100 | 2/ 2      |       0.84x |       0.96x |       1.43x |
|    100 | 2/ 6      |       0.84x |       0.97x |       1.42x |
|    100 | 6/ 2      |       0.83x |       0.97x |       1.41x |
|    100 | 1/ 7      |       0.84x |       0.97x |       1.41x |
|    100 | 7/ 1      |       0.84x |       0.96x |       1.45x |
|    100 | 3/ 4      |       0.84x |       0.97x |       1.43x |
|    100 | 4/ 3      |       0.84x |       0.96x |       1.45x |
|    100 | 5/ 7      |       0.84x |       0.97x |       1.42x |
|    100 | 7/ 5      |       0.82x |       0.97x |       1.45x |
|    104 | 0/ 4      |       0.86x |       0.97x |       1.43x |
|    104 | 4/ 0      |       0.84x |       0.97x |       1.46x |
|    104 | 4/ 4      |       0.84x |       0.96x |       1.44x |
|    104 | 2/ 2      |       0.84x |       0.96x |       1.42x |
|    104 | 2/ 6      |       0.84x |       0.97x |       1.43x |
|    104 | 6/ 2      |       0.85x |       0.97x |       1.42x |
|    104 | 1/ 7      |       0.84x |       0.97x |       1.46x |
|    104 | 7/ 1      |       0.84x |       0.96x |       1.45x |
|    104 | 3/ 4      |       0.84x |       0.97x |       1.43x |
|    104 | 4/ 3      |       0.84x |       0.97x |       1.46x |
|    104 | 5/ 7      |       0.84x |       0.97x |       1.42x |
|    104 | 7/ 5      |       0.84x |       0.97x |       1.50x |
|    108 | 0/ 4      |       0.84x |       0.96x |       1.44x |
|    108 | 4/ 0      |       0.84x |       0.98x |       1.36x |
|    108 | 4/ 4      |       0.89x |       0.98x |       1.37x |
|    108 | 2/ 2      |       0.84x |       0.97x |       1.42x |
|    108 | 2/ 6      |       0.84x |       0.97x |       1.42x |
|    108 | 6/ 2      |       0.85x |       0.97x |       1.38x |
|    108 | 1/ 7      |       0.84x |       0.97x |       1.42x |
|    108 | 7/ 1      |       0.86x |       0.98x |       1.51x |
|    108 | 3/ 4      |       0.84x |       0.97x |       1.46x |
|    108 | 4/ 3      |       0.85x |       0.98x |       1.38x |
|    108 | 5/ 7      |       0.86x |       0.98x |       1.34x |
|    108 | 7/ 5      |       0.85x |       0.98x |       1.54x |
|    112 | 0/ 4      |       0.90x |       0.98x |       1.36x |
|    112 | 4/ 0      |       0.85x |       0.97x |       1.36x |
|    112 | 4/ 4      |       0.89x |       0.98x |       1.37x |
|    112 | 2/ 2      |       0.89x |       0.98x |       1.33x |
|    112 | 2/ 6      |       0.87x |       0.97x |       1.34x |
|    112 | 6/ 2      |       0.85x |       0.98x |       1.37x |
|    112 | 1/ 7      |       0.87x |       0.98x |       1.38x |
|    112 | 7/ 1      |       0.85x |       0.98x |       1.51x |
|    112 | 3/ 4      |       0.87x |       0.98x |       1.40x |
|    112 | 4/ 3      |       0.84x |       0.96x |       1.35x |
|    112 | 5/ 7      |       0.88x |       0.99x |       1.36x |
|    112 | 7/ 5      |       0.84x |       0.98x |       1.51x |
|    116 | 0/ 4      |       0.89x |       0.97x |       1.34x |
|    116 | 4/ 0      |       0.85x |       0.98x |       1.35x |
|    116 | 4/ 4      |       0.88x |       0.98x |       1.35x |
|    116 | 2/ 2      |       0.89x |       0.98x |       1.33x |
|    116 | 2/ 6      |       0.89x |       0.98x |       1.31x |
|    116 | 6/ 2      |       0.85x |       0.99x |       1.39x |
|    116 | 1/ 7      |       0.88x |       0.98x |       1.38x |
|    116 | 7/ 1      |       0.85x |       0.98x |       1.54x |
|    116 | 3/ 4      |       0.85x |       0.97x |       1.40x |
|    116 | 4/ 3      |       0.86x |       0.98x |       1.37x |
|    116 | 5/ 7      |       0.88x |       0.98x |       1.34x |
|    116 | 7/ 5      |       0.86x |       0.97x |       1.51x |
|    120 | 0/ 4      |       0.89x |       0.98x |       1.34x |
|    120 | 4/ 0      |       0.85x |       0.98x |       1.36x |
|    120 | 4/ 4      |       0.90x |       0.97x |       1.34x |
|    120 | 2/ 2      |       0.90x |       0.98x |       1.35x |
|    120 | 2/ 6      |       0.87x |       0.98x |       1.35x |
|    120 | 6/ 2      |       0.85x |       0.99x |       1.37x |
|    120 | 1/ 7      |       0.88x |       0.98x |       1.37x |
|    120 | 7/ 1      |       0.85x |       0.98x |       1.56x |
|    120 | 3/ 4      |       0.88x |       0.98x |       1.53x |
|    120 | 4/ 3      |       0.84x |       0.98x |       1.37x |
|    120 | 5/ 7      |       0.88x |       0.97x |       1.35x |
|    120 | 7/ 5      |       0.85x |       0.98x |       1.52x |
|    124 | 0/ 4      |       0.86x |       0.98x |       1.36x |
|    124 | 4/ 0      |       0.85x |       0.98x |       1.44x |
|    124 | 4/ 4      |       0.86x |       0.98x |       1.44x |
|    124 | 2/ 2      |       0.87x |       0.98x |       1.38x |
|    124 | 2/ 6      |       0.87x |       0.97x |       1.36x |
|    124 | 6/ 2      |       0.86x |       0.99x |       1.52x |
|    124 | 1/ 7      |       0.85x |       0.98x |       1.37x |
|    124 | 7/ 1      |       0.84x |       0.98x |       1.52x |
|    124 | 3/ 4      |       0.89x |       0.98x |       1.40x |
|    124 | 4/ 3      |       0.87x |       0.99x |       1.44x |
|    124 | 5/ 7      |       0.85x |       0.99x |       1.30x |
|    124 | 7/ 5      |       0.89x |       0.99x |       1.51x |
|    128 | 0/ 4      |       0.84x |       0.99x |       1.42x |
|    128 | 4/ 0      |       0.89x |       0.98x |       1.44x |
|    128 | 4/ 4      |       0.86x |       0.98x |       1.44x |
|    128 | 2/ 2      |       0.87x |       0.99x |       1.51x |
|    128 | 2/ 6      |       0.85x |       0.98x |       1.40x |
|    128 | 6/ 2      |       0.89x |       0.99x |       1.52x |
|    128 | 1/ 7      |       0.83x |       0.99x |       1.39x |
|    128 | 7/ 1      |       0.89x |       0.99x |       1.51x |
|    128 | 3/ 4      |       0.85x |       0.99x |       1.40x |
|    128 | 4/ 3      |       0.88x |       0.99x |       1.44x |
|    128 | 5/ 7      |       0.85x |       0.99x |       1.39x |
|    128 | 7/ 5      |       0.89x |       0.99x |       1.51x |
|    132 | 0/ 4      |       0.82x |       0.99x |       1.42x |
|    132 | 4/ 0      |       0.89x |       0.99x |       1.44x |
|    132 | 4/ 4      |       0.86x |       0.98x |       1.43x |
|    132 | 2/ 2      |       0.87x |       0.98x |       1.51x |
|    132 | 2/ 6      |       0.88x |       0.99x |       1.37x |
|    132 | 6/ 2      |       0.89x |       0.99x |       1.44x |
|    132 | 1/ 7      |       0.85x |       0.98x |       1.36x |
|    132 | 7/ 1      |       0.88x |       0.99x |       1.51x |
|    132 | 3/ 4      |       0.85x |       0.99x |       1.40x |
|    132 | 4/ 3      |       0.85x |       0.99x |       1.44x |
|    132 | 5/ 7      |       0.85x |       0.99x |       1.39x |
|    132 | 7/ 5      |       0.87x |       0.99x |       1.51x |
|    136 | 0/ 4      |       0.84x |       0.99x |       1.42x |
|    136 | 4/ 0      |       0.89x |       0.99x |       1.42x |
|    136 | 4/ 4      |       0.86x |       0.99x |       1.44x |
|    136 | 2/ 2      |       0.87x |       0.98x |       1.51x |
|    136 | 2/ 6      |       0.85x |       0.98x |       1.39x |
|    136 | 6/ 2      |       0.88x |       0.99x |       1.51x |
|    136 | 1/ 7      |       0.86x |       0.99x |       1.40x |
|    136 | 7/ 1      |       0.88x |       0.99x |       1.62x |
|    136 | 3/ 4      |       0.85x |       0.99x |       1.40x |
|    136 | 4/ 3      |       0.89x |       0.99x |       1.44x |
|    136 | 5/ 7      |       0.85x |       0.99x |       1.40x |
|    136 | 7/ 5      |       0.89x |       0.99x |       1.42x |
|    140 | 0/ 4      |       0.82x |       0.99x |       1.43x |
|    140 | 4/ 0      |       0.86x |       1.05x |       1.38x |
|    140 | 4/ 4      |       0.85x |       1.04x |       1.37x |
|    140 | 2/ 2      |       0.87x |       0.99x |       1.51x |
|    140 | 2/ 6      |       0.83x |       0.99x |       1.40x |
|    140 | 6/ 2      |       0.89x |       1.05x |       1.39x |
|    140 | 1/ 7      |       0.85x |       0.99x |       1.40x |
|    140 | 7/ 1      |       0.86x |       1.05x |       1.42x |
|    140 | 3/ 4      |       0.88x |       0.99x |       1.40x |
|    140 | 4/ 3      |       0.86x |       1.05x |       1.38x |
|    140 | 5/ 7      |       0.88x |       1.04x |       1.33x |
|    140 | 7/ 5      |       0.90x |       1.05x |       1.41x |
|    144 | 0/ 4      |       0.86x |       1.05x |       1.36x |
|    144 | 4/ 0      |       0.86x |       1.05x |       1.37x |
|    144 | 4/ 4      |       0.85x |       1.04x |       1.38x |
|    144 | 2/ 2      |       0.87x |       1.05x |       1.39x |
|    144 | 2/ 6      |       0.86x |       1.05x |       1.37x |
|    144 | 6/ 2      |       0.86x |       1.05x |       1.39x |
|    144 | 1/ 7      |       0.88x |       1.03x |       1.37x |
|    144 | 7/ 1      |       0.89x |       1.05x |       1.42x |
|    144 | 3/ 4      |       0.87x |       1.05x |       1.36x |
|    144 | 4/ 3      |       0.86x |       1.05x |       1.37x |
|    144 | 5/ 7      |       0.88x |       1.05x |       1.37x |
|    144 | 7/ 5      |       0.90x |       1.05x |       1.42x |
|    148 | 0/ 4      |       0.86x |       1.04x |       1.36x |
|    148 | 4/ 0      |       0.87x |       1.05x |       1.38x |
|    148 | 4/ 4      |       0.86x |       1.06x |       1.38x |
|    148 | 2/ 2      |       0.87x |       1.04x |       1.39x |
|    148 | 2/ 6      |       0.86x |       1.04x |       1.36x |
|    148 | 6/ 2      |       0.87x |       1.05x |       1.39x |
|    148 | 1/ 7      |       0.86x |       1.05x |       1.37x |
|    148 | 7/ 1      |       0.90x |       1.05x |       1.41x |
|    148 | 3/ 4      |       0.87x |       1.04x |       1.38x |
|    148 | 4/ 3      |       0.86x |       1.04x |       1.38x |
|    148 | 5/ 7      |       0.86x |       1.05x |       1.37x |
|    148 | 7/ 5      |       0.90x |       1.05x |       1.41x |
|    152 | 0/ 4      |       0.85x |       1.05x |       1.35x |
|    152 | 4/ 0      |       0.86x |       1.04x |       1.36x |
|    152 | 4/ 4      |       0.86x |       1.05x |       1.37x |
|    152 | 2/ 2      |       0.87x |       1.05x |       1.38x |
|    152 | 2/ 6      |       0.86x |       1.05x |       1.38x |
|    152 | 6/ 2      |       0.86x |       1.04x |       1.39x |
|    152 | 1/ 7      |       0.88x |       1.05x |       1.31x |
|    152 | 7/ 1      |       0.90x |       1.05x |       1.42x |
|    152 | 3/ 4      |       0.87x |       1.05x |       1.36x |
|    152 | 4/ 3      |       0.85x |       1.05x |       1.38x |
|    152 | 5/ 7      |       0.88x |       1.05x |       1.34x |
|    152 | 7/ 5      |       0.90x |       1.05x |       1.41x |
|    156 | 0/ 4      |       0.85x |       1.05x |       1.36x |
|    156 | 4/ 0      |       0.87x |       1.00x |       1.38x |
|    156 | 4/ 4      |       0.86x |       1.00x |       1.34x |
|    156 | 2/ 2      |       0.87x |       1.04x |       1.38x |
|    156 | 2/ 6      |       0.86x |       1.05x |       1.36x |
|    156 | 6/ 2      |       0.87x |       1.01x |       1.29x |
|    156 | 1/ 7      |       0.87x |       1.05x |       1.37x |
|    156 | 7/ 1      |       0.86x |       1.00x |       1.49x |
|    156 | 3/ 4      |       0.85x |       1.04x |       1.39x |
|    156 | 4/ 3      |       0.87x |       1.01x |       1.38x |
|    156 | 5/ 7      |       0.89x |       1.00x |       1.35x |
|    156 | 7/ 5      |       0.88x |       1.00x |       1.48x |
|    160 | 0/ 4      |       0.85x |       1.00x |       1.30x |
|    160 | 4/ 0      |       0.88x |       1.00x |       1.38x |
|    160 | 4/ 4      |       0.85x |       1.00x |       1.34x |
|    160 | 2/ 2      |       0.84x |       1.00x |       1.35x |
|    160 | 2/ 6      |       0.87x |       1.00x |       1.34x |
|    160 | 6/ 2      |       0.87x |       1.01x |       1.35x |
|    160 | 1/ 7      |       0.89x |       1.00x |       1.36x |
|    160 | 7/ 1      |       0.88x |       1.00x |       1.49x |
|    160 | 3/ 4      |       0.87x |       1.00x |       1.44x |
|    160 | 4/ 3      |       0.89x |       1.00x |       1.37x |
|    160 | 5/ 7      |       0.89x |       1.00x |       1.34x |
|    160 | 7/ 5      |       0.88x |       1.00x |       1.49x |
|    164 | 0/ 4      |       0.87x |       1.00x |       1.37x |
|    164 | 4/ 0      |       0.89x |       1.01x |       1.37x |
|    164 | 4/ 4      |       0.85x |       1.00x |       1.37x |
|    164 | 2/ 2      |       0.85x |       1.00x |       1.35x |
|    164 | 2/ 6      |       0.87x |       1.01x |       1.35x |
|    164 | 6/ 2      |       0.87x |       1.01x |       1.36x |
|    164 | 1/ 7      |       0.89x |       1.00x |       1.34x |
|    164 | 7/ 1      |       0.88x |       1.00x |       1.49x |
|    164 | 3/ 4      |       0.87x |       1.00x |       1.44x |
|    164 | 4/ 3      |       0.87x |       1.00x |       1.37x |
|    164 | 5/ 7      |       0.89x |       1.00x |       1.36x |
|    164 | 7/ 5      |       0.88x |       1.00x |       1.49x |
|    168 | 0/ 4      |       0.87x |       1.01x |       1.38x |
|    168 | 4/ 0      |       0.89x |       1.01x |       1.37x |
|    168 | 4/ 4      |       0.85x |       1.00x |       1.41x |
|    168 | 2/ 2      |       0.86x |       1.00x |       1.35x |
|    168 | 2/ 6      |       0.86x |       1.01x |       1.34x |
|    168 | 6/ 2      |       0.87x |       1.00x |       1.35x |
|    168 | 1/ 7      |       0.88x |       1.00x |       1.34x |
|    168 | 7/ 1      |       0.88x |       1.00x |       1.49x |
|    168 | 3/ 4      |       0.87x |       1.01x |       1.44x |
|    168 | 4/ 3      |       0.89x |       1.00x |       1.38x |
|    168 | 5/ 7      |       0.88x |       1.00x |       1.34x |
|    168 | 7/ 5      |       0.87x |       1.00x |       1.49x |
|    172 | 0/ 4      |       0.87x |       1.01x |       1.38x |
|    172 | 4/ 0      |       0.86x |       1.01x |       1.43x |
|    172 | 4/ 4      |       0.88x |       1.01x |       1.41x |
|    172 | 2/ 2      |       0.86x |       1.00x |       1.36x |
|    172 | 2/ 6      |       0.87x |       1.00x |       1.34x |
|    172 | 6/ 2      |       0.85x |       1.00x |       1.27x |
|    172 | 1/ 7      |       0.85x |       1.00x |       1.34x |
|    172 | 7/ 1      |       0.89x |       1.01x |       1.39x |
|    172 | 3/ 4      |       0.87x |       1.01x |       1.47x |
|    172 | 4/ 3      |       0.86x |       1.01x |       1.41x |
|    172 | 5/ 7      |       0.89x |       1.01x |       1.27x |
|    172 | 7/ 5      |       0.90x |       1.00x |       1.42x |
|    176 | 0/ 4      |       0.89x |       1.00x |       1.39x |
|    176 | 4/ 0      |       0.86x |       1.01x |       1.39x |
|    176 | 4/ 4      |       0.88x |       1.01x |       1.39x |
|    176 | 2/ 2      |       0.88x |       1.01x |       1.26x |
|    176 | 2/ 6      |       0.86x |       1.01x |       1.28x |
|    176 | 6/ 2      |       0.85x |       1.01x |       1.27x |
|    176 | 1/ 7      |       0.86x |       1.01x |       1.27x |
|    176 | 7/ 1      |       0.90x |       1.01x |       1.42x |
|    176 | 3/ 4      |       0.85x |       1.00x |       1.35x |
|    176 | 4/ 3      |       0.86x |       1.00x |       1.40x |
|    176 | 5/ 7      |       0.86x |       1.00x |       1.27x |
|    176 | 7/ 5      |       0.89x |       1.01x |       1.42x |
|    180 | 0/ 4      |       0.89x |       1.01x |       1.39x |
|    180 | 4/ 0      |       0.86x |       1.01x |       1.40x |
|    180 | 4/ 4      |       0.87x |       1.01x |       1.38x |
|    180 | 2/ 2      |       0.88x |       1.01x |       1.29x |
|    180 | 2/ 6      |       0.86x |       1.01x |       1.28x |
|    180 | 6/ 2      |       0.86x |       1.00x |       1.27x |
|    180 | 1/ 7      |       0.86x |       1.00x |       1.27x |
|    180 | 7/ 1      |       0.90x |       1.00x |       1.42x |
|    180 | 3/ 4      |       0.85x |       1.01x |       1.35x |
|    180 | 4/ 3      |       0.85x |       1.01x |       1.41x |
|    180 | 5/ 7      |       0.87x |       1.01x |       1.29x |
|    180 | 7/ 5      |       0.90x |       1.01x |       1.42x |
|    184 | 0/ 4      |       0.89x |       1.01x |       1.41x |
|    184 | 4/ 0      |       0.86x |       1.00x |       1.39x |
|    184 | 4/ 4      |       0.88x |       1.01x |       1.43x |
|    184 | 2/ 2      |       0.89x |       1.00x |       1.29x |
|    184 | 2/ 6      |       0.87x |       1.01x |       1.28x |
|    184 | 6/ 2      |       0.85x |       1.01x |       1.27x |
|    184 | 1/ 7      |       0.86x |       1.01x |       1.27x |
|    184 | 7/ 1      |       0.89x |       1.01x |       1.44x |
|    184 | 3/ 4      |       0.85x |       1.01x |       1.35x |
|    184 | 4/ 3      |       0.86x |       1.01x |       1.40x |
|    184 | 5/ 7      |       0.86x |       1.00x |       1.26x |
|    184 | 7/ 5      |       0.90x |       1.01x |       1.39x |
|    188 | 0/ 4      |       0.86x |       1.01x |       1.42x |
|    188 | 4/ 0      |       0.87x |       1.00x |       1.40x |
|    188 | 4/ 4      |       0.86x |       1.01x |       1.39x |
|    188 | 2/ 2      |       0.89x |       1.01x |       1.29x |
|    188 | 2/ 6      |       0.90x |       1.01x |       1.28x |
|    188 | 6/ 2      |       0.84x |       1.02x |       1.30x |
|    188 | 1/ 7      |       0.87x |       1.01x |       1.28x |
|    188 | 7/ 1      |       0.85x |       1.01x |       1.28x |
|    188 | 3/ 4      |       0.86x |       1.00x |       1.35x |
|    188 | 4/ 3      |       0.87x |       1.01x |       1.32x |
|    188 | 5/ 7      |       0.87x |       1.01x |       1.42x |
|    188 | 7/ 5      |       0.89x |       1.01x |       1.26x |
|    192 | 0/ 4      |       0.86x |       1.00x |       1.30x |
|    192 | 4/ 0      |       0.88x |       1.00x |       1.32x |
|    192 | 4/ 4      |       0.86x |       1.01x |       1.32x |
|    192 | 2/ 2      |       0.88x |       1.02x |       1.43x |
|    192 | 2/ 6      |       0.89x |       1.02x |       1.25x |
|    192 | 6/ 2      |       0.88x |       1.02x |       1.42x |
|    192 | 1/ 7      |       0.85x |       1.01x |       1.42x |
|    192 | 7/ 1      |       0.89x |       1.01x |       1.42x |
|    192 | 3/ 4      |       0.86x |       1.01x |       1.41x |
|    192 | 4/ 3      |       0.87x |       1.02x |       1.31x |
|    192 | 5/ 7      |       0.87x |       1.02x |       1.42x |
|    192 | 7/ 5      |       0.88x |       1.01x |       1.45x |
|    196 | 0/ 4      |       0.86x |       1.00x |       1.26x |
|    196 | 4/ 0      |       0.88x |       1.00x |       1.31x |
|    196 | 4/ 4      |       0.87x |       1.00x |       1.32x |
|    196 | 2/ 2      |       0.86x |       1.01x |       1.43x |
|    196 | 2/ 6      |       0.87x |       1.02x |       1.26x |
|    196 | 6/ 2      |       0.88x |       1.01x |       1.43x |
|    196 | 1/ 7      |       0.86x |       1.01x |       1.25x |
|    196 | 7/ 1      |       0.87x |       1.01x |       1.26x |
|    196 | 3/ 4      |       0.86x |       1.01x |       1.25x |
|    196 | 4/ 3      |       0.91x |       1.02x |       1.32x |
|    196 | 5/ 7      |       0.85x |       1.02x |       1.25x |
|    196 | 7/ 5      |       0.88x |       1.01x |       1.26x |
|    200 | 0/ 4      |       0.86x |       1.01x |       1.30x |
|    200 | 4/ 0      |       0.90x |       1.01x |       1.31x |
|    200 | 4/ 4      |       0.86x |       1.01x |       1.32x |
|    200 | 2/ 2      |       0.86x |       1.01x |       1.27x |
|    200 | 2/ 6      |       0.88x |       1.01x |       1.25x |
|    200 | 6/ 2      |       0.88x |       1.00x |       1.28x |
|    200 | 1/ 7      |       0.86x |       1.00x |       1.27x |
|    200 | 7/ 1      |       0.90x |       1.01x |       1.37x |
|    200 | 3/ 4      |       0.88x |       1.02x |       1.25x |
|    200 | 4/ 3      |       0.90x |       1.02x |       1.31x |
|    200 | 5/ 7      |       0.87x |       1.02x |       1.25x |
|    200 | 7/ 5      |       0.89x |       1.01x |       1.38x |
|    204 | 0/ 4      |       0.89x |       1.01x |       1.31x |
|    204 | 4/ 0      |       0.86x |       1.01x |       1.33x |
|    204 | 4/ 4      |       0.85x |       1.02x |       1.35x |
|    204 | 2/ 2      |       0.89x |       1.02x |       1.26x |
|    204 | 2/ 6      |       0.87x |       1.02x |       1.25x |
|    204 | 6/ 2      |       0.85x |       1.02x |       1.33x |
|    204 | 1/ 7      |       0.87x |       1.01x |       1.44x |
|    204 | 7/ 1      |       0.85x |       1.01x |       1.48x |
|    204 | 3/ 4      |       0.87x |       1.01x |       1.35x |
|    204 | 4/ 3      |       0.87x |       1.01x |       1.37x |
|    204 | 5/ 7      |       0.88x |       1.01x |       1.31x |
|    204 | 7/ 5      |       0.86x |       1.01x |       1.47x |
|    208 | 0/ 4      |       0.86x |       1.03x |       1.37x |
|    208 | 4/ 0      |       0.88x |       1.02x |       1.38x |
|    208 | 4/ 4      |       0.85x |       1.02x |       1.35x |
|    208 | 2/ 2      |       0.86x |       1.01x |       1.34x |
|    208 | 2/ 6      |       0.87x |       1.01x |       1.33x |
|    208 | 6/ 2      |       0.87x |       1.01x |       1.32x |
|    208 | 1/ 7      |       0.88x |       1.01x |       1.36x |
|    208 | 7/ 1      |       0.87x |       1.01x |       1.48x |
|    208 | 3/ 4      |       0.86x |       1.01x |       1.40x |
|    208 | 4/ 3      |       0.87x |       1.02x |       1.38x |
|    208 | 5/ 7      |       0.88x |       1.02x |       1.38x |
|    208 | 7/ 5      |       0.88x |       1.02x |       1.48x |
|    212 | 0/ 4      |       0.86x |       1.02x |       1.37x |
|    212 | 4/ 0      |       0.86x |       1.02x |       1.37x |
|    212 | 4/ 4      |       0.86x |       1.02x |       1.35x |
|    212 | 2/ 2      |       0.86x |       1.02x |       1.34x |
|    212 | 2/ 6      |       0.87x |       1.01x |       1.33x |
|    212 | 6/ 2      |       0.88x |       1.01x |       1.29x |
|    212 | 1/ 7      |       0.88x |       1.01x |       1.35x |
|    212 | 7/ 1      |       0.87x |       1.01x |       1.47x |
|    212 | 3/ 4      |       0.87x |       1.02x |       1.40x |
|    212 | 4/ 3      |       0.88x |       1.02x |       1.38x |
|    212 | 5/ 7      |       0.90x |       1.02x |       1.35x |
|    212 | 7/ 5      |       0.87x |       1.02x |       1.48x |
|    216 | 0/ 4      |       0.86x |       1.02x |       1.37x |
|    216 | 4/ 0      |       0.87x |       1.01x |       1.38x |
|    216 | 4/ 4      |       0.86x |       1.02x |       1.35x |
|    216 | 2/ 2      |       0.86x |       1.02x |       1.32x |
|    216 | 2/ 6      |       0.90x |       1.01x |       1.36x |
|    216 | 6/ 2      |       0.88x |       1.01x |       1.30x |
|    216 | 1/ 7      |       0.87x |       1.02x |       1.34x |
|    216 | 7/ 1      |       0.88x |       1.02x |       1.48x |
|    216 | 3/ 4      |       0.87x |       1.02x |       1.40x |
|    216 | 4/ 3      |       0.86x |       1.02x |       1.35x |
|    216 | 5/ 7      |       0.87x |       1.02x |       1.34x |
|    216 | 7/ 5      |       0.87x |       1.01x |       1.48x |
|    220 | 0/ 4      |       0.86x |       1.01x |       1.31x |
|    220 | 4/ 0      |       0.85x |       1.02x |       1.42x |
|    220 | 4/ 4      |       0.86x |       1.02x |       1.40x |
|    220 | 2/ 2      |       0.86x |       1.02x |       1.32x |
|    220 | 2/ 6      |       0.90x |       1.01x |       1.34x |
|    220 | 6/ 2      |       0.86x |       1.02x |       1.39x |
|    220 | 1/ 7      |       0.88x |       1.02x |       1.34x |
|    220 | 7/ 1      |       0.86x |       1.02x |       1.40x |
|    220 | 3/ 4      |       0.88x |       1.01x |       1.42x |
|    220 | 4/ 3      |       0.86x |       1.02x |       1.41x |
|    220 | 5/ 7      |       0.90x |       1.02x |       1.38x |
|    220 | 7/ 5      |       0.88x |       1.02x |       1.40x |
|    224 | 0/ 4      |       0.86x |       1.01x |       1.32x |
|    224 | 4/ 0      |       0.85x |       1.01x |       1.34x |
|    224 | 4/ 4      |       0.86x |       1.01x |       1.32x |
|    224 | 2/ 2      |       0.86x |       1.01x |       1.30x |
|    224 | 2/ 6      |       0.88x |       1.01x |       1.35x |
|    224 | 6/ 2      |       0.85x |       1.02x |       1.30x |
|    224 | 1/ 7      |       0.89x |       1.02x |       1.36x |
|    224 | 7/ 1      |       0.88x |       1.02x |       1.40x |
|    224 | 3/ 4      |       0.87x |       1.02x |       1.43x |
|    224 | 4/ 3      |       0.84x |       1.02x |       1.42x |
|    224 | 5/ 7      |       0.90x |       1.02x |       1.37x |
|    224 | 7/ 5      |       0.88x |       1.02x |       1.42x |
|    228 | 0/ 4      |       0.88x |       1.02x |       1.33x |
|    228 | 4/ 0      |       0.85x |       1.02x |       1.46x |
|    228 | 4/ 4      |       0.86x |       1.02x |       1.34x |
|    228 | 2/ 2      |       0.87x |       1.01x |       1.30x |
|    228 | 2/ 6      |       0.88x |       1.01x |       1.36x |
|    228 | 6/ 2      |       0.85x |       1.01x |       1.30x |
|    228 | 1/ 7      |       0.90x |       1.01x |       1.32x |
|    228 | 7/ 1      |       0.87x |       1.01x |       1.35x |
|    228 | 3/ 4      |       0.86x |       1.01x |       1.40x |
|    228 | 4/ 3      |       0.85x |       1.01x |       1.33x |
|    228 | 5/ 7      |       0.90x |       1.02x |       1.38x |
|    228 | 7/ 5      |       0.88x |       1.02x |       1.40x |
|    232 | 0/ 4      |       0.86x |       1.02x |       1.42x |
|    232 | 4/ 0      |       0.85x |       1.02x |       1.37x |
|    232 | 4/ 4      |       0.86x |       1.03x |       1.36x |
|    232 | 2/ 2      |       0.86x |       1.03x |       1.37x |
|    232 | 2/ 6      |       0.90x |       1.02x |       1.32x |
|    232 | 6/ 2      |       0.85x |       1.02x |       1.31x |
|    232 | 1/ 7      |       0.90x |       1.02x |       1.32x |
|    232 | 7/ 1      |       0.88x |       1.02x |       1.42x |
|    232 | 3/ 4      |       0.87x |       1.01x |       1.42x |
|    232 | 4/ 3      |       0.86x |       1.01x |       1.32x |
|    232 | 5/ 7      |       0.90x |       1.01x |       1.38x |
|    232 | 7/ 5      |       0.87x |       1.01x |       1.40x |
|    236 | 0/ 4      |       0.86x |       1.01x |       1.32x |
|    236 | 4/ 0      |       0.87x |       1.02x |       1.37x |
|    236 | 4/ 4      |       0.86x |       1.02x |       1.37x |
|    236 | 2/ 2      |       0.86x |       1.02x |       1.37x |
|    236 | 2/ 6      |       0.88x |       1.02x |       1.38x |
|    236 | 6/ 2      |       0.86x |       1.02x |       1.37x |
|    236 | 1/ 7      |       0.87x |       1.02x |       1.37x |
|    236 | 7/ 1      |       0.86x |       1.03x |       1.42x |
|    236 | 3/ 4      |       0.87x |       1.02x |       1.43x |
|    236 | 4/ 3      |       0.86x |       1.03x |       1.35x |
|    236 | 5/ 7      |       0.89x |       1.02x |       1.32x |
|    236 | 7/ 5      |       0.90x |       1.02x |       1.40x |
|    240 | 0/ 4      |       0.87x |       1.02x |       1.43x |
|    240 | 4/ 0      |       0.86x |       1.02x |       1.38x |
|    240 | 4/ 4      |       0.85x |       1.03x |       1.37x |
|    240 | 2/ 2      |       0.86x |       1.03x |       1.37x |
|    240 | 2/ 6      |       0.87x |       1.03x |       1.37x |
|    240 | 6/ 2      |       0.85x |       1.03x |       1.35x |
|    240 | 1/ 7      |       0.89x |       1.03x |       1.36x |
|    240 | 7/ 1      |       0.90x |       1.03x |       1.40x |
|    240 | 3/ 4      |       0.89x |       1.02x |       1.43x |
|    240 | 4/ 3      |       0.87x |       1.02x |       1.37x |
|    240 | 5/ 7      |       0.89x |       1.02x |       1.36x |
|    240 | 7/ 5      |       0.90x |       1.02x |       1.40x |
|    244 | 0/ 4      |       0.87x |       1.03x |       1.39x |
|    244 | 4/ 0      |       0.86x |       1.03x |       1.37x |
|    244 | 4/ 4      |       0.89x |       1.03x |       1.37x |
|    244 | 2/ 2      |       0.86x |       1.03x |       1.37x |
|    244 | 2/ 6      |       0.87x |       1.03x |       1.38x |
|    244 | 6/ 2      |       0.87x |       1.03x |       1.35x |
|    244 | 1/ 7      |       0.89x |       1.02x |       1.36x |
|    244 | 7/ 1      |       0.90x |       1.02x |       1.40x |
|    244 | 3/ 4      |       0.88x |       1.02x |       1.43x |
|    244 | 4/ 3      |       0.86x |       1.02x |       1.37x |
|    244 | 5/ 7      |       0.89x |       1.02x |       1.36x |
|    244 | 7/ 5      |       0.90x |       1.02x |       1.40x |
|    248 | 0/ 4      |       0.87x |       1.02x |       1.44x |
|    248 | 4/ 0      |       0.86x |       1.02x |       1.37x |
|    248 | 4/ 4      |       0.88x |       1.02x |       1.37x |
|    248 | 2/ 2      |       0.88x |       1.02x |       1.38x |
|    248 | 2/ 6      |       0.87x |       1.02x |       1.37x |
|    248 | 6/ 2      |       0.85x |       1.02x |       1.37x |
|    248 | 1/ 7      |       0.89x |       1.02x |       1.37x |
|    248 | 7/ 1      |       0.90x |       1.02x |       1.41x |
|    248 | 3/ 4      |       0.87x |       1.02x |       1.43x |
|    248 | 4/ 3      |       0.87x |       1.02x |       1.37x |
|    248 | 5/ 7      |       0.89x |       1.02x |       1.37x |
|    248 | 7/ 5      |       0.90x |       1.02x |       1.40x |
|    252 | 0/ 4      |       0.89x |       1.02x |       1.40x |
|    252 | 4/ 0      |       0.87x |       1.02x |       1.42x |
|    252 | 4/ 4      |       0.88x |       1.02x |       1.42x |
|    252 | 2/ 2      |       0.88x |       1.02x |       1.37x |
|    252 | 2/ 6      |       0.86x |       1.02x |       1.36x |
|    252 | 6/ 2      |       0.87x |       1.02x |       1.36x |
|    252 | 1/ 7      |       0.89x |       1.02x |       1.35x |
|    252 | 7/ 1      |       0.86x |       1.03x |       1.37x |
|    252 | 3/ 4      |       0.87x |       1.02x |       1.41x |
|    252 | 4/ 3      |       0.85x |       1.02x |       1.42x |
|    252 | 5/ 7      |       0.86x |       1.02x |       1.43x |
|    252 | 7/ 5      |       0.88x |       1.02x |       1.31x |
|    256 | 0/ 4      |       0.86x |       1.02x |       1.37x |
|    256 | 4/ 0      |       0.88x |       1.03x |       1.31x |
|    256 | 4/ 4      |       0.87x |       1.03x |       1.31x |
|    256 | 2/ 2      |       0.88x |       1.03x |       1.31x |
|    256 | 2/ 6      |       0.86x |       1.03x |       1.29x |
|    256 | 6/ 2      |       0.88x |       1.02x |       1.31x |
|    256 | 1/ 7      |       0.87x |       1.02x |       1.28x |
|    256 | 7/ 1      |       0.87x |       1.02x |       1.31x |
|    256 | 3/ 4      |       0.86x |       1.03x |       1.29x |
|    256 | 4/ 3      |       0.87x |       1.03x |       1.31x |
|    256 | 5/ 7      |       0.87x |       1.03x |       1.29x |
|    256 | 7/ 5      |       0.88x |       1.02x |       1.31x |
|    260 | 0/ 4      |       0.85x |       1.02x |       1.37x |
|    260 | 4/ 0      |       0.88x |       1.02x |       1.31x |
|    260 | 4/ 4      |       0.88x |       1.02x |       1.31x |
|    260 | 2/ 2      |       0.88x |       1.03x |       1.31x |
|    260 | 2/ 6      |       0.87x |       1.03x |       1.28x |
|    260 | 6/ 2      |       0.88x |       1.03x |       1.31x |
|    260 | 1/ 7      |       0.86x |       1.03x |       1.29x |
|    260 | 7/ 1      |       0.88x |       1.03x |       1.31x |
|    260 | 3/ 4      |       0.85x |       1.03x |       1.37x |
|    260 | 4/ 3      |       0.87x |       1.03x |       1.30x |
|    260 | 5/ 7      |       0.86x |       1.03x |       1.28x |
|    260 | 7/ 5      |       0.88x |       1.03x |       1.31x |
|    264 | 0/ 4      |       0.86x |       1.03x |       1.37x |
|    264 | 4/ 0      |       0.87x |       1.03x |       1.43x |
|    264 | 4/ 4      |       0.88x |       1.03x |       1.31x |
|    264 | 2/ 2      |       0.89x |       1.03x |       1.44x |
|    264 | 2/ 6      |       0.86x |       1.03x |       1.29x |
|    264 | 6/ 2      |       0.89x |       1.03x |       1.29x |
|    264 | 1/ 7      |       0.86x |       1.03x |       1.29x |
|    264 | 7/ 1      |       0.88x |       1.03x |       1.36x |
|    264 | 3/ 4      |       0.87x |       1.03x |       1.29x |
|    264 | 4/ 3      |       0.88x |       1.03x |       1.32x |
|    264 | 5/ 7      |       0.87x |       1.03x |       1.29x |
|    264 | 7/ 5      |       0.89x |       1.03x |       1.36x |
|    268 | 0/ 4      |       0.87x |       1.03x |       1.37x |
|    268 | 4/ 0      |       0.88x |       1.03x |       1.38x |
|    268 | 4/ 4      |       0.89x |       1.03x |       1.39x |
|    268 | 2/ 2      |       0.89x |       1.03x |       1.44x |
|    268 | 2/ 6      |       0.87x |       1.02x |       1.44x |
|    268 | 6/ 2      |       0.88x |       1.03x |       1.32x |
|    268 | 1/ 7      |       0.86x |       1.03x |       1.44x |
|    268 | 7/ 1      |       0.87x |       1.03x |       1.39x |
|    268 | 3/ 4      |       0.88x |       1.02x |       1.48x |
|    268 | 4/ 3      |       0.86x |       1.02x |       1.38x |
|    268 | 5/ 7      |       0.89x |       1.03x |       1.34x |
|    268 | 7/ 5      |       0.88x |       1.03x |       1.39x |
|    272 | 0/ 4      |       0.87x |       1.03x |       1.36x |
|    272 | 4/ 0      |       0.88x |       1.03x |       1.39x |
|    272 | 4/ 4      |       0.88x |       1.03x |       1.39x |
|    272 | 2/ 2      |       0.86x |       1.04x |       1.31x |
|    272 | 2/ 6      |       0.89x |       1.03x |       1.36x |
|    272 | 6/ 2      |       0.89x |       1.02x |       1.32x |
|    272 | 1/ 7      |       0.88x |       1.02x |       1.36x |
|    272 | 7/ 1      |       0.88x |       1.03x |       1.43x |
|    272 | 3/ 4      |       0.87x |       1.03x |       1.43x |
|    272 | 4/ 3      |       0.86x |       1.02x |       1.38x |
|    272 | 5/ 7      |       0.89x |       1.03x |       1.36x |
|    272 | 7/ 5      |       0.88x |       1.02x |       1.42x |
|    276 | 0/ 4      |       0.88x |       1.03x |       1.39x |
|    276 | 4/ 0      |       0.87x |       1.03x |       1.39x |
|    276 | 4/ 4      |       0.88x |       1.03x |       1.39x |
|    276 | 2/ 2      |       0.88x |       1.03x |       1.32x |
|    276 | 2/ 6      |       0.89x |       1.03x |       1.36x |
|    276 | 6/ 2      |       0.89x |       1.03x |       1.32x |
|    276 | 1/ 7      |       0.88x |       1.02x |       1.36x |
|    276 | 7/ 1      |       0.88x |       1.02x |       1.42x |
|    276 | 3/ 4      |       0.87x |       1.02x |       1.43x |
|    276 | 4/ 3      |       0.86x |       1.03x |       1.39x |
|    276 | 5/ 7      |       0.88x |       1.03x |       1.34x |
|    276 | 7/ 5      |       0.88x |       1.03x |       1.42x |
|    280 | 0/ 4      |       0.87x |       1.03x |       1.39x |
|    280 | 4/ 0      |       0.87x |       1.03x |       1.39x |
|    280 | 4/ 4      |       0.90x |       1.03x |       1.38x |
|    280 | 2/ 2      |       0.88x |       1.03x |       1.33x |
|    280 | 2/ 6      |       0.89x |       1.02x |       1.34x |
|    280 | 6/ 2      |       0.89x |       1.02x |       1.32x |
|    280 | 1/ 7      |       0.88x |       1.03x |       1.36x |
|    280 | 7/ 1      |       0.89x |       1.03x |       1.39x |
|    280 | 3/ 4      |       0.87x |       1.03x |       1.44x |
|    280 | 4/ 3      |       0.87x |       1.03x |       1.39x |
|    280 | 5/ 7      |       0.89x |       1.03x |       1.36x |
|    280 | 7/ 5      |       0.87x |       1.04x |       1.38x |
|    284 | 0/ 4      |       0.87x |       1.03x |       1.39x |
|    284 | 4/ 0      |       0.87x |       1.02x |       1.33x |
|    284 | 4/ 4      |       0.88x |       1.03x |       1.34x |
|    284 | 2/ 2      |       0.88x |       1.03x |       1.33x |
|    284 | 2/ 6      |       0.89x |       1.02x |       1.36x |
|    284 | 6/ 2      |       0.88x |       1.03x |       1.30x |
|    284 | 1/ 7      |       0.89x |       1.03x |       1.36x |
|    284 | 7/ 1      |       0.87x |       1.04x |       1.34x |
|    284 | 3/ 4      |       0.89x |       1.03x |       1.42x |
|    284 | 4/ 3      |       0.88x |       1.03x |       1.31x |
|    284 | 5/ 7      |       0.88x |       1.03x |       1.34x |
|    284 | 7/ 5      |       0.89x |       1.03x |       1.41x |
|    288 | 0/ 4      |       0.87x |       1.03x |       1.38x |
|    288 | 4/ 0      |       0.86x |       1.03x |       1.31x |
|    288 | 4/ 4      |       0.89x |       1.04x |       1.32x |
|    288 | 2/ 2      |       0.88x |       1.04x |       1.30x |
|    288 | 2/ 6      |       0.89x |       1.03x |       1.34x |
|    288 | 6/ 2      |       0.88x |       1.03x |       1.30x |
|    288 | 1/ 7      |       0.88x |       1.04x |       1.34x |
|    288 | 7/ 1      |       0.89x |       1.03x |       1.37x |
|    288 | 3/ 4      |       0.86x |       1.03x |       1.37x |
|    288 | 4/ 3      |       0.88x |       1.03x |       1.31x |
|    288 | 5/ 7      |       0.89x |       1.04x |       1.34x |
|    288 | 7/ 5      |       0.88x |       1.03x |       1.37x |
|    292 | 0/ 4      |       0.87x |       1.03x |       1.36x |
|    292 | 4/ 0      |       0.87x |       1.04x |       1.31x |
|    292 | 4/ 4      |       0.88x |       1.03x |       1.32x |
|    292 | 2/ 2      |       0.88x |       1.03x |       1.30x |
|    292 | 2/ 6      |       0.89x |       1.03x |       1.33x |
|    292 | 6/ 2      |       0.89x |       1.03x |       1.30x |
|    292 | 1/ 7      |       0.89x |       1.04x |       1.36x |
|    292 | 7/ 1      |       0.88x |       1.03x |       1.37x |
|    292 | 3/ 4      |       0.87x |       1.03x |       1.36x |
|    292 | 4/ 3      |       0.88x |       1.04x |       1.31x |
|    292 | 5/ 7      |       0.87x |       1.03x |       1.40x |
|    292 | 7/ 5      |       0.89x |       1.03x |       1.45x |
|    296 | 0/ 4      |       0.87x |       1.03x |       1.34x |
|    296 | 4/ 0      |       0.87x |       1.04x |       1.33x |
|    296 | 4/ 4      |       0.88x |       1.03x |       1.32x |
|    296 | 2/ 2      |       0.88x |       1.03x |       1.40x |
|    296 | 2/ 6      |       0.89x |       1.04x |       1.38x |
|    296 | 6/ 2      |       0.87x |       1.04x |       1.41x |
|    296 | 1/ 7      |       0.88x |       1.03x |       1.38x |
|    296 | 7/ 1      |       0.88x |       1.03x |       1.37x |
|    296 | 3/ 4      |       0.87x |       1.03x |       1.37x |
|    296 | 4/ 3      |       0.88x |       1.03x |       1.31x |
|    296 | 5/ 7      |       0.88x |       1.03x |       1.34x |
|    296 | 7/ 5      |       0.89x |       1.04x |       1.37x |
|    300 | 0/ 4      |       0.87x |       1.03x |       1.37x |
|    300 | 4/ 0      |       0.88x |       1.03x |       1.34x |
|    300 | 4/ 4      |       0.88x |       1.03x |       1.34x |
|    300 | 2/ 2      |       0.89x |       1.03x |       1.38x |
|    300 | 2/ 6      |       0.89x |       1.03x |       1.34x |
|    300 | 6/ 2      |       0.87x |       1.03x |       1.39x |
|    300 | 1/ 7      |       0.88x |       1.04x |       1.38x |
|    300 | 7/ 1      |       0.86x |       1.04x |       1.39x |
|    300 | 3/ 4      |       0.88x |       1.03x |       1.43x |
|    300 | 4/ 3      |       0.88x |       1.03x |       1.36x |
|    300 | 5/ 7      |       0.89x |       1.03x |       1.41x |
|    300 | 7/ 5      |       0.88x |       1.03x |       1.36x |
|    304 | 0/ 4      |       0.90x |       1.03x |       1.37x |
|    304 | 4/ 0      |       0.87x |       1.04x |       1.36x |
|    304 | 4/ 4      |       0.89x |       1.03x |       1.36x |
|    304 | 2/ 2      |       0.88x |       1.03x |       1.38x |
|    304 | 2/ 6      |       0.89x |       1.03x |       1.41x |
|    304 | 6/ 2      |       0.87x |       1.04x |       1.38x |
|    304 | 1/ 7      |       0.89x |       1.03x |       1.41x |
|    304 | 7/ 1      |       0.89x |       1.04x |       1.36x |
|    304 | 3/ 4      |       0.88x |       1.03x |       1.27x |
|    304 | 4/ 3      |       0.89x |       1.03x |       1.32x |
|    304 | 5/ 7      |       0.87x |       1.03x |       1.41x |
|    304 | 7/ 5      |       0.90x |       1.04x |       1.36x |
|    308 | 0/ 4      |       0.88x |       1.03x |       1.33x |
|    308 | 4/ 0      |       0.88x |       1.03x |       1.36x |
|    308 | 4/ 4      |       0.91x |       1.04x |       1.32x |
|    308 | 2/ 2      |       0.88x |       1.03x |       1.38x |
|    308 | 2/ 6      |       0.88x |       1.02x |       1.41x |
|    308 | 6/ 2      |       0.87x |       1.04x |       1.38x |
|    308 | 1/ 7      |       0.88x |       1.03x |       1.41x |
|    308 | 7/ 1      |       0.89x |       1.03x |       1.34x |
|    308 | 3/ 4      |       0.89x |       1.03x |       1.27x |
|    308 | 4/ 3      |       0.87x |       1.03x |       1.36x |
|    308 | 5/ 7      |       0.89x |       1.03x |       1.41x |
|    308 | 7/ 5      |       0.89x |       1.04x |       1.36x |
|    312 | 0/ 4      |       0.88x |       1.03x |       1.37x |
|    312 | 4/ 0      |       0.88x |       1.03x |       1.36x |
|    312 | 4/ 4      |       0.90x |       1.04x |       1.32x |
|    312 | 2/ 2      |       0.91x |       1.04x |       1.38x |
|    312 | 2/ 6      |       0.88x |       1.03x |       1.41x |
|    312 | 6/ 2      |       0.87x |       1.03x |       1.38x |
|    312 | 1/ 7      |       0.88x |       1.04x |       1.41x |
|    312 | 7/ 1      |       0.89x |       1.03x |       1.36x |
|    312 | 3/ 4      |       0.89x |       1.03x |       1.27x |
|    312 | 4/ 3      |       0.88x |       1.03x |       1.36x |
|    312 | 5/ 7      |       0.88x |       1.04x |       1.41x |
|    312 | 7/ 5      |       0.89x |       1.03x |       1.36x |
|    316 | 0/ 4      |       0.89x |       1.04x |       1.33x |
|    316 | 4/ 0      |       0.89x |       1.04x |       1.41x |
|    316 | 4/ 4      |       0.90x |       1.03x |       1.42x |
|    316 | 2/ 2      |       0.89x |       1.04x |       1.38x |
|    316 | 2/ 6      |       0.90x |       1.03x |       1.42x |
|    316 | 6/ 2      |       0.87x |       1.04x |       1.42x |
|    316 | 1/ 7      |       0.89x |       1.04x |       1.39x |
|    316 | 7/ 1      |       0.88x |       1.03x |       1.42x |
|    316 | 3/ 4      |       0.88x |       1.03x |       1.34x |
|    316 | 4/ 3      |       0.87x |       1.04x |       1.32x |
|    316 | 5/ 7      |       0.89x |       1.04x |       1.42x |
|    316 | 7/ 5      |       0.90x |       1.04x |       1.43x |
|    320 | 0/ 4      |       0.87x |       1.04x |       1.40x |
|    320 | 4/ 0      |       0.88x |       1.03x |       1.42x |
|    320 | 4/ 4      |       0.90x |       1.04x |       1.32x |
|    320 | 2/ 2      |       0.90x |       1.04x |       1.27x |
|    320 | 2/ 6      |       0.88x |       1.04x |       1.44x |
|    320 | 6/ 2      |       0.90x |       1.04x |       1.28x |
|    320 | 1/ 7      |       0.87x |       1.04x |       1.27x |
|    320 | 7/ 1      |       0.90x |       1.04x |       1.28x |
|    320 | 3/ 4      |       0.87x |       1.04x |       1.28x |
|    320 | 4/ 3      |       0.90x |       1.04x |       1.32x |
|    320 | 5/ 7      |       0.88x |       1.03x |       1.33x |
|    320 | 7/ 5      |       0.90x |       1.04x |       1.28x |
|    324 | 0/ 4      |       0.88x |       1.03x |       1.36x |
|    324 | 4/ 0      |       0.88x |       1.04x |       1.32x |
|    324 | 4/ 4      |       0.90x |       1.04x |       1.32x |
|    324 | 2/ 2      |       0.90x |       1.03x |       1.27x |
|    324 | 2/ 6      |       0.88x |       1.03x |       1.27x |
|    324 | 6/ 2      |       0.89x |       1.04x |       1.28x |
|    324 | 1/ 7      |       0.88x |       1.04x |       1.26x |
|    324 | 7/ 1      |       0.90x |       1.04x |       1.28x |
|    324 | 3/ 4      |       0.87x |       1.03x |       1.27x |
|    324 | 4/ 3      |       0.88x |       1.03x |       1.32x |
|    324 | 5/ 7      |       0.88x |       1.04x |       1.26x |
|    324 | 7/ 5      |       0.89x |       1.04x |       1.28x |
|    328 | 0/ 4      |       0.88x |       1.04x |       1.37x |
|    328 | 4/ 0      |       0.87x |       1.04x |       1.32x |
|    328 | 4/ 4      |       0.89x |       1.03x |       1.32x |
|    328 | 2/ 2      |       0.89x |       1.04x |       1.42x |
|    328 | 2/ 6      |       0.88x |       1.04x |       1.27x |
|    328 | 6/ 2      |       0.90x |       1.04x |       1.28x |
|    328 | 1/ 7      |       0.88x |       1.04x |       1.27x |
|    328 | 7/ 1      |       0.89x |       1.04x |       1.47x |
|    328 | 3/ 4      |       0.87x |       1.04x |       1.28x |
|    328 | 4/ 3      |       0.89x |       1.04x |       1.32x |
|    328 | 5/ 7      |       0.87x |       1.04x |       1.27x |
|    328 | 7/ 5      |       0.89x |       1.03x |       1.36x |
|    332 | 0/ 4      |       0.87x |       1.04x |       1.37x |
|    332 | 4/ 0      |       0.87x |       1.04x |       1.38x |
|    332 | 4/ 4      |       0.88x |       1.04x |       1.40x |
|    332 | 2/ 2      |       0.89x |       1.04x |       1.27x |
|    332 | 2/ 6      |       0.88x |       1.03x |       1.27x |
|    332 | 6/ 2      |       0.89x |       1.04x |       1.37x |
|    332 | 1/ 7      |       0.88x |       1.04x |       1.27x |
|    332 | 7/ 1      |       0.88x |       1.03x |       1.38x |
|    332 | 3/ 4      |       0.88x |       1.04x |       1.31x |
|    332 | 4/ 3      |       0.88x |       1.04x |       1.38x |
|    332 | 5/ 7      |       0.90x |       1.04x |       1.34x |
|    332 | 7/ 5      |       0.89x |       1.03x |       1.38x |
|    336 | 0/ 4      |       0.88x |       1.04x |       1.39x |
|    336 | 4/ 0      |       0.87x |       1.04x |       1.38x |
|    336 | 4/ 4      |       0.88x |       1.04x |       1.40x |
|    336 | 2/ 2      |       0.88x |       1.04x |       1.36x |
|    336 | 2/ 6      |       0.89x |       1.04x |       1.34x |
|    336 | 6/ 2      |       0.89x |       1.04x |       1.37x |
|    336 | 1/ 7      |       0.89x |       1.03x |       1.33x |
|    336 | 7/ 1      |       0.90x |       1.04x |       1.37x |
|    336 | 3/ 4      |       0.89x |       1.04x |       1.39x |
|    336 | 4/ 3      |       0.87x |       1.04x |       1.38x |
|    336 | 5/ 7      |       0.89x |       1.03x |       1.34x |
|    336 | 7/ 5      |       0.89x |       1.04x |       1.37x |
|    340 | 0/ 4      |       0.89x |       1.04x |       1.39x |
|    340 | 4/ 0      |       0.87x |       1.03x |       1.42x |
|    340 | 4/ 4      |       0.89x |       1.04x |       1.37x |
|    340 | 2/ 2      |       0.88x |       1.04x |       1.37x |
|    340 | 2/ 6      |       0.89x |       1.04x |       1.35x |
|    340 | 6/ 2      |       0.87x |       1.03x |       1.36x |
|    340 | 1/ 7      |       0.89x |       1.04x |       1.34x |
|    340 | 7/ 1      |       0.88x |       1.04x |       1.38x |
|    340 | 3/ 4      |       0.89x |       1.03x |       1.40x |
|    340 | 4/ 3      |       0.87x |       1.04x |       1.39x |
|    340 | 5/ 7      |       0.89x |       1.04x |       1.34x |
|    340 | 7/ 5      |       0.88x |       1.04x |       1.38x |
|    344 | 0/ 4      |       0.88x |       1.03x |       1.38x |
|    344 | 4/ 0      |       0.86x |       1.04x |       1.38x |
|    344 | 4/ 4      |       0.89x |       1.04x |       1.37x |
|    344 | 2/ 2      |       0.87x |       1.04x |       1.37x |
|    344 | 2/ 6      |       0.89x |       1.04x |       1.32x |
|    344 | 6/ 2      |       0.87x |       1.04x |       1.36x |
|    344 | 1/ 7      |       0.88x |       1.04x |       1.34x |
|    344 | 7/ 1      |       0.88x |       1.03x |       1.38x |
|    344 | 3/ 4      |       0.89x |       1.04x |       1.40x |
|    344 | 4/ 3      |       0.86x |       1.04x |       1.38x |
|    344 | 5/ 7      |       0.88x |       1.04x |       1.34x |
|    344 | 7/ 5      |       0.89x |       1.03x |       1.38x |
|    348 | 0/ 4      |       0.88x |       1.04x |       1.40x |
|    348 | 4/ 0      |       0.86x |       1.04x |       1.34x |
|    348 | 4/ 4      |       0.86x |       1.04x |       1.32x |
|    348 | 2/ 2      |       0.87x |       1.04x |       1.36x |
|    348 | 2/ 6      |       0.88x |       1.04x |       1.34x |
|    348 | 6/ 2      |       0.87x |       1.04x |       1.39x |
|    348 | 1/ 7      |       0.89x |       1.03x |       1.32x |
|    348 | 7/ 1      |       0.86x |       1.04x |       1.42x |
|    348 | 3/ 4      |       0.89x |       1.04x |       1.43x |
|    348 | 4/ 3      |       0.87x |       1.04x |       1.34x |
|    348 | 5/ 7      |       0.87x |       1.04x |       1.38x |
|    348 | 7/ 5      |       0.86x |       1.04x |       1.36x |
|    352 | 0/ 4      |       0.89x |       1.04x |       1.41x |
|    352 | 4/ 0      |       0.87x |       1.04x |       1.32x |
|    352 | 4/ 4      |       0.86x |       1.04x |       1.33x |
|    352 | 2/ 2      |       0.86x |       1.04x |       1.32x |
|    352 | 2/ 6      |       0.88x |       1.04x |       1.29x |
|    352 | 6/ 2      |       0.88x |       1.04x |       1.31x |
|    352 | 1/ 7      |       0.87x |       1.04x |       1.30x |
|    352 | 7/ 1      |       0.87x |       1.04x |       1.40x |
|    352 | 3/ 4      |       0.89x |       1.04x |       1.36x |
|    352 | 4/ 3      |       0.88x |       1.04x |       1.33x |
|    352 | 5/ 7      |       0.88x |       1.04x |       1.39x |
|    352 | 7/ 5      |       0.87x |       1.04x |       1.42x |
|    356 | 0/ 4      |       0.89x |       1.04x |       1.41x |
|    356 | 4/ 0      |       0.88x |       1.04x |       1.36x |
|    356 | 4/ 4      |       0.87x |       1.05x |       1.34x |
|    356 | 2/ 2      |       0.86x |       1.04x |       1.39x |
|    356 | 2/ 6      |       0.88x |       1.04x |       1.39x |
|    356 | 6/ 2      |       0.88x |       1.04x |       1.39x |
|    356 | 1/ 7      |       0.88x |       1.04x |       1.40x |
|    356 | 7/ 1      |       0.89x |       1.04x |       1.36x |
|    356 | 3/ 4      |       0.89x |       1.04x |       1.40x |
|    356 | 4/ 3      |       0.89x |       1.04x |       1.35x |
|    356 | 5/ 7      |       0.88x |       1.04x |       1.39x |
|    356 | 7/ 5      |       0.88x |       1.04x |       1.42x |
|    360 | 0/ 4      |       0.89x |       1.04x |       1.41x |
|    360 | 4/ 0      |       0.88x |       1.04x |       1.34x |
|    360 | 4/ 4      |       0.87x |       1.04x |       1.33x |
|    360 | 2/ 2      |       0.86x |       1.04x |       1.39x |
|    360 | 2/ 6      |       0.89x |       1.04x |       1.39x |
|    360 | 6/ 2      |       0.88x |       1.04x |       1.36x |
|    360 | 1/ 7      |       0.88x |       1.04x |       1.39x |
|    360 | 7/ 1      |       0.88x |       1.04x |       1.41x |
|    360 | 3/ 4      |       0.89x |       1.04x |       1.40x |
|    360 | 4/ 3      |       0.88x |       1.04x |       1.35x |
|    360 | 5/ 7      |       0.88x |       1.04x |       1.39x |
|    360 | 7/ 5      |       0.88x |       1.04x |       1.41x |
|    364 | 0/ 4      |       0.88x |       1.04x |       1.40x |
|    364 | 4/ 0      |       0.88x |       1.04x |       1.38x |
|    364 | 4/ 4      |       0.88x |       1.04x |       1.38x |
|    364 | 2/ 2      |       0.87x |       1.04x |       1.39x |
|    364 | 2/ 6      |       0.88x |       1.04x |       1.35x |
|    364 | 6/ 2      |       0.87x |       1.04x |       1.38x |
|    364 | 1/ 7      |       0.88x |       1.04x |       1.39x |
|    364 | 7/ 1      |       0.87x |       1.05x |       1.38x |
|    364 | 3/ 4      |       0.88x |       1.04x |       1.41x |
|    364 | 4/ 3      |       0.88x |       1.04x |       1.38x |
|    364 | 5/ 7      |       0.88x |       1.04x |       1.37x |
|    364 | 7/ 5      |       0.89x |       1.04x |       1.37x |
|    368 | 0/ 4      |       0.90x |       1.04x |       1.36x |
|    368 | 4/ 0      |       0.87x |       1.04x |       1.38x |
|    368 | 4/ 4      |       0.87x |       1.04x |       1.38x |
|    368 | 2/ 2      |       0.87x |       1.04x |       1.37x |
|    368 | 2/ 6      |       0.89x |       1.04x |       1.37x |
|    368 | 6/ 2      |       0.87x |       1.04x |       1.37x |
|    368 | 1/ 7      |       0.88x |       1.05x |       1.37x |
|    368 | 7/ 1      |       0.88x |       1.04x |       1.37x |
|    368 | 3/ 4      |       0.90x |       1.05x |       1.35x |
|    368 | 4/ 3      |       0.88x |       1.04x |       1.38x |
|    368 | 5/ 7      |       0.88x |       1.04x |       1.39x |
|    368 | 7/ 5      |       0.89x |       1.04x |       1.37x |
|    372 | 0/ 4      |       0.90x |       1.05x |       1.35x |
|    372 | 4/ 0      |       0.87x |       1.04x |       1.36x |
|    372 | 4/ 4      |       0.88x |       1.05x |       1.38x |
|    372 | 2/ 2      |       0.88x |       1.04x |       1.37x |
|    372 | 2/ 6      |       0.90x |       1.04x |       1.37x |
|    372 | 6/ 2      |       0.87x |       1.04x |       1.37x |
|    372 | 1/ 7      |       0.88x |       1.04x |       1.37x |
|    372 | 7/ 1      |       0.88x |       1.04x |       1.37x |
|    372 | 3/ 4      |       0.91x |       1.04x |       1.35x |
|    372 | 4/ 3      |       0.87x |       1.04x |       1.38x |
|    372 | 5/ 7      |       0.89x |       1.04x |       1.37x |
|    372 | 7/ 5      |       0.88x |       1.05x |       1.37x |
|    376 | 0/ 4      |       0.90x |       1.04x |       1.36x |
|    376 | 4/ 0      |       0.86x |       1.05x |       1.38x |
|    376 | 4/ 4      |       0.88x |       1.04x |       1.38x |
|    376 | 2/ 2      |       0.89x |       1.04x |       1.37x |
|    376 | 2/ 6      |       0.90x |       1.04x |       1.37x |
|    376 | 6/ 2      |       0.87x |       1.05x |       1.37x |
|    376 | 1/ 7      |       0.88x |       1.04x |       1.37x |
|    376 | 7/ 1      |       0.89x |       1.05x |       1.37x |
|    376 | 3/ 4      |       0.90x |       1.05x |       1.35x |
|    376 | 4/ 3      |       0.88x |       1.04x |       1.38x |
|    376 | 5/ 7      |       0.88x |       1.04x |       1.37x |
|    376 | 7/ 5      |       0.88x |       1.04x |       1.37x |
|    380 | 0/ 4      |       0.88x |       1.04x |       1.35x |
|    380 | 4/ 0      |       0.88x |       1.04x |       1.40x |
|    380 | 4/ 4      |       0.88x |       1.05x |       1.41x |
|    380 | 2/ 2      |       0.88x |       1.04x |       1.36x |
|    380 | 2/ 6      |       0.88x |       1.05x |       1.37x |
|    380 | 6/ 2      |       0.88x |       1.04x |       1.40x |
|    380 | 1/ 7      |       0.89x |       1.05x |       1.37x |
|    380 | 7/ 1      |       0.87x |       1.04x |       1.41x |
|    380 | 3/ 4      |       0.88x |       1.05x |       1.35x |
|    380 | 4/ 3      |       0.88x |       1.04x |       1.41x |
|    380 | 5/ 7      |       0.87x |       1.04x |       1.40x |
|    380 | 7/ 5      |       0.89x |       1.05x |       1.42x |
|    384 | 0/ 4      |       0.84x |       1.04x |       1.40x |
|    384 | 4/ 0      |       0.89x |       1.05x |       1.41x |
|    384 | 4/ 4      |       0.89x |       1.05x |       1.41x |
|    384 | 2/ 2      |       0.89x |       1.05x |       1.41x |
|    384 | 2/ 6      |       0.87x |       1.04x |       1.39x |
|    384 | 6/ 2      |       0.89x |       1.04x |       1.41x |
|    384 | 1/ 7      |       0.86x |       1.04x |       1.40x |
|    384 | 7/ 1      |       0.88x |       1.05x |       1.41x |
|    384 | 3/ 4      |       0.87x |       1.04x |       1.39x |
|    384 | 4/ 3      |       0.87x |       1.04x |       1.41x |
|    384 | 5/ 7      |       0.86x |       1.04x |       1.40x |
|    384 | 7/ 5      |       0.89x |       1.04x |       1.41x |
|    388 | 0/ 4      |       0.84x |       1.04x |       1.40x |
|    388 | 4/ 0      |       0.90x |       1.04x |       1.41x |
|    388 | 4/ 4      |       0.89x |       1.05x |       1.41x |
|    388 | 2/ 2      |       0.89x |       1.05x |       1.39x |
|    388 | 2/ 6      |       0.86x |       1.04x |       1.39x |
|    388 | 6/ 2      |       0.90x |       1.05x |       1.41x |
|    388 | 1/ 7      |       0.86x |       1.04x |       1.40x |
|    388 | 7/ 1      |       0.89x |       1.04x |       1.41x |
|    388 | 3/ 4      |       0.86x |       1.05x |       1.39x |
|    388 | 4/ 3      |       0.87x |       1.04x |       1.41x |
|    388 | 5/ 7      |       0.85x |       1.05x |       1.40x |
|    388 | 7/ 5      |       0.88x |       1.04x |       1.42x |
|    392 | 0/ 4      |       0.85x |       1.04x |       1.40x |
|    392 | 4/ 0      |       0.89x |       1.04x |       1.40x |
|    392 | 4/ 4      |       0.89x |       1.04x |       1.41x |
|    392 | 2/ 2      |       0.89x |       1.05x |       1.41x |
|    392 | 2/ 6      |       0.86x |       1.04x |       1.38x |
|    392 | 6/ 2      |       0.89x |       1.04x |       1.41x |
|    392 | 1/ 7      |       0.87x |       1.05x |       1.40x |
|    392 | 7/ 1      |       0.87x |       1.04x |       1.43x |
|    392 | 3/ 4      |       0.87x |       1.04x |       1.39x |
|    392 | 4/ 3      |       0.87x |       1.04x |       1.41x |
|    392 | 5/ 7      |       0.87x |       1.04x |       1.40x |
|    392 | 7/ 5      |       0.87x |       1.04x |       1.43x |
|    396 | 0/ 4      |       0.84x |       1.04x |       1.38x |
|    396 | 4/ 0      |       0.88x |       1.05x |       1.38x |
|    396 | 4/ 4      |       0.88x |       1.05x |       1.38x |
|    396 | 2/ 2      |       0.89x |       1.05x |       1.40x |
|    396 | 2/ 6      |       0.87x |       1.04x |       1.41x |
|    396 | 6/ 2      |       0.90x |       1.04x |       1.36x |
|    396 | 1/ 7      |       0.86x |       1.04x |       1.40x |
|    396 | 7/ 1      |       0.89x |       1.04x |       1.34x |
|    396 | 3/ 4      |       0.86x |       1.05x |       1.44x |
|    396 | 4/ 3      |       0.88x |       1.05x |       1.37x |
|    396 | 5/ 7      |       0.88x |       1.04x |       1.33x |
|    396 | 7/ 5      |       0.88x |       1.05x |       1.34x |
|    400 | 0/ 4      |       0.89x |       1.05x |       1.38x |
|    400 | 4/ 0      |       0.89x |       1.05x |       1.38x |
|    400 | 4/ 4      |       0.89x |       1.05x |       1.36x |
|    400 | 2/ 2      |       0.89x |       1.05x |       1.35x |
|    400 | 2/ 6      |       0.90x |       1.04x |       1.37x |
|    400 | 6/ 2      |       0.88x |       1.04x |       1.36x |
|    400 | 1/ 7      |       0.87x |       1.04x |       1.33x |
|    400 | 7/ 1      |       0.88x |       1.05x |       1.36x |
|    400 | 3/ 4      |       0.88x |       1.04x |       1.35x |
|    400 | 4/ 3      |       0.88x |       1.04x |       1.38x |
|    400 | 5/ 7      |       0.87x |       1.04x |       1.35x |
|    400 | 7/ 5      |       0.88x |       1.05x |       1.32x |
|    404 | 0/ 4      |       0.89x |       1.05x |       1.38x |
|    404 | 4/ 0      |       0.88x |       1.05x |       1.38x |
|    404 | 4/ 4      |       0.88x |       1.05x |       1.36x |
|    404 | 2/ 2      |       0.88x |       1.05x |       1.35x |
|    404 | 2/ 6      |       0.89x |       1.05x |       1.38x |
|    404 | 6/ 2      |       0.87x |       1.04x |       1.35x |
|    404 | 1/ 7      |       0.87x |       1.04x |       1.39x |
|    404 | 7/ 1      |       0.87x |       1.04x |       1.36x |
|    404 | 3/ 4      |       0.88x |       1.05x |       1.36x |
|    404 | 4/ 3      |       0.87x |       1.04x |       1.38x |
|    404 | 5/ 7      |       0.87x |       1.05x |       1.39x |
|    404 | 7/ 5      |       0.88x |       1.04x |       1.36x |
|    408 | 0/ 4      |       0.88x |       1.05x |       1.38x |
|    408 | 4/ 0      |       0.88x |       1.05x |       1.38x |
|    408 | 4/ 4      |       0.88x |       1.05x |       1.39x |
|    408 | 2/ 2      |       0.88x |       1.05x |       1.34x |
|    408 | 2/ 6      |       0.89x |       1.04x |       1.39x |
|    408 | 6/ 2      |       0.88x |       1.04x |       1.34x |
|    408 | 1/ 7      |       0.88x |       1.05x |       1.35x |
|    408 | 7/ 1      |       0.87x |       1.05x |       1.36x |
|    408 | 3/ 4      |       0.88x |       1.04x |       1.35x |
|    408 | 4/ 3      |       0.86x |       1.05x |       1.38x |
|    408 | 5/ 7      |       0.88x |       1.04x |       1.37x |
|    408 | 7/ 5      |       0.88x |       1.05x |       1.36x |
|    412 | 0/ 4      |       0.87x |       1.05x |       1.37x |
|    412 | 4/ 0      |       0.89x |       1.05x |       1.39x |
|    412 | 4/ 4      |       0.87x |       1.04x |       1.41x |
|    412 | 2/ 2      |       0.88x |       1.05x |       1.34x |
|    412 | 2/ 6      |       0.87x |       1.04x |       1.34x |
|    412 | 6/ 2      |       0.88x |       1.05x |       1.37x |
|    412 | 1/ 7      |       0.87x |       1.05x |       1.34x |
|    412 | 7/ 1      |       0.88x |       1.05x |       1.40x |
|    412 | 3/ 4      |       0.88x |       1.05x |       1.35x |
|    412 | 4/ 3      |       0.87x |       1.05x |       1.35x |
|    412 | 5/ 7      |       0.88x |       1.05x |       1.37x |
|    412 | 7/ 5      |       0.88x |       1.05x |       1.40x |
|    416 | 0/ 4      |       0.89x |       1.04x |       1.33x |
|    416 | 4/ 0      |       0.89x |       1.05x |       1.40x |
|    416 | 4/ 4      |       0.89x |       1.05x |       1.41x |
|    416 | 2/ 2      |       0.86x |       1.05x |       1.38x |
|    416 | 2/ 6      |       0.87x |       1.05x |       1.36x |
|    416 | 6/ 2      |       0.88x |       1.05x |       1.37x |
|    416 | 1/ 7      |       0.86x |       1.05x |       1.38x |
|    416 | 7/ 1      |       0.89x |       1.05x |       1.40x |
|    416 | 3/ 4      |       0.89x |       1.05x |       1.41x |
|    416 | 4/ 3      |       0.88x |       1.05x |       1.40x |
|    416 | 5/ 7      |       0.88x |       1.04x |       1.37x |
|    416 | 7/ 5      |       0.88x |       1.05x |       1.41x |
|    420 | 0/ 4      |       0.89x |       1.04x |       1.37x |
|    420 | 4/ 0      |       0.89x |       1.05x |       1.40x |
|    420 | 4/ 4      |       0.87x |       1.05x |       1.41x |
|    420 | 2/ 2      |       0.86x |       1.05x |       1.35x |
|    420 | 2/ 6      |       0.87x |       1.05x |       1.36x |
|    420 | 6/ 2      |       0.88x |       1.05x |       1.37x |
|    420 | 1/ 7      |       0.87x |       1.05x |       1.37x |
|    420 | 7/ 1      |       0.88x |       1.05x |       1.40x |
|    420 | 3/ 4      |       0.89x |       1.05x |       1.41x |
|    420 | 4/ 3      |       0.88x |       1.05x |       1.40x |
|    420 | 5/ 7      |       0.87x |       1.04x |       1.37x |
|    420 | 7/ 5      |       0.88x |       1.05x |       1.40x |
|    424 | 0/ 4      |       0.89x |       1.05x |       1.37x |
|    424 | 4/ 0      |       0.89x |       1.05x |       1.40x |
|    424 | 4/ 4      |       0.87x |       1.05x |       1.39x |
|    424 | 2/ 2      |       0.86x |       1.05x |       1.38x |
|    424 | 2/ 6      |       0.88x |       1.05x |       1.36x |
|    424 | 6/ 2      |       0.88x |       1.05x |       1.37x |
|    424 | 1/ 7      |       0.86x |       1.05x |       1.38x |
|    424 | 7/ 1      |       0.89x |       1.05x |       1.40x |
|    424 | 3/ 4      |       0.89x |       1.04x |       1.41x |
|    424 | 4/ 3      |       0.89x |       1.05x |       1.40x |
|    424 | 5/ 7      |       0.87x |       1.05x |       1.37x |
|    424 | 7/ 5      |       0.88x |       1.05x |       1.40x |
|    428 | 0/ 4      |       0.89x |       1.04x |       1.34x |
|    428 | 4/ 0      |       0.88x |       1.05x |       1.37x |
|    428 | 4/ 4      |       0.90x |       1.05x |       1.37x |
|    428 | 2/ 2      |       0.87x |       1.05x |       1.38x |
|    428 | 2/ 6      |       0.88x |       1.05x |       1.37x |
|    428 | 6/ 2      |       0.90x |       1.05x |       1.35x |
|    428 | 1/ 7      |       0.86x |       1.04x |       1.37x |
|    428 | 7/ 1      |       0.89x |       1.05x |       1.37x |
|    428 | 3/ 4      |       0.89x |       1.05x |       1.40x |
|    428 | 4/ 3      |       0.89x |       1.05x |       1.36x |
|    428 | 5/ 7      |       0.89x |       1.05x |       1.37x |
|    428 | 7/ 5      |       0.89x |       1.05x |       1.36x |
|    432 | 0/ 4      |       0.89x |       1.05x |       1.30x |
|    432 | 4/ 0      |       0.88x |       1.04x |       1.36x |
|    432 | 4/ 4      |       0.90x |       1.05x |       1.36x |
|    432 | 2/ 2      |       0.90x |       1.05x |       1.37x |
|    432 | 2/ 6      |       0.89x |       1.05x |       1.38x |
|    432 | 6/ 2      |       0.90x |       1.04x |       1.37x |
|    432 | 1/ 7      |       0.89x |       1.05x |       1.37x |
|    432 | 7/ 1      |       0.89x |       1.05x |       1.35x |
|    432 | 3/ 4      |       0.91x |       1.05x |       1.34x |
|    432 | 4/ 3      |       0.88x |       1.04x |       1.36x |
|    432 | 5/ 7      |       0.89x |       1.05x |       1.50x |
|    432 | 7/ 5      |       0.89x |       1.05x |       1.35x |
|    436 | 0/ 4      |       0.90x |       1.05x |       1.30x |
|    436 | 4/ 0      |       0.87x |       1.05x |       1.36x |
|    436 | 4/ 4      |       0.90x |       1.05x |       1.36x |
|    436 | 2/ 2      |       0.90x |       1.06x |       1.37x |
|    436 | 2/ 6      |       0.90x |       1.04x |       1.38x |
|    436 | 6/ 2      |       0.90x |       1.05x |       1.37x |
|    436 | 1/ 7      |       0.89x |       1.04x |       1.37x |
|    436 | 7/ 1      |       0.88x |       1.05x |       1.34x |
|    436 | 3/ 4      |       0.91x |       1.05x |       1.34x |
|    436 | 4/ 3      |       0.87x |       1.05x |       1.37x |
|    436 | 5/ 7      |       0.89x |       1.05x |       1.37x |
|    436 | 7/ 5      |       0.89x |       1.05x |       1.34x |
|    440 | 0/ 4      |       0.90x |       1.04x |       1.30x |
|    440 | 4/ 0      |       0.87x |       1.04x |       1.36x |
|    440 | 4/ 4      |       0.90x |       1.05x |       1.36x |
|    440 | 2/ 2      |       0.91x |       1.05x |       1.37x |
|    440 | 2/ 6      |       0.89x |       1.05x |       1.38x |
|    440 | 6/ 2      |       0.90x |       1.04x |       1.37x |
|    440 | 1/ 7      |       0.89x |       1.05x |       1.37x |
|    440 | 7/ 1      |       0.88x |       1.05x |       1.35x |
|    440 | 3/ 4      |       0.91x |       1.05x |       1.34x |
|    440 | 4/ 3      |       0.87x |       1.05x |       1.36x |
|    440 | 5/ 7      |       0.89x |       1.05x |       1.37x |
|    440 | 7/ 5      |       0.89x |       1.05x |       1.35x |
|    444 | 0/ 4      |       0.88x |       1.04x |       1.30x |
|    444 | 4/ 0      |       0.88x |       1.05x |       1.34x |
|    444 | 4/ 4      |       0.91x |       1.05x |       1.32x |
|    444 | 2/ 2      |       0.91x |       1.05x |       1.37x |
|    444 | 2/ 6      |       0.89x |       1.04x |       1.37x |
|    444 | 6/ 2      |       0.88x |       1.05x |       1.39x |
|    444 | 1/ 7      |       0.90x |       1.05x |       1.37x |
|    444 | 7/ 1      |       0.88x |       1.05x |       1.37x |
|    444 | 3/ 4      |       0.86x |       1.05x |       1.34x |
|    444 | 4/ 3      |       0.90x |       1.05x |       1.39x |
|    444 | 5/ 7      |       0.85x |       1.05x |       1.39x |
|    444 | 7/ 5      |       0.90x |       1.05x |       1.39x |
|    448 | 0/ 4      |       0.88x |       1.05x |       1.37x |
|    448 | 4/ 0      |       0.90x |       1.05x |       1.37x |
|    448 | 4/ 4      |       0.93x |       1.05x |       1.39x |
|    448 | 2/ 2      |       0.92x |       1.05x |       1.40x |
|    448 | 2/ 6      |       0.88x |       1.05x |       1.36x |
|    448 | 6/ 2      |       0.89x |       1.05x |       1.39x |
|    448 | 1/ 7      |       0.86x |       1.05x |       1.38x |
|    448 | 7/ 1      |       0.89x |       1.05x |       1.39x |
|    448 | 3/ 4      |       0.86x |       1.05x |       1.39x |
|    448 | 4/ 3      |       0.88x |       1.05x |       1.39x |
|    448 | 5/ 7      |       0.86x |       1.05x |       1.39x |
|    448 | 7/ 5      |       0.89x |       1.05x |       1.39x |
|    452 | 0/ 4      |       0.89x |       1.05x |       1.37x |
|    452 | 4/ 0      |       0.90x |       1.05x |       1.37x |
|    452 | 4/ 4      |       0.91x |       1.06x |       1.39x |
|    452 | 2/ 2      |       0.92x |       1.05x |       1.40x |
|    452 | 2/ 6      |       0.88x |       1.05x |       1.38x |
|    452 | 6/ 2      |       0.89x |       1.05x |       1.39x |
|    452 | 1/ 7      |       0.87x |       1.05x |       1.39x |
|    452 | 7/ 1      |       0.88x |       1.05x |       1.39x |
|    452 | 3/ 4      |       0.86x |       1.05x |       1.39x |
|    452 | 4/ 3      |       0.89x |       1.05x |       1.39x |
|    452 | 5/ 7      |       0.88x |       1.04x |       1.36x |
|    452 | 7/ 5      |       0.89x |       1.05x |       1.39x |
|    456 | 0/ 4      |       0.88x |       1.05x |       1.38x |
|    456 | 4/ 0      |       0.90x |       1.05x |       1.39x |
|    456 | 4/ 4      |       0.91x |       1.05x |       1.39x |
|    456 | 2/ 2      |       0.92x |       1.06x |       1.40x |
|    456 | 2/ 6      |       0.88x |       1.05x |       1.38x |
|    456 | 6/ 2      |       0.89x |       1.05x |       1.39x |
|    456 | 1/ 7      |       0.86x |       1.05x |       1.39x |
|    456 | 7/ 1      |       0.90x |       1.05x |       1.42x |
|    456 | 3/ 4      |       0.86x |       1.05x |       1.39x |
|    456 | 4/ 3      |       0.89x |       1.05x |       1.37x |
|    456 | 5/ 7      |       0.85x |       1.05x |       1.39x |
|    456 | 7/ 5      |       0.90x |       1.05x |       1.40x |
|    460 | 0/ 4      |       0.88x |       1.05x |       1.38x |
|    460 | 4/ 0      |       0.88x |       1.05x |       1.37x |
|    460 | 4/ 4      |       0.89x |       1.06x |       1.37x |
|    460 | 2/ 2      |       0.92x |       1.05x |       1.40x |
|    460 | 2/ 6      |       0.88x |       1.05x |       1.42x |
|    460 | 6/ 2      |       0.88x |       1.05x |       1.35x |
|    460 | 1/ 7      |       0.86x |       1.05x |       1.39x |
|    460 | 7/ 1      |       0.88x |       1.05x |       1.36x |
|    460 | 3/ 4      |       0.89x |       1.05x |       1.41x |
|    460 | 4/ 3      |       0.88x |       1.05x |       1.37x |
|    460 | 5/ 7      |       0.88x |       1.05x |       1.35x |
|    460 | 7/ 5      |       0.89x |       1.05x |       1.36x |
|    464 | 0/ 4      |       0.89x |       1.05x |       1.37x |
|    464 | 4/ 0      |       0.88x |       1.05x |       1.37x |
|    464 | 4/ 4      |       0.89x |       1.06x |       1.37x |
|    464 | 2/ 2      |       0.89x |       1.05x |       1.37x |
|    464 | 2/ 6      |       0.88x |       1.05x |       1.32x |
|    464 | 6/ 2      |       0.87x |       1.05x |       1.35x |
|    464 | 1/ 7      |       0.88x |       1.05x |       1.33x |
|    464 | 7/ 1      |       0.89x |       1.05x |       1.36x |
|    464 | 3/ 4      |       0.88x |       1.05x |       1.35x |
|    464 | 4/ 3      |       0.89x |       1.05x |       1.33x |
|    464 | 5/ 7      |       0.88x |       1.05x |       1.33x |
|    464 | 7/ 5      |       0.88x |       1.05x |       1.36x |
|    468 | 0/ 4      |       0.90x |       1.05x |       1.37x |
|    468 | 4/ 0      |       0.88x |       1.05x |       1.37x |
|    468 | 4/ 4      |       0.89x |       1.05x |       1.38x |
|    468 | 2/ 2      |       0.88x |       1.05x |       1.37x |
|    468 | 2/ 6      |       0.88x |       1.05x |       1.34x |
|    468 | 6/ 2      |       0.87x |       1.05x |       1.35x |
|    468 | 1/ 7      |       0.88x |       1.05x |       1.34x |
|    468 | 7/ 1      |       0.88x |       1.05x |       1.36x |
|    468 | 3/ 4      |       0.89x |       1.05x |       1.33x |
|    468 | 4/ 3      |       0.90x |       1.05x |       1.36x |
|    468 | 5/ 7      |       0.87x |       1.05x |       1.34x |
|    468 | 7/ 5      |       0.89x |       1.05x |       1.36x |
|    472 | 0/ 4      |       0.90x |       1.05x |       1.37x |
|    472 | 4/ 0      |       0.88x |       1.05x |       1.36x |
|    472 | 4/ 4      |       0.89x |       1.05x |       1.37x |
|    472 | 2/ 2      |       0.91x |       1.05x |       1.37x |
|    472 | 2/ 6      |       0.88x |       1.05x |       1.34x |
|    472 | 6/ 2      |       0.87x |       1.05x |       1.35x |
|    472 | 1/ 7      |       0.88x |       1.05x |       1.35x |
|    472 | 7/ 1      |       0.88x |       1.05x |       1.36x |
|    472 | 3/ 4      |       0.89x |       1.05x |       1.34x |
|    472 | 4/ 3      |       0.88x |       1.05x |       1.37x |
|    472 | 5/ 7      |       0.88x |       1.05x |       1.35x |
|    472 | 7/ 5      |       0.89x |       1.05x |       1.36x |
|    476 | 0/ 4      |       0.89x |       1.05x |       1.38x |
|    476 | 4/ 0      |       0.89x |       1.05x |       1.38x |
|    476 | 4/ 4      |       0.86x |       1.06x |       1.38x |
|    476 | 2/ 2      |       0.92x |       1.06x |       1.35x |
|    476 | 2/ 6      |       0.88x |       1.05x |       1.35x |
|    476 | 6/ 2      |       0.88x |       1.05x |       1.37x |
|    476 | 1/ 7      |       0.87x |       1.05x |       1.35x |
|    476 | 7/ 1      |       0.89x |       1.05x |       1.38x |
|    476 | 3/ 4      |       0.88x |       1.05x |       1.33x |
|    476 | 4/ 3      |       0.88x |       1.05x |       1.37x |
|    476 | 5/ 7      |       0.89x |       1.05x |       1.35x |
|    476 | 7/ 5      |       0.88x |       1.05x |       1.38x |
|    480 | 0/ 4      |       0.91x |       1.05x |       1.37x |
|    480 | 4/ 0      |       0.88x |       1.05x |       1.37x |
|    480 | 4/ 4      |       0.86x |       1.06x |       1.38x |
|    480 | 2/ 2      |       0.90x |       1.06x |       1.37x |
|    480 | 2/ 6      |       0.89x |       1.05x |       1.34x |
|    480 | 6/ 2      |       0.88x |       1.05x |       1.38x |
|    480 | 1/ 7      |       0.89x |       1.05x |       1.35x |
|    480 | 7/ 1      |       0.89x |       1.05x |       1.38x |
|    480 | 3/ 4      |       0.89x |       1.05x |       1.38x |
|    480 | 4/ 3      |       0.88x |       1.05x |       1.38x |
|    480 | 5/ 7      |       0.89x |       1.05x |       1.35x |
|    480 | 7/ 5      |       0.88x |       1.05x |       1.38x |
|    484 | 0/ 4      |       0.90x |       1.05x |       1.38x |
|    484 | 4/ 0      |       0.88x |       1.05x |       1.37x |
|    484 | 4/ 4      |       0.87x |       1.06x |       1.38x |
|    484 | 2/ 2      |       0.89x |       1.06x |       1.36x |
|    484 | 2/ 6      |       0.89x |       1.05x |       1.34x |
|    484 | 6/ 2      |       0.88x |       1.05x |       1.37x |
|    484 | 1/ 7      |       0.89x |       1.05x |       1.36x |
|    484 | 7/ 1      |       0.88x |       1.05x |       1.38x |
|    484 | 3/ 4      |       0.90x |       1.05x |       1.38x |
|    484 | 4/ 3      |       0.88x |       1.05x |       1.37x |
|    484 | 5/ 7      |       0.88x |       1.05x |       1.35x |
|    484 | 7/ 5      |       0.89x |       1.05x |       1.38x |
|    488 | 0/ 4      |       0.90x |       1.05x |       1.36x |
|    488 | 4/ 0      |       0.88x |       1.05x |       1.37x |
|    488 | 4/ 4      |       0.87x |       1.06x |       1.38x |
|    488 | 2/ 2      |       0.90x |       1.06x |       1.37x |
|    488 | 2/ 6      |       0.89x |       1.05x |       1.34x |
|    488 | 6/ 2      |       0.88x |       1.05x |       1.37x |
|    488 | 1/ 7      |       0.88x |       1.05x |       1.35x |
|    488 | 7/ 1      |       0.88x |       1.05x |       1.39x |
|    488 | 3/ 4      |       0.90x |       1.05x |       1.38x |
|    488 | 4/ 3      |       0.88x |       1.05x |       1.37x |
|    488 | 5/ 7      |       0.88x |       1.05x |       1.35x |
|    488 | 7/ 5      |       0.89x |       1.05x |       1.39x |
|    492 | 0/ 4      |       0.90x |       1.05x |       1.39x |
|    492 | 4/ 0      |       0.88x |       1.05x |       1.35x |
|    492 | 4/ 4      |       0.89x |       1.06x |       1.36x |
|    492 | 2/ 2      |       0.90x |       1.06x |       1.37x |
|    492 | 2/ 6      |       0.90x |       1.05x |       1.35x |
|    492 | 6/ 2      |       0.87x |       1.05x |       1.33x |
|    492 | 1/ 7      |       0.89x |       1.05x |       1.35x |
|    492 | 7/ 1      |       0.89x |       1.05x |       1.36x |
|    492 | 3/ 4      |       0.90x |       1.05x |       1.38x |
|    492 | 4/ 3      |       0.88x |       1.05x |       1.36x |
|    492 | 5/ 7      |       0.89x |       1.05x |       1.36x |
|    492 | 7/ 5      |       0.89x |       1.05x |       1.34x |
|    496 | 0/ 4      |       0.90x |       1.05x |       1.34x |
|    496 | 4/ 0      |       0.88x |       1.05x |       1.35x |
|    496 | 4/ 4      |       0.89x |       1.06x |       1.36x |
|    496 | 2/ 2      |       0.88x |       1.06x |       1.32x |
|    496 | 2/ 6      |       0.90x |       1.05x |       1.36x |
|    496 | 6/ 2      |       0.88x |       1.05x |       1.32x |
|    496 | 1/ 7      |       0.89x |       1.05x |       1.36x |
|    496 | 7/ 1      |       0.89x |       1.05x |       1.34x |
|    496 | 3/ 4      |       0.91x |       1.05x |       1.35x |
|    496 | 4/ 3      |       0.88x |       1.05x |       1.36x |
|    496 | 5/ 7      |       0.88x |       1.05x |       1.34x |
|    496 | 7/ 5      |       0.89x |       1.05x |       1.34x |
|    500 | 0/ 4      |       0.90x |       1.05x |       1.34x |
|    500 | 4/ 0      |       0.88x |       1.05x |       1.36x |
|    500 | 4/ 4      |       0.90x |       1.06x |       1.36x |
|    500 | 2/ 2      |       0.88x |       1.06x |       1.36x |
|    500 | 2/ 6      |       0.89x |       1.05x |       1.38x |
|    500 | 6/ 2      |       0.87x |       1.05x |       1.35x |
|    500 | 1/ 7      |       0.89x |       1.06x |       1.37x |
|    500 | 7/ 1      |       0.89x |       1.05x |       1.39x |
|    500 | 3/ 4      |       0.91x |       1.05x |       1.33x |
|    500 | 4/ 3      |       0.88x |       1.05x |       1.35x |
|    500 | 5/ 7      |       0.88x |       1.05x |       1.37x |
|    500 | 7/ 5      |       0.89x |       1.05x |       1.35x |
|    504 | 0/ 4      |       0.90x |       1.05x |       1.32x |
|    504 | 4/ 0      |       0.88x |       1.05x |       1.35x |
|    504 | 4/ 4      |       0.90x |       1.06x |       1.35x |
|    504 | 2/ 2      |       0.89x |       1.05x |       1.35x |
|    504 | 2/ 6      |       0.89x |       1.05x |       1.37x |
|    504 | 6/ 2      |       0.87x |       1.05x |       1.35x |
|    504 | 1/ 7      |       0.89x |       1.05x |       1.37x |
|    504 | 7/ 1      |       0.89x |       1.05x |       1.34x |
|    504 | 3/ 4      |       0.91x |       1.05x |       1.35x |
|    504 | 4/ 3      |       0.88x |       1.05x |       1.36x |
|    504 | 5/ 7      |       0.88x |       1.05x |       1.36x |
|    504 | 7/ 5      |       0.89x |       1.05x |       1.39x |
|    508 | 0/ 4      |       0.89x |       1.05x |       1.33x |
|    508 | 4/ 0      |       0.89x |       1.05x |       1.38x |
|    508 | 4/ 4      |       0.90x |       1.06x |       1.37x |
|    508 | 2/ 2      |       0.90x |       1.06x |       1.36x |
|    508 | 2/ 6      |       0.91x |       1.05x |       1.35x |
|    508 | 6/ 2      |       0.88x |       1.05x |       1.38x |
|    508 | 1/ 7      |       0.90x |       1.05x |       1.35x |
|    508 | 7/ 1      |       0.87x |       1.05x |       1.38x |
|    508 | 3/ 4      |       0.88x |       1.05x |       1.35x |
|    508 | 4/ 3      |       0.87x |       1.05x |       1.38x |
|    508 | 5/ 7      |       0.88x |       1.05x |       1.38x |
|    508 | 7/ 5      |       0.89x |       1.05x |       1.39x |
|    512 | 0/ 4      |       0.88x |       1.05x |       1.36x |
|    512 | 4/ 0      |       0.90x |       1.05x |       1.37x |
|    512 | 4/ 4      |       0.90x |       1.06x |       1.31x |
|    512 | 2/ 2      |       0.90x |       1.06x |       1.29x |
|    512 | 2/ 6      |       0.88x |       1.05x |       1.37x |
|    512 | 6/ 2      |       0.90x |       1.05x |       1.40x |
|    512 | 1/ 7      |       0.88x |       1.05x |       1.37x |
|    512 | 7/ 1      |       0.89x |       1.05x |       1.39x |
|    512 | 3/ 4      |       0.86x |       1.05x |       1.31x |
|    512 | 4/ 3      |       0.88x |       1.05x |       1.37x |
|    512 | 5/ 7      |       0.88x |       1.05x |       1.38x |
|    512 | 7/ 5      |       0.89x |       1.05x |       1.39x |

This patch passes the tests with no regressions.

8< --- 8< --- 8<
Add support for MTE to strcpy. Regression tested with xcheck and benchmarked
with glibc's benchtests on the Cortex-A53, Cortex-A72, and Neoverse N1.

The existing implementation assumes that any access to the pages in which the
string resides is safe. This assumption is not true when MTE is enabled. This
patch updates the algorithm to ensure that accesses remain within the bounds
of an MTE tag (16-byte chunks) and improves overall performance.

Co-authored-by: Wilco Dijkstra <wilco.dijkstra@arm.com>

Comments

Szabolcs Nagy June 23, 2020, 4:54 p.m. UTC | #1
The 06/09/2020 15:57, Alex Butler wrote:
> Add support for MTE to strcpy. Regression tested with xcheck and benchmarked
> with glibc's benchtests on the Cortex-A53, Cortex-A72, and Neoverse N1.
> 
> The existing implementation assumes that any access to the pages in which the
> string resides is safe. This assumption is not true when MTE is enabled. This
> patch updates the algorithm to ensure that accesses remain within the bounds
> of an MTE tag (16-byte chunks) and improves overall performance.
> 
> Co-authored-by: Wilco Dijkstra <wilco.dijkstra@arm.com>

thanks, this is ok to commit.

i will commit this together with the other
mte string function patches: even if memory
tagging malloc is not accepted into glibc in
this release cycle, it is useful to allow
ld_preloading a malloc implementation that
uses memory tagging.

i believe if the string functions are mte
safe then the rest of the libc is safe too.
(there is one known issue with user allocated
stack which i'd like to fix, all other mte
unsafety we found so far i consider to be
user errors)

the biggest regression is with strlen on
cortex-a53, but we may be able to fix that.
diff mbox series

Patch

From cad9fd024bff6900e616f57bb95b0e0742ab438e Mon Sep 17 00:00:00 2001
From: Alex Butler <alex.butler@arm.com>
Date: Tue, 19 May 2020 17:37:56 +0100
Subject: [PATCH] aarch64: add MTE compatible strcpy

---
 sysdeps/aarch64/strcpy.S | 385 +++++++++++++++--------------------------------
 1 file changed, 122 insertions(+), 263 deletions(-)

diff --git a/sysdeps/aarch64/strcpy.S b/sysdeps/aarch64/strcpy.S
index a8ff52c..80b16a0 100644
--- a/sysdeps/aarch64/strcpy.S
+++ b/sysdeps/aarch64/strcpy.S
@@ -26,297 +26,156 @@ 
 
 /* Assumptions:
  *
- * ARMv8-a, AArch64, unaligned accesses, min page size 4k.
+ * ARMv8-a, AArch64, Advanced SIMD.
+ * MTE compatible.
  */
 
 /* Arguments and results.  */
 #define dstin		x0
 #define srcin		x1
+#define result		x0
 
-/* Locals and temporaries.  */
 #define src		x2
 #define dst		x3
-#define data1		x4
-#define data1w		w4
-#define data2		x5
-#define data2w		w5
-#define has_nul1	x6
-#define has_nul2	x7
-#define tmp1		x8
-#define tmp2		x9
-#define tmp3		x10
-#define tmp4		x11
-#define zeroones	x12
-#define data1a		x13
-#define data2a		x14
-#define pos		x15
-#define len		x16
-#define to_align	x17
-
-/* NEON register */
-#define dataq		q2
-#define datav		v2
-#define datab2		b3
-#define datav2		v3
+#define len		x4
+#define synd		x4
+#define	tmp		x5
+#define wtmp		w5
+#define shift		x5
+#define data1		x6
+#define dataw1		w6
+#define data2		x7
+#define dataw2		w7
+
+#define dataq		q0
+#define vdata		v0
+#define vhas_nul	v1
+#define vrepmask	v2
+#define vend		v3
+#define dend		d3
+#define dataq2		q1
 
 #ifdef BUILD_STPCPY
-#define STRCPY __stpcpy
+# define STRCPY __stpcpy
+# define IFSTPCPY(X,...) X,__VA_ARGS__
 #else
-#define STRCPY strcpy
+# define STRCPY strcpy
+# define IFSTPCPY(X,...)
 #endif
 
-	/* NUL detection works on the principle that (X - 1) & (~X) & 0x80
-	   (=> (X - 1) & ~(X | 0x7f)) is non-zero iff a byte is zero, and
-	   can be done in parallel across the entire word.  */
-
-#define REP8_01 0x0101010101010101
-#define REP8_7f 0x7f7f7f7f7f7f7f7f
-#define REP8_80 0x8080808080808080
-
-	/* AArch64 systems have a minimum page size of 4k.  We can do a quick
-	   page size check for crossing this boundary on entry and if we
-	   do not, then we can short-circuit much of the entry code.  We
-	   expect early page-crossing strings to be rare (probability of
-	   16/MIN_PAGE_SIZE ~= 0.4%), so the branch should be quite
-	   predictable, even with random strings.
-
-	   We don't bother checking for larger page sizes, the cost of setting
-	   up the correct page size is just not worth the extra gain from
-	   a small reduction in the cases taking the slow path.  Note that
-	   we only care about whether the first fetch, which may be
-	   misaligned, crosses a page boundary - after that we move to aligned
-	   fetches for the remainder of the string.  */
+/* Core algorithm:
 
-#ifdef STRCPY_TEST_PAGE_CROSS
-	/* Make everything that isn't Qword aligned look like a page cross.  */
-#define MIN_PAGE_P2 4
-#else
-#define MIN_PAGE_P2 12
-#endif
+   For each 16-byte chunk we calculate a 64-bit syndrome value with four bits
+   per byte. For even bytes, bits 0-3 are set if the relevant byte matched the
+   requested character or the byte is NUL. Bits 4-7 must be zero. Bits 4-7 are
+   set likewise for odd bytes so that adjacent bytes can be merged. Since the
+   bits in the syndrome reflect the order in which things occur in the original
+   string, counting trailing zeros identifies exactly which byte matched.  */
 
-#define MIN_PAGE_SIZE (1 << MIN_PAGE_P2)
-
-ENTRY_ALIGN (STRCPY, 6)
+ENTRY (STRCPY)
 	DELOUSE (0)
 	DELOUSE (1)
-	/* For moderately short strings, the fastest way to do the copy is to
-	   calculate the length of the string in the same way as strlen, then
-	   essentially do a memcpy of the result.  This avoids the need for
-	   multiple byte copies and further means that by the time we
-	   reach the bulk copy loop we know we can always use DWord
-	   accesses.  We expect strcpy to rarely be called repeatedly
-	   with the same source string, so branch prediction is likely to
-	   always be difficult - we mitigate against this by preferring
-	   conditional select operations over branches whenever this is
-	   feasible.  */
-	and	tmp2, srcin, #(MIN_PAGE_SIZE - 1)
-	mov	zeroones, #REP8_01
-	and	to_align, srcin, #15
-	cmp	tmp2, #(MIN_PAGE_SIZE - 16)
-	neg	tmp1, to_align
-	/* The first fetch will straddle a (possible) page boundary iff
-	   srcin + 15 causes bit[MIN_PAGE_P2] to change value.  A 16-byte
-	   aligned string will never fail the page align check, so will
-	   always take the fast path.  */
-	b.gt	L(page_cross)
-
-L(page_cross_ok):
-	ldp	data1, data2, [srcin]
-#ifdef __AARCH64EB__
-	/* Because we expect the end to be found within 16 characters
-	   (profiling shows this is the most common case), it's worth
-	   swapping the bytes now to save having to recalculate the
-	   termination syndrome later.  We preserve data1 and data2
-	   so that we can re-use the values later on.  */
-	rev	tmp2, data1
-	sub	tmp1, tmp2, zeroones
-	orr	tmp2, tmp2, #REP8_7f
-	bics	has_nul1, tmp1, tmp2
-	b.ne	L(fp_le8)
-	rev	tmp4, data2
-	sub	tmp3, tmp4, zeroones
-	orr	tmp4, tmp4, #REP8_7f
-#else
-	sub	tmp1, data1, zeroones
-	orr	tmp2, data1, #REP8_7f
-	bics	has_nul1, tmp1, tmp2
-	b.ne	L(fp_le8)
-	sub	tmp3, data2, zeroones
-	orr	tmp4, data2, #REP8_7f
+	bic	src, srcin, 15
+	mov	wtmp, 0xf00f
+	ld1	{vdata.16b}, [src]
+	dup	vrepmask.8h, wtmp
+	cmeq	vhas_nul.16b, vdata.16b, 0
+	lsl	shift, srcin, 2
+	and	vhas_nul.16b, vhas_nul.16b, vrepmask.16b
+	addp	vend.16b, vhas_nul.16b, vhas_nul.16b
+	fmov	synd, dend
+	lsr	synd, synd, shift
+	cbnz	synd, L(tail)
+
+	ldr	dataq, [src, 16]!
+	cmeq	vhas_nul.16b, vdata.16b, 0
+	and	vhas_nul.16b, vhas_nul.16b, vrepmask.16b
+	addp	vend.16b, vhas_nul.16b, vhas_nul.16b
+	fmov	synd, dend
+	cbz	synd, L(start_loop)
+
+#ifndef __AARCH64EB__
+	rbit	synd, synd
 #endif
-	bics	has_nul2, tmp3, tmp4
-	b.eq	L(bulk_entry)
+	sub	tmp, src, srcin
+	clz	len, synd
+	add	len, tmp, len, lsr 2
+	tbz	len, 4, L(less16)
+	sub	tmp, len, 15
+	ldr	dataq, [srcin]
+	ldr	dataq2, [srcin, tmp]
+	str	dataq, [dstin]
+	str	dataq2, [dstin, tmp]
+	IFSTPCPY (add result, dstin, len)
+	ret
 
-	/* The string is short (<=16 bytes).  We don't know exactly how
-	   short though, yet.  Work out the exact length so that we can
-	   quickly select the optimal copy strategy.  */
-L(fp_gt8):
-	rev	has_nul2, has_nul2
-	clz	pos, has_nul2
-	mov	tmp2, #56
-	add	dst, dstin, pos, lsr #3		/* Bits to bytes.  */
-	sub	pos, tmp2, pos
-#ifdef __AARCH64EB__
-	lsr	data2, data2, pos
-#else
-	lsl	data2, data2, pos
-#endif
-	str	data2, [dst, #1]
+	.p2align 4,,8
+L(tail):
+	rbit	synd, synd
+	clz	len, synd
+	lsr	len, len, 2
+
+	.p2align 4
+L(less16):
+	tbz	len, 3, L(less8)
+	sub	tmp, len, 7
+	ldr	data1, [srcin]
+	ldr	data2, [srcin, tmp]
 	str	data1, [dstin]
-#ifdef BUILD_STPCPY
-	add	dstin, dst, #8
-#endif
+	str	data2, [dstin, tmp]
+	IFSTPCPY (add result, dstin, len)
 	ret
 
-L(fp_le8):
-	rev	has_nul1, has_nul1
-	clz	pos, has_nul1
-	add	dst, dstin, pos, lsr #3		/* Bits to bytes.  */
-	subs	tmp2, pos, #24			/* Pos in bits. */
-	b.lt	L(fp_lt4)
-#ifdef __AARCH64EB__
-	mov	tmp2, #56
-	sub	pos, tmp2, pos
-	lsr	data2, data1, pos
-	lsr	data1, data1, #32
-#else
-	lsr	data2, data1, tmp2
-#endif
-	/* 4->7 bytes to copy.  */
-	str	data2w, [dst, #-3]
-	str	data1w, [dstin]
-#ifdef BUILD_STPCPY
-	mov	dstin, dst
-#endif
-	ret
-L(fp_lt4):
-	cbz	pos, L(fp_lt2)
-	/* 2->3 bytes to copy.  */
-#ifdef __AARCH64EB__
-	lsr	data1, data1, #48
-#endif
-	strh	data1w, [dstin]
-	/* Fall-through, one byte (max) to go.  */
-L(fp_lt2):
-	/* Null-terminated string.  Last character must be zero!  */
-	strb	wzr, [dst]
-#ifdef BUILD_STPCPY
-	mov	dstin, dst
-#endif
+	.p2align 4
+L(less8):
+	subs	tmp, len, 3
+	b.lo	L(less4)
+	ldr	dataw1, [srcin]
+	ldr	dataw2, [srcin, tmp]
+	str	dataw1, [dstin]
+	str	dataw2, [dstin, tmp]
+	IFSTPCPY (add result, dstin, len)
 	ret
 
-	/* Aligning here ensures that the entry code and main loop all lies
-	   within one 64-byte cache line.  */
-L(bulk_entry):
-	sub	to_align, to_align, #16
-	stp	data1, data2, [dstin]
-	sub	src, srcin, to_align
-	sub	dst, dstin, to_align
-	b	L(entry_no_page_cross)
-
-	/* The inner loop deals with two Dwords at a time.  This has a
-	   slightly higher start-up cost, but we should win quite quickly,
-	   especially on cores with a high number of issue slots per
-	   cycle, as we get much better parallelism out of the operations.  */
-L(main_loop):
-	str	dataq, [dst], #16
-L(entry_no_page_cross):
-	ldr	dataq, [src], #16
-	uminv	datab2, datav.16b
-	mov	tmp3, datav2.d[0]
-	cbnz	tmp3, L(main_loop)
+L(less4):
+	cbz	len, L(zerobyte)
+	ldrh	dataw1, [srcin]
+	strh	dataw1, [dstin]
+L(zerobyte):
+	strb	wzr, [dstin, len]
+	IFSTPCPY (add result, dstin, len)
+	ret
 
-	/* Since we know we are copying at least 16 bytes, the fastest way
-	   to deal with the tail is to determine the location of the
-	   trailing NUL, then (re)copy the 16 bytes leading up to that.  */
-#ifdef __AARCH64EB__
-	rev64	datav.16b, datav.16b
-#endif
-	/* calculate the loc value */
-	cmeq	datav.16b, datav.16b, #0
-#ifdef __AARCH64EB__
-	mov	data1, datav.d[1]
-	mov	data2, datav.d[0]
-#else
-	mov	data1, datav.d[0]
-	mov	data2, datav.d[1]
-#endif
-	cmp	data1, 0
-	csel	data1, data1, data2, ne
-	mov	pos, 8
-	rev	data1, data1
-	clz	tmp1, data1
-	csel	pos, xzr, pos, ne
-	add	pos, pos, tmp1, lsr 3
-	add	src, src, pos
-	add	dst, dst, pos
-	ldr	dataq,[src, #-31]
-	str	dataq,[dst, #-15]
-#ifdef BUILD_STPCPY
-	mov	dstin, dst
+	.p2align 4
+L(start_loop):
+	sub	len, src, srcin
+	ldr	dataq2, [srcin]
+	add	dst, dstin, len
+	str	dataq2, [dstin]
+
+	.p2align 5
+L(loop):
+	str	dataq, [dst], 16
+	ldr	dataq, [src, 16]!
+	cmeq	vhas_nul.16b, vdata.16b, 0
+	umaxp	vend.16b, vhas_nul.16b, vhas_nul.16b
+	fmov	synd, dend
+	cbz	synd, L(loop)
+
+	and	vhas_nul.16b, vhas_nul.16b, vrepmask.16b
+	addp	vend.16b, vhas_nul.16b, vhas_nul.16b		/* 128->64 */
+	fmov	synd, dend
+#ifndef __AARCH64EB__
+	rbit	synd, synd
 #endif
+	clz	len, synd
+	lsr	len, len, 2
+	sub	tmp, len, 15
+	ldr	dataq, [src, tmp]
+	str	dataq, [dst, tmp]
+	IFSTPCPY (add result, dst, len)
 	ret
 
-L(page_cross):
-	bic	src, srcin, #15
-	/* Start by loading two words at [srcin & ~15], then forcing the
-	   bytes that precede srcin to 0xff.  This means they never look
-	   like termination bytes.  */
-	ldp	data1, data2, [src]
-	lsl	tmp1, tmp1, #3	/* Bytes beyond alignment -> bits.  */
-	tst	to_align, #7
-	csetm	tmp2, ne
-#ifdef __AARCH64EB__
-	lsl	tmp2, tmp2, tmp1	/* Shift (tmp1 & 63).  */
-#else
-	lsr	tmp2, tmp2, tmp1	/* Shift (tmp1 & 63).  */
-#endif
-	orr	data1, data1, tmp2
-	orr	data2a, data2, tmp2
-	cmp	to_align, #8
-	csinv	data1, data1, xzr, lt
-	csel	data2, data2, data2a, lt
-	sub	tmp1, data1, zeroones
-	orr	tmp2, data1, #REP8_7f
-	sub	tmp3, data2, zeroones
-	orr	tmp4, data2, #REP8_7f
-	bic	has_nul1, tmp1, tmp2
-	bics	has_nul2, tmp3, tmp4
-	ccmp	has_nul1, #0, #0, eq	/* NZCV = 0000  */
-	b.eq	L(page_cross_ok)
-	/* We now need to make data1 and data2 look like they've been
-	   loaded directly from srcin.  Do a rotate on the 128-bit value.  */
-	lsl	tmp1, to_align, #3	/* Bytes->bits.  */
-	neg	tmp2, to_align, lsl #3
-#ifdef __AARCH64EB__
-	lsl	data1a, data1, tmp1
-	lsr	tmp4, data2, tmp2
-	lsl	data2, data2, tmp1
-	orr	tmp4, tmp4, data1a
-	cmp	to_align, #8
-	csel	data1, tmp4, data2, lt
-	rev	tmp2, data1
-	rev	tmp4, data2
-	sub	tmp1, tmp2, zeroones
-	orr	tmp2, tmp2, #REP8_7f
-	sub	tmp3, tmp4, zeroones
-	orr	tmp4, tmp4, #REP8_7f
-#else
-	lsr	data1a, data1, tmp1
-	lsl	tmp4, data2, tmp2
-	lsr	data2, data2, tmp1
-	orr	tmp4, tmp4, data1a
-	cmp	to_align, #8
-	csel	data1, tmp4, data2, lt
-	sub	tmp1, data1, zeroones
-	orr	tmp2, data1, #REP8_7f
-	sub	tmp3, data2, zeroones
-	orr	tmp4, data2, #REP8_7f
-#endif
-	bic	has_nul1, tmp1, tmp2
-	cbnz	has_nul1, L(fp_le8)
-	bic	has_nul2, tmp3, tmp4
-	b	L(fp_gt8)
 END (STRCPY)
 
 #ifdef BUILD_STPCPY
-- 
2.7.4