Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
3696 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
3696 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
3700 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
3704 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
3772 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
3780 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
3780 | ? ? ? | ? ? ? | aesni | gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv | 20180827 | 20180818 |
3784 | ? ? ? | ? ? ? | aesni | gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv | 20180827 | 20180818 |
3788 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
3788 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
3816 | ? ? ? | ? ? ? | aesni | icc | 20180827 | 20180818 |
3816 | ? ? ? | ? ? ? | aesni | icc_-no-vec | 20180827 | 20180818 |
3876 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
3888 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer | 20180827 | 20180818 |
3888 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
3896 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
3896 | ? ? ? | ? ? ? | aesni | gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv | 20180827 | 20180818 |
3904 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer | 20180827 | 20180818 |
3908 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer | 20180827 | 20180818 |
3908 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
3924 | ? ? ? | ? ? ? | aesni | gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv | 20180827 | 20180818 |
3936 | ? ? ? | ? ? ? | aesni | gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer | 20180827 | 20180818 |
4340 | ? ? ? | ? ? ? | aesni | icc_-xAVX_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
4340 | ? ? ? | ? ? ? | aesni | icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
4340 | ? ? ? | ? ? ? | aesni | icc_-xSSE4.1_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
4340 | ? ? ? | ? ? ? | aesni | icc_-xSSE4.2_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
4348 | ? ? ? | ? ? ? | aesni | icc_-xCORE-AVX2_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
4352 | ? ? ? | ? ? ? | aesni | icc_-xSSE4.1_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
4372 | ? ? ? | ? ? ? | aesni | icc_-xSSE4.2_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
4432 | ? ? ? | ? ? ? | aesni | icc_-xAVX_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
4432 | ? ? ? | ? ? ? | aesni | icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
4444 | ? ? ? | ? ? ? | aesni | icc_-xCORE-AVX2_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
925332 | ? ? ? | ? ? ? | ref | icc_-xAVX_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
926808 | ? ? ? | ? ? ? | ref | icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
934740 | ? ? ? | ? ? ? | ref | icc_-xCORE-AVX2_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
936980 | ? ? ? | ? ? ? | ref | icc_-xSSE4.2_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
940948 | ? ? ? | ? ? ? | ref | icc_-xAVX_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
942440 | ? ? ? | ? ? ? | ref | icc_-xCORE-AVX2_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
945260 | ? ? ? | ? ? ? | ref | icc_-xSSE4.1_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
948768 | ? ? ? | ? ? ? | ref | icc | 20180827 | 20180818 |
949492 | ? ? ? | ? ? ? | ref | icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
954728 | ? ? ? | ? ? ? | ref | icc_-xSSE4.2_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
958472 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
959732 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
963328 | ? ? ? | ? ? ? | ref | icc_-xSSE4.1_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
970132 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
981944 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
990620 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
992184 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
993016 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
993492 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1009940 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1032684 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1032684 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1037592 | ? ? ? | ? ? ? | ref | gcc_-march=k8_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1051880 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=k8_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1052632 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1053556 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1054464 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1060084 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1060156 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1060376 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1061916 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1062524 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1070472 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=corei7_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1070892 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1071844 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1072340 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1074504 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1076644 | ? ? ? | ? ? ? | ref | gcc_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1076696 | ? ? ? | ? ? ? | ref | gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1077816 | ? ? ? | ? ? ? | ref | gcc_-m64_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1077968 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1080420 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1082008 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1082124 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1082400 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1082672 | ? ? ? | ? ? ? | ref | gcc_-march=barcelona_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1082816 | ? ? ? | ? ? ? | ref | gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv | 20180827 | 20180818 |
1083512 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1085548 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1085724 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1087976 | ? ? ? | ? ? ? | ref | icc_-no-vec | 20180827 | 20180818 |
1088240 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1089616 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1094068 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1100332 | ? ? ? | ? ? ? | ref | gcc_-march=nocona_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1102012 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1118864 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer | 20180827 | 20180818 |
1131504 | ? ? ? | ? ? ? | ref | gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv | 20180827 | 20180818 |
1139948 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1141712 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1147712 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1148548 | ? ? ? | ? ? ? | ref | gcc_-m64_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1151676 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1157500 | ? ? ? | ? ? ? | ref | gcc_-fno-schedule-insns_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1158536 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=corei7_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1159356 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1159472 | ? ? ? | ? ? ? | ref | gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv | 20180827 | 20180818 |
1160536 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1160868 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=nocona_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1162936 | ? ? ? | ? ? ? | ref | gcc_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1165136 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1165952 | ? ? ? | ? ? ? | ref | gcc_-march=nocona_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1166480 | ? ? ? | ? ? ? | ref | gcc_-march=nocona_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1166676 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1166876 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=k8_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1167240 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1167240 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1167448 | ? ? ? | ? ? ? | ref | gcc_-m64_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1168056 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1169168 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1169472 | ? ? ? | ? ? ? | ref | gcc_-march=k8_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1171404 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1171668 | ? ? ? | ? ? ? | ref | gcc_-march=barcelona_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1172484 | ? ? ? | ? ? ? | ref | gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1173404 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1175348 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1177204 | ? ? ? | ? ? ? | ref | gcc_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1179400 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1180620 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer | 20180827 | 20180818 |
1195908 | ? ? ? | ? ? ? | ref | gcc_-march=k8_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1197240 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1198968 | ? ? ? | ? ? ? | ref | gcc_-march=barcelona_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1199008 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=k8_-O_-fomit-frame-pointer | 20180827 | 20180818 |
1355972 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1357024 | ? ? ? | ? ? ? | ref | gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1357880 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1366308 | ? ? ? | ? ? ? | ref | gcc_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1366556 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1372020 | ? ? ? | ? ? ? | ref | gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv | 20180827 | 20180818 |
1374092 | ? ? ? | ? ? ? | ref | gcc_-m64_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1375108 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1375448 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1398800 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1399188 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1404056 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1450000 | ? ? ? | ? ? ? | ref | gcc_-march=nocona_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1451236 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1453928 | ? ? ? | ? ? ? | ref | gcc_-march=barcelona_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1454780 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=k8_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1456144 | ? ? ? | ? ? ? | ref | gcc_-march=k8_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1456352 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1458144 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1458688 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1465824 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1468216 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1468772 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1470776 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1488952 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1495316 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
1499588 | ? ? ? | ? ? ? | ref | gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer | 20180827 | 20180818 |
3729128 | ? ? ? | ? ? ? | ref | gcc | 20180827 | 20180818 |
3740740 | ? ? ? | ? ? ? | ref | gcc_-funroll-loops | 20180827 | 20180818 |
3767604 | ? ? ? | ? ? ? | ref | cc | 20180827 | 20180818 |