Lines Matching +full:- +full:u
37 /* from libcrux/libcrux-ml-kem/cg/eurydice_glue.h */
39 * SPDX-FileCopyrightText: 2024 Eurydice Contributors
40 * SPDX-FileCopyrightText: 2024 Cryspen Sarl <info@cryspen.com>
42 * SPDX-License-Identifier: MIT or Apache-2.0
67 // - if you need to use `ptr`, you MUST cast it to a proper type *before*
71 // - if you need to use `len` for a C style function (e.g. memcpy, memcmp), you
88 (CLITERAL(Eurydice_slice){.ptr = (void *)(x + start), .len = end - start})
136 Eurydice_array_eq(sz, a1, ((a2)->ptr), t, _)
146 .len = slice.len - mid}})
152 Eurydice_slice_to_array3(&(dst)->tag, (char *)&(dst)->val.case_Ok, src, \
196 return x - y; in core_num__u8_6__wrapping_sub()
202 (((iter_ptr)->start == (iter_ptr)->end) \
204 : (CLITERAL(ret_t){.tag = Some, .f0 = (iter_ptr)->start++}))
218 /* from libcrux/libcrux-ml-kem/cg/libcrux_core.h */
220 * SPDX-FileCopyrightText: 2024 Cryspen Sarl <info@cryspen.com>
222 * SPDX-License-Identifier: MIT or Apache-2.0
228 * F*: a32b316e521fa4f239b610ec8f1d15e78d62cbe8-dirty
272 #define CORE_NUM__U32_8__BITS (32U)
274 static inline uint64_t core_num__u64_9__from_le_bytes(uint8_t x0[8U]);
276 static inline void core_num__u64_9__to_le_bytes(uint64_t x0, uint8_t x1[8U]);
282 #define LIBCRUX_ML_KEM_CONSTANTS_SHARED_SECRET_SIZE ((size_t)32U)
284 #define LIBCRUX_ML_KEM_CONSTANTS_BITS_PER_COEFFICIENT ((size_t)12U)
286 #define LIBCRUX_ML_KEM_CONSTANTS_COEFFICIENTS_IN_RING_ELEMENT ((size_t)256U)
289 (LIBCRUX_ML_KEM_CONSTANTS_COEFFICIENTS_IN_RING_ELEMENT * (size_t)12U)
292 (LIBCRUX_ML_KEM_CONSTANTS_BITS_PER_RING_ELEMENT / (size_t)8U)
294 #define LIBCRUX_ML_KEM_CONSTANTS_CPA_PKE_KEY_GENERATION_SEED_SIZE ((size_t)32U)
296 #define LIBCRUX_ML_KEM_CONSTANTS_H_DIGEST_SIZE ((size_t)32U)
299 uint8_t fst[1152U];
300 uint8_t snd[1184U];
311 uint8_t case_Ok[24U];
324 static inline void unwrap_41_1c(Result_6f self, uint8_t ret[24U]) { in unwrap_41_1c()
326 uint8_t f0[24U]; in unwrap_41_1c()
327 memcpy(f0, self.val.case_Ok, (size_t)24U * sizeof(uint8_t)); in unwrap_41_1c()
328 memcpy(ret, f0, (size_t)24U * sizeof(uint8_t)); in unwrap_41_1c()
332 KRML_HOST_EXIT(255U); in unwrap_41_1c()
344 uint8_t case_Ok[20U];
357 static inline void unwrap_41_34(Result_7a self, uint8_t ret[20U]) { in unwrap_41_34()
359 uint8_t f0[20U]; in unwrap_41_34()
360 memcpy(f0, self.val.case_Ok, (size_t)20U * sizeof(uint8_t)); in unwrap_41_34()
361 memcpy(ret, f0, (size_t)20U * sizeof(uint8_t)); in unwrap_41_34()
365 KRML_HOST_EXIT(255U); in unwrap_41_34()
377 uint8_t case_Ok[10U];
390 static inline void unwrap_41_e8(Result_cd self, uint8_t ret[10U]) { in unwrap_41_e8()
392 uint8_t f0[10U]; in unwrap_41_e8()
393 memcpy(f0, self.val.case_Ok, (size_t)10U * sizeof(uint8_t)); in unwrap_41_e8()
394 memcpy(ret, f0, (size_t)10U * sizeof(uint8_t)); in unwrap_41_e8()
398 KRML_HOST_EXIT(255U); in unwrap_41_e8()
403 Eurydice_slice fst[4U];
404 Eurydice_slice snd[4U];
408 uint8_t value[1088U];
420 - SIZE= 1088
424 return self->value; in libcrux_ml_kem_types_as_slice_d4_1d()
430 - $1184size_t
433 uint8_t value[1184U];
443 - SIZE= 1184
446 libcrux_ml_kem_types_from_b6_da(uint8_t value[1184U]) { in libcrux_ml_kem_types_from_b6_da()
448 uint8_t copy_of_value[1184U]; in libcrux_ml_kem_types_from_b6_da()
449 memcpy(copy_of_value, value, (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_types_from_b6_da()
451 memcpy(lit.value, copy_of_value, (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_types_from_b6_da()
458 - $2400size_t
461 uint8_t value[2400U];
479 - PRIVATE_KEY_SIZE= 2400
480 - PUBLIC_KEY_SIZE= 1184
496 - SIZE= 2400
499 libcrux_ml_kem_types_from_05_f2(uint8_t value[2400U]) { in libcrux_ml_kem_types_from_05_f2()
501 uint8_t copy_of_value[2400U]; in libcrux_ml_kem_types_from_05_f2()
502 memcpy(copy_of_value, value, (size_t)2400U * sizeof(uint8_t)); in libcrux_ml_kem_types_from_05_f2()
504 memcpy(lit.value, copy_of_value, (size_t)2400U * sizeof(uint8_t)); in libcrux_ml_kem_types_from_05_f2()
516 uint8_t case_Ok[32U];
529 static inline void unwrap_41_83(Result_00 self, uint8_t ret[32U]) { in unwrap_41_83()
531 uint8_t f0[32U]; in unwrap_41_83()
532 memcpy(f0, self.val.case_Ok, (size_t)32U * sizeof(uint8_t)); in unwrap_41_83()
533 memcpy(ret, f0, (size_t)32U * sizeof(uint8_t)); in unwrap_41_83()
537 KRML_HOST_EXIT(255U); in unwrap_41_83()
549 uint8_t snd[32U];
559 - SIZE= 1088
562 libcrux_ml_kem_types_from_01_9f(uint8_t value[1088U]) { in libcrux_ml_kem_types_from_01_9f()
564 uint8_t copy_of_value[1088U]; in libcrux_ml_kem_types_from_01_9f()
565 memcpy(copy_of_value, value, (size_t)1088U * sizeof(uint8_t)); in libcrux_ml_kem_types_from_01_9f()
567 memcpy(lit.value, copy_of_value, (size_t)1088U * sizeof(uint8_t)); in libcrux_ml_kem_types_from_01_9f()
580 - SIZE= 1184
584 return self->value; in libcrux_ml_kem_types_as_slice_cb_50()
593 - LEN= 33
596 Eurydice_slice slice, uint8_t ret[33U]) { in libcrux_ml_kem_utils_into_padded_array_ea2()
597 uint8_t out[33U] = {0U}; in libcrux_ml_kem_utils_into_padded_array_ea2()
600 Eurydice_array_to_subslice2(uu____0, (size_t)0U, in libcrux_ml_kem_utils_into_padded_array_ea2()
603 memcpy(ret, out, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_utils_into_padded_array_ea2()
612 - LEN= 34
615 Eurydice_slice slice, uint8_t ret[34U]) { in libcrux_ml_kem_utils_into_padded_array_ea1()
616 uint8_t out[34U] = {0U}; in libcrux_ml_kem_utils_into_padded_array_ea1()
619 Eurydice_array_to_subslice2(uu____0, (size_t)0U, in libcrux_ml_kem_utils_into_padded_array_ea1()
622 memcpy(ret, out, (size_t)34U * sizeof(uint8_t)); in libcrux_ml_kem_utils_into_padded_array_ea1()
632 - SIZE= 1088
636 return Eurydice_array_to_slice((size_t)1088U, self->value, uint8_t); in libcrux_ml_kem_types_as_ref_00_24()
645 - LEN= 1120
648 Eurydice_slice slice, uint8_t ret[1120U]) { in libcrux_ml_kem_utils_into_padded_array_ea0()
649 uint8_t out[1120U] = {0U}; in libcrux_ml_kem_utils_into_padded_array_ea0()
652 Eurydice_array_to_subslice2(uu____0, (size_t)0U, in libcrux_ml_kem_utils_into_padded_array_ea0()
655 memcpy(ret, out, (size_t)1120U * sizeof(uint8_t)); in libcrux_ml_kem_utils_into_padded_array_ea0()
664 - LEN= 64
667 Eurydice_slice slice, uint8_t ret[64U]) { in libcrux_ml_kem_utils_into_padded_array_ea()
668 uint8_t out[64U] = {0U}; in libcrux_ml_kem_utils_into_padded_array_ea()
671 Eurydice_array_to_subslice2(uu____0, (size_t)0U, in libcrux_ml_kem_utils_into_padded_array_ea()
674 memcpy(ret, out, (size_t)64U * sizeof(uint8_t)); in libcrux_ml_kem_utils_into_padded_array_ea()
685 int16_t case_Ok[16U];
698 static inline void unwrap_41_f9(Result_c0 self, int16_t ret[16U]) { in unwrap_41_f9()
700 int16_t f0[16U]; in unwrap_41_f9()
701 memcpy(f0, self.val.case_Ok, (size_t)16U * sizeof(int16_t)); in unwrap_41_f9()
702 memcpy(ret, f0, (size_t)16U * sizeof(int16_t)); in unwrap_41_f9()
706 KRML_HOST_EXIT(255U); in unwrap_41_f9()
718 uint8_t case_Ok[8U];
731 static inline void unwrap_41_ac(Result_56 self, uint8_t ret[8U]) { in unwrap_41_ac()
733 uint8_t f0[8U]; in unwrap_41_ac()
734 memcpy(f0, self.val.case_Ok, (size_t)8U * sizeof(uint8_t)); in unwrap_41_ac()
735 memcpy(ret, f0, (size_t)8U * sizeof(uint8_t)); in unwrap_41_ac()
739 KRML_HOST_EXIT(255U); in unwrap_41_ac()
749 Eurydice_slice fst[1U];
750 Eurydice_slice snd[1U];
760 /* from libcrux/libcrux-ml-kem/cg/libcrux_ct_ops.h */
762 * SPDX-FileCopyrightText: 2024 Cryspen Sarl <info@cryspen.com>
764 * SPDX-License-Identifier: MIT or Apache-2.0
770 * F*: a32b316e521fa4f239b610ec8f1d15e78d62cbe8-dirty
788 (uint32_t)core_num__u16_7__wrapping_add(~value0, 1U)) & in libcrux_ml_kem_constant_time_ops_inz()
790 8U & in libcrux_ml_kem_constant_time_ops_inz()
791 1U; in libcrux_ml_kem_constant_time_ops_inz()
806 uint8_t r = 0U; in libcrux_ml_kem_constant_time_ops_compare()
807 for (size_t i = (size_t)0U; i < Eurydice_slice_len(lhs, uint8_t); i++) { in libcrux_ml_kem_constant_time_ops_compare()
828 uint8_t ret[32U]) { in libcrux_ml_kem_constant_time_ops_select_ct()
830 libcrux_ml_kem_constant_time_ops_is_non_zero(selector), 1U); in libcrux_ml_kem_constant_time_ops_select_ct()
831 uint8_t out[32U] = {0U}; in libcrux_ml_kem_constant_time_ops_select_ct()
832 for (size_t i = (size_t)0U; i < LIBCRUX_ML_KEM_CONSTANTS_SHARED_SECRET_SIZE; in libcrux_ml_kem_constant_time_ops_select_ct()
840 memcpy(ret, out, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_constant_time_ops_select_ct()
846 uint8_t ret[32U]) { in libcrux_ml_kem_constant_time_ops_select_shared_secret_in_constant_time()
853 Eurydice_slice rhs_s, uint8_t ret[32U]) { in libcrux_ml_kem_constant_time_ops_compare_ciphertexts_select_shared_secret_in_constant_time()
857 uint8_t ret0[32U]; in libcrux_ml_kem_constant_time_ops_compare_ciphertexts_select_shared_secret_in_constant_time()
860 memcpy(ret, ret0, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_constant_time_ops_compare_ciphertexts_select_shared_secret_in_constant_time()
870 /* from libcrux/libcrux-ml-kem/cg/libcrux_sha3_portable.h */
872 * SPDX-FileCopyrightText: 2024 Cryspen Sarl <info@cryspen.com>
874 * SPDX-License-Identifier: MIT or Apache-2.0
880 * F*: a32b316e521fa4f239b610ec8f1d15e78d62cbe8-dirty
892 static const uint64_t libcrux_sha3_generic_keccak_ROUNDCONSTANTS[24U] = {
946 - LEFT= 1
947 - RIGHT= 63
1007 Eurydice_slice a[1U], size_t start, size_t len, Eurydice_slice ret[1U]) { in libcrux_sha3_portable_keccak_slice_1()
1008 ret[0U] = Eurydice_slice_subslice2(a[0U], start, start + len, uint8_t); in libcrux_sha3_portable_keccak_slice_1()
1016 Eurydice_slice a[1U], size_t start, size_t len, Eurydice_slice ret[1U]) { in libcrux_sha3_portable_keccak_slice_n_5a()
1018 Eurydice_slice copy_of_a[1U]; in libcrux_sha3_portable_keccak_slice_n_5a()
1019 memcpy(copy_of_a, a, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccak_slice_n_5a()
1020 Eurydice_slice ret0[1U]; in libcrux_sha3_portable_keccak_slice_n_5a()
1022 memcpy(ret, ret0, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccak_slice_n_5a()
1026 libcrux_sha3_portable_keccak_split_at_mut_1(Eurydice_slice out[1U], in libcrux_sha3_portable_keccak_split_at_mut_1()
1029 out[0U], mid, uint8_t, Eurydice_slice_uint8_t_x2); in libcrux_sha3_portable_keccak_split_at_mut_1()
1033 lit.fst[0U] = out00; in libcrux_sha3_portable_keccak_split_at_mut_1()
1034 lit.snd[0U] = out01; in libcrux_sha3_portable_keccak_split_at_mut_1()
1043 libcrux_sha3_portable_keccak_split_at_mut_n_5a(Eurydice_slice a[1U], in libcrux_sha3_portable_keccak_split_at_mut_n_5a()
1052 - $1size_t
1055 uint64_t st[5U][5U];
1069 - N= 1
1074 lit.st[0U][0U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1075 lit.st[0U][1U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1076 lit.st[0U][2U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1077 lit.st[0U][3U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1078 lit.st[0U][4U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1079 lit.st[1U][0U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1080 lit.st[1U][1U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1081 lit.st[1U][2U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1082 lit.st[1U][3U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1083 lit.st[1U][4U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1084 lit.st[2U][0U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1085 lit.st[2U][1U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1086 lit.st[2U][2U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1087 lit.st[2U][3U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1088 lit.st[2U][4U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1089 lit.st[3U][0U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1090 lit.st[3U][1U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1091 lit.st[3U][2U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1092 lit.st[3U][3U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1093 lit.st[3U][4U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1094 lit.st[4U][0U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1095 lit.st[4U][1U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1096 lit.st[4U][2U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1097 lit.st[4U][3U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1098 lit.st[4U][4U] = libcrux_sha3_portable_keccak_zero_5a(); in libcrux_sha3_generic_keccak_new_1e_f4()
1105 - RATE= 72
1108 uint64_t (*s)[5U], Eurydice_slice blocks[1U]) { in libcrux_sha3_portable_keccak_load_block_2c()
1109 for (size_t i = (size_t)0U; i < (size_t)72U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_load_block_2c()
1111 uint8_t uu____0[8U]; in libcrux_sha3_portable_keccak_load_block_2c()
1115 Eurydice_slice_subslice2(blocks[0U], (size_t)8U * i0, in libcrux_sha3_portable_keccak_load_block_2c()
1116 (size_t)8U * i0 + (size_t)8U, uint8_t), in libcrux_sha3_portable_keccak_load_block_2c()
1117 Eurydice_slice, uint8_t[8U]); in libcrux_sha3_portable_keccak_load_block_2c()
1119 size_t uu____1 = i0 / (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c()
1120 size_t uu____2 = i0 % (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c()
1133 - RATE= 72
1136 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_load_block_5a_b8()
1137 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_5a_b8()
1139 Eurydice_slice copy_of_b[1U]; in libcrux_sha3_portable_keccak_load_block_5a_b8()
1140 memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccak_load_block_5a_b8()
1147 - LEFT= 36
1148 - RIGHT= 28
1158 - LEFT= 36
1159 - RIGHT= 28
1174 - LEFT= 36
1175 - RIGHT= 28
1185 - LEFT= 3
1186 - RIGHT= 61
1196 - LEFT= 3
1197 - RIGHT= 61
1212 - LEFT= 3
1213 - RIGHT= 61
1223 - LEFT= 41
1224 - RIGHT= 23
1234 - LEFT= 41
1235 - RIGHT= 23
1250 - LEFT= 41
1251 - RIGHT= 23
1261 - LEFT= 18
1262 - RIGHT= 46
1272 - LEFT= 18
1273 - RIGHT= 46
1288 - LEFT= 18
1289 - RIGHT= 46
1299 - LEFT= 1
1300 - RIGHT= 63
1315 - LEFT= 1
1316 - RIGHT= 63
1326 - LEFT= 44
1327 - RIGHT= 20
1337 - LEFT= 44
1338 - RIGHT= 20
1353 - LEFT= 44
1354 - RIGHT= 20
1364 - LEFT= 10
1365 - RIGHT= 54
1375 - LEFT= 10
1376 - RIGHT= 54
1391 - LEFT= 10
1392 - RIGHT= 54
1402 - LEFT= 45
1403 - RIGHT= 19
1413 - LEFT= 45
1414 - RIGHT= 19
1429 - LEFT= 45
1430 - RIGHT= 19
1440 - LEFT= 2
1441 - RIGHT= 62
1451 - LEFT= 2
1452 - RIGHT= 62
1467 - LEFT= 2
1468 - RIGHT= 62
1478 - LEFT= 62
1479 - RIGHT= 2
1489 - LEFT= 62
1490 - RIGHT= 2
1505 - LEFT= 62
1506 - RIGHT= 2
1516 - LEFT= 6
1517 - RIGHT= 58
1527 - LEFT= 6
1528 - RIGHT= 58
1543 - LEFT= 6
1544 - RIGHT= 58
1554 - LEFT= 43
1555 - RIGHT= 21
1565 - LEFT= 43
1566 - RIGHT= 21
1581 - LEFT= 43
1582 - RIGHT= 21
1592 - LEFT= 15
1593 - RIGHT= 49
1603 - LEFT= 15
1604 - RIGHT= 49
1619 - LEFT= 15
1620 - RIGHT= 49
1630 - LEFT= 61
1631 - RIGHT= 3
1641 - LEFT= 61
1642 - RIGHT= 3
1657 - LEFT= 61
1658 - RIGHT= 3
1668 - LEFT= 28
1669 - RIGHT= 36
1679 - LEFT= 28
1680 - RIGHT= 36
1695 - LEFT= 28
1696 - RIGHT= 36
1706 - LEFT= 55
1707 - RIGHT= 9
1717 - LEFT= 55
1718 - RIGHT= 9
1733 - LEFT= 55
1734 - RIGHT= 9
1744 - LEFT= 25
1745 - RIGHT= 39
1755 - LEFT= 25
1756 - RIGHT= 39
1771 - LEFT= 25
1772 - RIGHT= 39
1782 - LEFT= 21
1783 - RIGHT= 43
1793 - LEFT= 21
1794 - RIGHT= 43
1809 - LEFT= 21
1810 - RIGHT= 43
1820 - LEFT= 56
1821 - RIGHT= 8
1831 - LEFT= 56
1832 - RIGHT= 8
1847 - LEFT= 56
1848 - RIGHT= 8
1858 - LEFT= 27
1859 - RIGHT= 37
1869 - LEFT= 27
1870 - RIGHT= 37
1885 - LEFT= 27
1886 - RIGHT= 37
1896 - LEFT= 20
1897 - RIGHT= 44
1907 - LEFT= 20
1908 - RIGHT= 44
1923 - LEFT= 20
1924 - RIGHT= 44
1934 - LEFT= 39
1935 - RIGHT= 25
1945 - LEFT= 39
1946 - RIGHT= 25
1961 - LEFT= 39
1962 - RIGHT= 25
1972 - LEFT= 8
1973 - RIGHT= 56
1983 - LEFT= 8
1984 - RIGHT= 56
1999 - LEFT= 8
2000 - RIGHT= 56
2010 - LEFT= 14
2011 - RIGHT= 50
2021 - LEFT= 14
2022 - RIGHT= 50
2037 - LEFT= 14
2038 - RIGHT= 50
2049 - N= 1
2053 uint64_t c[5U] = { in libcrux_sha3_generic_keccak_theta_rho_16()
2054 libcrux_sha3_portable_keccak_xor5_5a(s->st[0U][0U], s->st[1U][0U], in libcrux_sha3_generic_keccak_theta_rho_16()
2055 s->st[2U][0U], s->st[3U][0U], in libcrux_sha3_generic_keccak_theta_rho_16()
2056 s->st[4U][0U]), in libcrux_sha3_generic_keccak_theta_rho_16()
2057 libcrux_sha3_portable_keccak_xor5_5a(s->st[0U][1U], s->st[1U][1U], in libcrux_sha3_generic_keccak_theta_rho_16()
2058 s->st[2U][1U], s->st[3U][1U], in libcrux_sha3_generic_keccak_theta_rho_16()
2059 s->st[4U][1U]), in libcrux_sha3_generic_keccak_theta_rho_16()
2060 libcrux_sha3_portable_keccak_xor5_5a(s->st[0U][2U], s->st[1U][2U], in libcrux_sha3_generic_keccak_theta_rho_16()
2061 s->st[2U][2U], s->st[3U][2U], in libcrux_sha3_generic_keccak_theta_rho_16()
2062 s->st[4U][2U]), in libcrux_sha3_generic_keccak_theta_rho_16()
2063 libcrux_sha3_portable_keccak_xor5_5a(s->st[0U][3U], s->st[1U][3U], in libcrux_sha3_generic_keccak_theta_rho_16()
2064 s->st[2U][3U], s->st[3U][3U], in libcrux_sha3_generic_keccak_theta_rho_16()
2065 s->st[4U][3U]), in libcrux_sha3_generic_keccak_theta_rho_16()
2066 libcrux_sha3_portable_keccak_xor5_5a(s->st[0U][4U], s->st[1U][4U], in libcrux_sha3_generic_keccak_theta_rho_16()
2067 s->st[2U][4U], s->st[3U][4U], in libcrux_sha3_generic_keccak_theta_rho_16()
2068 s->st[4U][4U])}; in libcrux_sha3_generic_keccak_theta_rho_16()
2070 c[((size_t)0U + (size_t)4U) % (size_t)5U], in libcrux_sha3_generic_keccak_theta_rho_16()
2071 c[((size_t)0U + (size_t)1U) % (size_t)5U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2073 c[((size_t)1U + (size_t)4U) % (size_t)5U], in libcrux_sha3_generic_keccak_theta_rho_16()
2074 c[((size_t)1U + (size_t)1U) % (size_t)5U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2076 c[((size_t)2U + (size_t)4U) % (size_t)5U], in libcrux_sha3_generic_keccak_theta_rho_16()
2077 c[((size_t)2U + (size_t)1U) % (size_t)5U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2079 c[((size_t)3U + (size_t)4U) % (size_t)5U], in libcrux_sha3_generic_keccak_theta_rho_16()
2080 c[((size_t)3U + (size_t)1U) % (size_t)5U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2081 uint64_t t[5U] = {uu____0, uu____1, uu____2, uu____3, in libcrux_sha3_generic_keccak_theta_rho_16()
2083 c[((size_t)4U + (size_t)4U) % (size_t)5U], in libcrux_sha3_generic_keccak_theta_rho_16()
2084 c[((size_t)4U + (size_t)1U) % (size_t)5U])}; in libcrux_sha3_generic_keccak_theta_rho_16()
2085 s->st[0U][0U] = libcrux_sha3_portable_keccak_xor_5a(s->st[0U][0U], t[0U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2086 s->st[1U][0U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2087 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb(s->st[1U][0U], t[0U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2088 s->st[2U][0U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2089 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb0(s->st[2U][0U], t[0U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2090 s->st[3U][0U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2091 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb1(s->st[3U][0U], t[0U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2092 s->st[4U][0U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2093 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb2(s->st[4U][0U], t[0U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2094 s->st[0U][1U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2095 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb3(s->st[0U][1U], t[1U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2096 s->st[1U][1U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2097 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb4(s->st[1U][1U], t[1U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2098 s->st[2U][1U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2099 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb5(s->st[2U][1U], t[1U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2100 s->st[3U][1U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2101 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb6(s->st[3U][1U], t[1U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2102 s->st[4U][1U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2103 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb7(s->st[4U][1U], t[1U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2104 s->st[0U][2U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2105 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb8(s->st[0U][2U], t[2U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2106 s->st[1U][2U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2107 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb9(s->st[1U][2U], t[2U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2108 s->st[2U][2U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2109 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb10(s->st[2U][2U], t[2U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2110 s->st[3U][2U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2111 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb11(s->st[3U][2U], t[2U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2112 s->st[4U][2U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2113 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb12(s->st[4U][2U], t[2U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2114 s->st[0U][3U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2115 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb13(s->st[0U][3U], t[3U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2116 s->st[1U][3U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2117 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb14(s->st[1U][3U], t[3U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2118 s->st[2U][3U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2119 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb15(s->st[2U][3U], t[3U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2120 s->st[3U][3U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2121 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb16(s->st[3U][3U], t[3U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2122 s->st[4U][3U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2123 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb17(s->st[4U][3U], t[3U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2124 s->st[0U][4U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2125 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb18(s->st[0U][4U], t[4U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2126 s->st[1U][4U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2127 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb19(s->st[1U][4U], t[4U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2128 s->st[2U][4U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2129 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb20(s->st[2U][4U], t[4U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2130 s->st[3U][4U] = in libcrux_sha3_generic_keccak_theta_rho_16()
2131 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb21(s->st[3U][4U], t[4U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2133 libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb22(s->st[4U][4U], t[4U]); in libcrux_sha3_generic_keccak_theta_rho_16()
2134 s->st[4U][4U] = uu____27; in libcrux_sha3_generic_keccak_theta_rho_16()
2141 - N= 1
2145 uint64_t old[5U][5U]; in libcrux_sha3_generic_keccak_pi_1d()
2146 memcpy(old, s->st, (size_t)5U * sizeof(uint64_t[5U])); in libcrux_sha3_generic_keccak_pi_1d()
2147 s->st[0U][1U] = old[1U][1U]; in libcrux_sha3_generic_keccak_pi_1d()
2148 s->st[0U][2U] = old[2U][2U]; in libcrux_sha3_generic_keccak_pi_1d()
2149 s->st[0U][3U] = old[3U][3U]; in libcrux_sha3_generic_keccak_pi_1d()
2150 s->st[0U][4U] = old[4U][4U]; in libcrux_sha3_generic_keccak_pi_1d()
2151 s->st[1U][0U] = old[0U][3U]; in libcrux_sha3_generic_keccak_pi_1d()
2152 s->st[1U][1U] = old[1U][4U]; in libcrux_sha3_generic_keccak_pi_1d()
2153 s->st[1U][2U] = old[2U][0U]; in libcrux_sha3_generic_keccak_pi_1d()
2154 s->st[1U][3U] = old[3U][1U]; in libcrux_sha3_generic_keccak_pi_1d()
2155 s->st[1U][4U] = old[4U][2U]; in libcrux_sha3_generic_keccak_pi_1d()
2156 s->st[2U][0U] = old[0U][1U]; in libcrux_sha3_generic_keccak_pi_1d()
2157 s->st[2U][1U] = old[1U][2U]; in libcrux_sha3_generic_keccak_pi_1d()
2158 s->st[2U][2U] = old[2U][3U]; in libcrux_sha3_generic_keccak_pi_1d()
2159 s->st[2U][3U] = old[3U][4U]; in libcrux_sha3_generic_keccak_pi_1d()
2160 s->st[2U][4U] = old[4U][0U]; in libcrux_sha3_generic_keccak_pi_1d()
2161 s->st[3U][0U] = old[0U][4U]; in libcrux_sha3_generic_keccak_pi_1d()
2162 s->st[3U][1U] = old[1U][0U]; in libcrux_sha3_generic_keccak_pi_1d()
2163 s->st[3U][2U] = old[2U][1U]; in libcrux_sha3_generic_keccak_pi_1d()
2164 s->st[3U][3U] = old[3U][2U]; in libcrux_sha3_generic_keccak_pi_1d()
2165 s->st[3U][4U] = old[4U][3U]; in libcrux_sha3_generic_keccak_pi_1d()
2166 s->st[4U][0U] = old[0U][2U]; in libcrux_sha3_generic_keccak_pi_1d()
2167 s->st[4U][1U] = old[1U][3U]; in libcrux_sha3_generic_keccak_pi_1d()
2168 s->st[4U][2U] = old[2U][4U]; in libcrux_sha3_generic_keccak_pi_1d()
2169 s->st[4U][3U] = old[3U][0U]; in libcrux_sha3_generic_keccak_pi_1d()
2170 s->st[4U][4U] = old[4U][1U]; in libcrux_sha3_generic_keccak_pi_1d()
2177 - N= 1
2181 uint64_t old[5U][5U]; in libcrux_sha3_generic_keccak_chi_12()
2182 memcpy(old, s->st, (size_t)5U * sizeof(uint64_t[5U])); in libcrux_sha3_generic_keccak_chi_12()
2183 for (size_t i0 = (size_t)0U; i0 < (size_t)5U; i0++) { in libcrux_sha3_generic_keccak_chi_12()
2185 for (size_t i = (size_t)0U; i < (size_t)5U; i++) { in libcrux_sha3_generic_keccak_chi_12()
2187 s->st[i1][j] = libcrux_sha3_portable_keccak_and_not_xor_5a( in libcrux_sha3_generic_keccak_chi_12()
2188 s->st[i1][j], old[i1][(j + (size_t)2U) % (size_t)5U], in libcrux_sha3_generic_keccak_chi_12()
2189 old[i1][(j + (size_t)1U) % (size_t)5U]); in libcrux_sha3_generic_keccak_chi_12()
2198 - N= 1
2202 s->st[0U][0U] = libcrux_sha3_portable_keccak_xor_constant_5a( in libcrux_sha3_generic_keccak_iota_62()
2203 s->st[0U][0U], libcrux_sha3_generic_keccak_ROUNDCONSTANTS[i]); in libcrux_sha3_generic_keccak_iota_62()
2210 - N= 1
2214 for (size_t i = (size_t)0U; i < (size_t)24U; i++) { in libcrux_sha3_generic_keccak_keccakf1600_21()
2227 - N= 1
2228 - RATE= 72
2231 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice blocks[1U]) { in libcrux_sha3_generic_keccak_absorb_block_df()
2232 uint64_t(*uu____0)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_block_df()
2233 Eurydice_slice uu____1[1U]; in libcrux_sha3_generic_keccak_absorb_block_df()
2234 memcpy(uu____1, blocks, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_block_df()
2242 - RATE= 72
2245 uint64_t (*s)[5U], uint8_t blocks[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_df()
2246 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_load_block_full_df()
2247 Eurydice_array_to_slice((size_t)200U, blocks[0U], uint8_t)}; in libcrux_sha3_portable_keccak_load_block_full_df()
2258 - RATE= 72
2261 uint64_t (*a)[5U], uint8_t b[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_5a_d2()
2262 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_full_5a_d2()
2264 uint8_t copy_of_b[1U][200U]; in libcrux_sha3_portable_keccak_load_block_full_5a_d2()
2265 memcpy(copy_of_b, b, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_portable_keccak_load_block_full_5a_d2()
2273 - N= 1
2274 - RATE= 72
2275 - DELIM= 6
2278 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice last[1U]) { in libcrux_sha3_generic_keccak_absorb_final_c7()
2279 size_t last_len = Eurydice_slice_len(last[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c7()
2280 uint8_t blocks[1U][200U] = {{0U}}; in libcrux_sha3_generic_keccak_absorb_final_c7()
2281 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_final_c7()
2283 if (last_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_c7()
2285 blocks[i0], (size_t)0U, last_len, uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c7()
2288 blocks[i0][last_len] = 6U; in libcrux_sha3_generic_keccak_absorb_final_c7()
2290 size_t uu____2 = (size_t)72U - (size_t)1U; in libcrux_sha3_generic_keccak_absorb_final_c7()
2291 blocks[uu____1][uu____2] = (uint32_t)blocks[uu____1][uu____2] | 128U; in libcrux_sha3_generic_keccak_absorb_final_c7()
2293 uint64_t(*uu____3)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_final_c7()
2294 uint8_t uu____4[1U][200U]; in libcrux_sha3_generic_keccak_absorb_final_c7()
2295 memcpy(uu____4, blocks, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_generic_keccak_absorb_final_c7()
2303 - RATE= 72
2306 uint64_t (*s)[5U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccak_store_block_58()
2307 for (size_t i = (size_t)0U; i < (size_t)72U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_store_block_58()
2310 out[0U], (size_t)8U * i0, (size_t)8U * i0 + (size_t)8U, uint8_t); in libcrux_sha3_portable_keccak_store_block_58()
2311 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_block_58()
2312 core_num__u64_9__to_le_bytes(s[i0 / (size_t)5U][i0 % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_block_58()
2314 uu____0, Eurydice_array_to_slice((size_t)8U, ret, uint8_t), uint8_t); in libcrux_sha3_portable_keccak_store_block_58()
2321 - RATE= 72
2324 uint64_t (*s)[5U], uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_2d()
2325 uint8_t out[200U] = {0U}; in libcrux_sha3_portable_keccak_store_block_full_2d()
2326 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_store_block_full_2d()
2327 Eurydice_array_to_slice((size_t)200U, out, uint8_t)}; in libcrux_sha3_portable_keccak_store_block_full_2d()
2330 uint8_t copy_of_out[200U]; in libcrux_sha3_portable_keccak_store_block_full_2d()
2331 memcpy(copy_of_out, out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d()
2332 memcpy(ret[0U], copy_of_out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d()
2342 - RATE= 72
2345 uint64_t (*a)[5U], uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_5a_29()
2353 - N= 1
2354 - RATE= 72
2358 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c5()
2359 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c5()
2360 libcrux_sha3_portable_keccak_store_block_full_5a_29(s->st, b); in libcrux_sha3_generic_keccak_squeeze_first_and_last_c5()
2361 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c5()
2366 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c5()
2370 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_first_and_last_c5()
2383 - RATE= 72
2386 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_store_block_5a_59()
2394 - N= 1
2395 - RATE= 72
2398 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_block_84()
2399 libcrux_sha3_portable_keccak_store_block_5a_59(s->st, out); in libcrux_sha3_generic_keccak_squeeze_first_block_84()
2406 - N= 1
2407 - RATE= 72
2410 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_next_block_fc()
2412 libcrux_sha3_portable_keccak_store_block_5a_59(s->st, out); in libcrux_sha3_generic_keccak_squeeze_next_block_fc()
2419 - N= 1
2420 - RATE= 72
2423 libcrux_sha3_generic_keccak_KeccakState_48 s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_last_cf()
2425 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_last_cf()
2427 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_last_cf()
2432 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_last_cf()
2436 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_last_cf()
2446 - N= 1
2447 - RATE= 72
2448 - DELIM= 6
2451 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_keccak_e9()
2454 for (size_t i = (size_t)0U; in libcrux_sha3_generic_keccak_keccak_e9()
2455 i < Eurydice_slice_len(data[0U], uint8_t) / (size_t)72U; i++) { in libcrux_sha3_generic_keccak_keccak_e9()
2459 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e9()
2460 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e9()
2461 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e9()
2462 libcrux_sha3_portable_keccak_slice_n_5a(copy_of_data, i0 * (size_t)72U, in libcrux_sha3_generic_keccak_keccak_e9()
2463 (size_t)72U, ret); in libcrux_sha3_generic_keccak_keccak_e9()
2466 size_t rem = Eurydice_slice_len(data[0U], uint8_t) % (size_t)72U; in libcrux_sha3_generic_keccak_keccak_e9()
2469 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e9()
2470 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e9()
2471 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e9()
2473 copy_of_data, Eurydice_slice_len(data[0U], uint8_t) - rem, rem, ret); in libcrux_sha3_generic_keccak_keccak_e9()
2475 size_t outlen = Eurydice_slice_len(out[0U], uint8_t); in libcrux_sha3_generic_keccak_keccak_e9()
2476 size_t blocks = outlen / (size_t)72U; in libcrux_sha3_generic_keccak_keccak_e9()
2477 size_t last = outlen - outlen % (size_t)72U; in libcrux_sha3_generic_keccak_keccak_e9()
2478 if (blocks == (size_t)0U) { in libcrux_sha3_generic_keccak_keccak_e9()
2482 libcrux_sha3_portable_keccak_split_at_mut_n_5a(out, (size_t)72U); in libcrux_sha3_generic_keccak_keccak_e9()
2483 Eurydice_slice o0[1U]; in libcrux_sha3_generic_keccak_keccak_e9()
2484 memcpy(o0, uu____4.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e9()
2485 Eurydice_slice o1[1U]; in libcrux_sha3_generic_keccak_keccak_e9()
2486 memcpy(o1, uu____4.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e9()
2490 (CLITERAL(core_ops_range_Range_b3){.start = (size_t)1U, in libcrux_sha3_generic_keccak_keccak_e9()
2500 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o1, (size_t)72U); in libcrux_sha3_generic_keccak_keccak_e9()
2501 Eurydice_slice o[1U]; in libcrux_sha3_generic_keccak_keccak_e9()
2502 memcpy(o, uu____5.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e9()
2503 Eurydice_slice orest[1U]; in libcrux_sha3_generic_keccak_keccak_e9()
2504 memcpy(orest, uu____5.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e9()
2506 memcpy(o1, orest, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e9()
2518 - RATE= 72
2519 - DELIM= 6
2522 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccakx1_ce()
2524 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_portable_keccakx1_ce()
2525 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccakx1_ce()
2534 Eurydice_slice buf0[1U] = {data}; in libcrux_sha3_portable_sha512()
2535 Eurydice_slice buf[1U] = {digest}; in libcrux_sha3_portable_sha512()
2542 - RATE= 136
2545 uint64_t (*s)[5U], Eurydice_slice blocks[1U]) { in libcrux_sha3_portable_keccak_load_block_2c0()
2546 for (size_t i = (size_t)0U; i < (size_t)136U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_load_block_2c0()
2548 uint8_t uu____0[8U]; in libcrux_sha3_portable_keccak_load_block_2c0()
2552 Eurydice_slice_subslice2(blocks[0U], (size_t)8U * i0, in libcrux_sha3_portable_keccak_load_block_2c0()
2553 (size_t)8U * i0 + (size_t)8U, uint8_t), in libcrux_sha3_portable_keccak_load_block_2c0()
2554 Eurydice_slice, uint8_t[8U]); in libcrux_sha3_portable_keccak_load_block_2c0()
2556 size_t uu____1 = i0 / (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c0()
2557 size_t uu____2 = i0 % (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c0()
2570 - RATE= 136
2573 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_load_block_5a_b80()
2574 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_5a_b80()
2576 Eurydice_slice copy_of_b[1U]; in libcrux_sha3_portable_keccak_load_block_5a_b80()
2577 memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccak_load_block_5a_b80()
2585 - N= 1
2586 - RATE= 136
2589 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice blocks[1U]) { in libcrux_sha3_generic_keccak_absorb_block_df0()
2590 uint64_t(*uu____0)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_block_df0()
2591 Eurydice_slice uu____1[1U]; in libcrux_sha3_generic_keccak_absorb_block_df0()
2592 memcpy(uu____1, blocks, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_block_df0()
2600 - RATE= 136
2603 uint64_t (*s)[5U], uint8_t blocks[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_df0()
2604 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_load_block_full_df0()
2605 Eurydice_array_to_slice((size_t)200U, blocks[0U], uint8_t)}; in libcrux_sha3_portable_keccak_load_block_full_df0()
2616 - RATE= 136
2619 uint64_t (*a)[5U], uint8_t b[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_5a_d20()
2620 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_full_5a_d20()
2622 uint8_t copy_of_b[1U][200U]; in libcrux_sha3_portable_keccak_load_block_full_5a_d20()
2623 memcpy(copy_of_b, b, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_portable_keccak_load_block_full_5a_d20()
2631 - N= 1
2632 - RATE= 136
2633 - DELIM= 6
2636 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice last[1U]) { in libcrux_sha3_generic_keccak_absorb_final_c70()
2637 size_t last_len = Eurydice_slice_len(last[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c70()
2638 uint8_t blocks[1U][200U] = {{0U}}; in libcrux_sha3_generic_keccak_absorb_final_c70()
2639 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_final_c70()
2641 if (last_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_c70()
2643 blocks[i0], (size_t)0U, last_len, uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c70()
2646 blocks[i0][last_len] = 6U; in libcrux_sha3_generic_keccak_absorb_final_c70()
2648 size_t uu____2 = (size_t)136U - (size_t)1U; in libcrux_sha3_generic_keccak_absorb_final_c70()
2649 blocks[uu____1][uu____2] = (uint32_t)blocks[uu____1][uu____2] | 128U; in libcrux_sha3_generic_keccak_absorb_final_c70()
2651 uint64_t(*uu____3)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_final_c70()
2652 uint8_t uu____4[1U][200U]; in libcrux_sha3_generic_keccak_absorb_final_c70()
2653 memcpy(uu____4, blocks, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_generic_keccak_absorb_final_c70()
2661 - RATE= 136
2664 uint64_t (*s)[5U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccak_store_block_580()
2665 for (size_t i = (size_t)0U; i < (size_t)136U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_store_block_580()
2668 out[0U], (size_t)8U * i0, (size_t)8U * i0 + (size_t)8U, uint8_t); in libcrux_sha3_portable_keccak_store_block_580()
2669 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_block_580()
2670 core_num__u64_9__to_le_bytes(s[i0 / (size_t)5U][i0 % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_block_580()
2672 uu____0, Eurydice_array_to_slice((size_t)8U, ret, uint8_t), uint8_t); in libcrux_sha3_portable_keccak_store_block_580()
2679 - RATE= 136
2682 uint64_t (*s)[5U], uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_2d0()
2683 uint8_t out[200U] = {0U}; in libcrux_sha3_portable_keccak_store_block_full_2d0()
2684 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_store_block_full_2d0()
2685 Eurydice_array_to_slice((size_t)200U, out, uint8_t)}; in libcrux_sha3_portable_keccak_store_block_full_2d0()
2688 uint8_t copy_of_out[200U]; in libcrux_sha3_portable_keccak_store_block_full_2d0()
2689 memcpy(copy_of_out, out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d0()
2690 memcpy(ret[0U], copy_of_out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d0()
2700 - RATE= 136
2703 libcrux_sha3_portable_keccak_store_block_full_5a_290(uint64_t (*a)[5U], in libcrux_sha3_portable_keccak_store_block_full_5a_290()
2704 uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_5a_290()
2712 - N= 1
2713 - RATE= 136
2717 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c50()
2718 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c50()
2719 libcrux_sha3_portable_keccak_store_block_full_5a_290(s->st, b); in libcrux_sha3_generic_keccak_squeeze_first_and_last_c50()
2720 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c50()
2725 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c50()
2729 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_first_and_last_c50()
2742 - RATE= 136
2745 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_store_block_5a_590()
2753 - N= 1
2754 - RATE= 136
2757 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_block_840()
2758 libcrux_sha3_portable_keccak_store_block_5a_590(s->st, out); in libcrux_sha3_generic_keccak_squeeze_first_block_840()
2765 - N= 1
2766 - RATE= 136
2769 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_next_block_fc0()
2771 libcrux_sha3_portable_keccak_store_block_5a_590(s->st, out); in libcrux_sha3_generic_keccak_squeeze_next_block_fc0()
2778 - N= 1
2779 - RATE= 136
2782 libcrux_sha3_generic_keccak_KeccakState_48 s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_last_cf0()
2784 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_last_cf0()
2786 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_last_cf0()
2791 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_last_cf0()
2795 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_last_cf0()
2805 - N= 1
2806 - RATE= 136
2807 - DELIM= 6
2810 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_keccak_e90()
2813 for (size_t i = (size_t)0U; in libcrux_sha3_generic_keccak_keccak_e90()
2814 i < Eurydice_slice_len(data[0U], uint8_t) / (size_t)136U; i++) { in libcrux_sha3_generic_keccak_keccak_e90()
2818 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e90()
2819 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e90()
2820 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e90()
2821 libcrux_sha3_portable_keccak_slice_n_5a(copy_of_data, i0 * (size_t)136U, in libcrux_sha3_generic_keccak_keccak_e90()
2822 (size_t)136U, ret); in libcrux_sha3_generic_keccak_keccak_e90()
2825 size_t rem = Eurydice_slice_len(data[0U], uint8_t) % (size_t)136U; in libcrux_sha3_generic_keccak_keccak_e90()
2828 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e90()
2829 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e90()
2830 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e90()
2832 copy_of_data, Eurydice_slice_len(data[0U], uint8_t) - rem, rem, ret); in libcrux_sha3_generic_keccak_keccak_e90()
2834 size_t outlen = Eurydice_slice_len(out[0U], uint8_t); in libcrux_sha3_generic_keccak_keccak_e90()
2835 size_t blocks = outlen / (size_t)136U; in libcrux_sha3_generic_keccak_keccak_e90()
2836 size_t last = outlen - outlen % (size_t)136U; in libcrux_sha3_generic_keccak_keccak_e90()
2837 if (blocks == (size_t)0U) { in libcrux_sha3_generic_keccak_keccak_e90()
2841 libcrux_sha3_portable_keccak_split_at_mut_n_5a(out, (size_t)136U); in libcrux_sha3_generic_keccak_keccak_e90()
2842 Eurydice_slice o0[1U]; in libcrux_sha3_generic_keccak_keccak_e90()
2843 memcpy(o0, uu____4.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e90()
2844 Eurydice_slice o1[1U]; in libcrux_sha3_generic_keccak_keccak_e90()
2845 memcpy(o1, uu____4.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e90()
2849 (CLITERAL(core_ops_range_Range_b3){.start = (size_t)1U, in libcrux_sha3_generic_keccak_keccak_e90()
2859 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o1, (size_t)136U); in libcrux_sha3_generic_keccak_keccak_e90()
2860 Eurydice_slice o[1U]; in libcrux_sha3_generic_keccak_keccak_e90()
2861 memcpy(o, uu____5.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e90()
2862 Eurydice_slice orest[1U]; in libcrux_sha3_generic_keccak_keccak_e90()
2863 memcpy(orest, uu____5.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e90()
2865 memcpy(o1, orest, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e90()
2877 - RATE= 136
2878 - DELIM= 6
2881 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccakx1_ce0()
2883 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_portable_keccakx1_ce0()
2884 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccakx1_ce0()
2893 Eurydice_slice buf0[1U] = {data}; in libcrux_sha3_portable_sha256()
2894 Eurydice_slice buf[1U] = {digest}; in libcrux_sha3_portable_sha256()
2902 - N= 1
2903 - RATE= 136
2904 - DELIM= 31
2907 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice last[1U]) { in libcrux_sha3_generic_keccak_absorb_final_c71()
2908 size_t last_len = Eurydice_slice_len(last[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c71()
2909 uint8_t blocks[1U][200U] = {{0U}}; in libcrux_sha3_generic_keccak_absorb_final_c71()
2910 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_final_c71()
2912 if (last_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_c71()
2914 blocks[i0], (size_t)0U, last_len, uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c71()
2917 blocks[i0][last_len] = 31U; in libcrux_sha3_generic_keccak_absorb_final_c71()
2919 size_t uu____2 = (size_t)136U - (size_t)1U; in libcrux_sha3_generic_keccak_absorb_final_c71()
2920 blocks[uu____1][uu____2] = (uint32_t)blocks[uu____1][uu____2] | 128U; in libcrux_sha3_generic_keccak_absorb_final_c71()
2922 uint64_t(*uu____3)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_final_c71()
2923 uint8_t uu____4[1U][200U]; in libcrux_sha3_generic_keccak_absorb_final_c71()
2924 memcpy(uu____4, blocks, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_generic_keccak_absorb_final_c71()
2933 - N= 1
2934 - RATE= 136
2935 - DELIM= 31
2938 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_keccak_e91()
2941 for (size_t i = (size_t)0U; in libcrux_sha3_generic_keccak_keccak_e91()
2942 i < Eurydice_slice_len(data[0U], uint8_t) / (size_t)136U; i++) { in libcrux_sha3_generic_keccak_keccak_e91()
2946 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e91()
2947 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e91()
2948 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e91()
2949 libcrux_sha3_portable_keccak_slice_n_5a(copy_of_data, i0 * (size_t)136U, in libcrux_sha3_generic_keccak_keccak_e91()
2950 (size_t)136U, ret); in libcrux_sha3_generic_keccak_keccak_e91()
2953 size_t rem = Eurydice_slice_len(data[0U], uint8_t) % (size_t)136U; in libcrux_sha3_generic_keccak_keccak_e91()
2956 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e91()
2957 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e91()
2958 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e91()
2960 copy_of_data, Eurydice_slice_len(data[0U], uint8_t) - rem, rem, ret); in libcrux_sha3_generic_keccak_keccak_e91()
2962 size_t outlen = Eurydice_slice_len(out[0U], uint8_t); in libcrux_sha3_generic_keccak_keccak_e91()
2963 size_t blocks = outlen / (size_t)136U; in libcrux_sha3_generic_keccak_keccak_e91()
2964 size_t last = outlen - outlen % (size_t)136U; in libcrux_sha3_generic_keccak_keccak_e91()
2965 if (blocks == (size_t)0U) { in libcrux_sha3_generic_keccak_keccak_e91()
2969 libcrux_sha3_portable_keccak_split_at_mut_n_5a(out, (size_t)136U); in libcrux_sha3_generic_keccak_keccak_e91()
2970 Eurydice_slice o0[1U]; in libcrux_sha3_generic_keccak_keccak_e91()
2971 memcpy(o0, uu____4.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e91()
2972 Eurydice_slice o1[1U]; in libcrux_sha3_generic_keccak_keccak_e91()
2973 memcpy(o1, uu____4.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e91()
2977 (CLITERAL(core_ops_range_Range_b3){.start = (size_t)1U, in libcrux_sha3_generic_keccak_keccak_e91()
2987 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o1, (size_t)136U); in libcrux_sha3_generic_keccak_keccak_e91()
2988 Eurydice_slice o[1U]; in libcrux_sha3_generic_keccak_keccak_e91()
2989 memcpy(o, uu____5.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e91()
2990 Eurydice_slice orest[1U]; in libcrux_sha3_generic_keccak_keccak_e91()
2991 memcpy(orest, uu____5.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e91()
2993 memcpy(o1, orest, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e91()
3005 - RATE= 136
3006 - DELIM= 31
3009 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccakx1_ce1()
3011 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_portable_keccakx1_ce1()
3012 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccakx1_ce1()
3021 Eurydice_slice buf0[1U] = {data}; in libcrux_sha3_portable_shake256()
3022 Eurydice_slice buf[1U] = {digest}; in libcrux_sha3_portable_shake256()
3030 Create a new SHAKE-128 state object.
3040 - RATE= 168
3043 uint64_t (*s)[5U], Eurydice_slice blocks[1U]) { in libcrux_sha3_portable_keccak_load_block_2c1()
3044 for (size_t i = (size_t)0U; i < (size_t)168U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_load_block_2c1()
3046 uint8_t uu____0[8U]; in libcrux_sha3_portable_keccak_load_block_2c1()
3050 Eurydice_slice_subslice2(blocks[0U], (size_t)8U * i0, in libcrux_sha3_portable_keccak_load_block_2c1()
3051 (size_t)8U * i0 + (size_t)8U, uint8_t), in libcrux_sha3_portable_keccak_load_block_2c1()
3052 Eurydice_slice, uint8_t[8U]); in libcrux_sha3_portable_keccak_load_block_2c1()
3054 size_t uu____1 = i0 / (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c1()
3055 size_t uu____2 = i0 % (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c1()
3064 - RATE= 168
3067 uint64_t (*s)[5U], uint8_t blocks[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_df1()
3068 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_load_block_full_df1()
3069 Eurydice_array_to_slice((size_t)200U, blocks[0U], uint8_t)}; in libcrux_sha3_portable_keccak_load_block_full_df1()
3080 - RATE= 168
3083 uint64_t (*a)[5U], uint8_t b[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_5a_d21()
3084 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_full_5a_d21()
3086 uint8_t copy_of_b[1U][200U]; in libcrux_sha3_portable_keccak_load_block_full_5a_d21()
3087 memcpy(copy_of_b, b, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_portable_keccak_load_block_full_5a_d21()
3095 - N= 1
3096 - RATE= 168
3097 - DELIM= 31
3100 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice last[1U]) { in libcrux_sha3_generic_keccak_absorb_final_c72()
3101 size_t last_len = Eurydice_slice_len(last[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c72()
3102 uint8_t blocks[1U][200U] = {{0U}}; in libcrux_sha3_generic_keccak_absorb_final_c72()
3103 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_final_c72()
3105 if (last_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_c72()
3107 blocks[i0], (size_t)0U, last_len, uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c72()
3110 blocks[i0][last_len] = 31U; in libcrux_sha3_generic_keccak_absorb_final_c72()
3112 size_t uu____2 = (size_t)168U - (size_t)1U; in libcrux_sha3_generic_keccak_absorb_final_c72()
3113 blocks[uu____1][uu____2] = (uint32_t)blocks[uu____1][uu____2] | 128U; in libcrux_sha3_generic_keccak_absorb_final_c72()
3115 uint64_t(*uu____3)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_final_c72()
3116 uint8_t uu____4[1U][200U]; in libcrux_sha3_generic_keccak_absorb_final_c72()
3117 memcpy(uu____4, blocks, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_generic_keccak_absorb_final_c72()
3128 Eurydice_slice buf[1U] = {data0}; in libcrux_sha3_portable_incremental_shake128_absorb_final()
3135 - RATE= 168
3138 uint64_t (*s)[5U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccak_store_block_581()
3139 for (size_t i = (size_t)0U; i < (size_t)168U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_store_block_581()
3142 out[0U], (size_t)8U * i0, (size_t)8U * i0 + (size_t)8U, uint8_t); in libcrux_sha3_portable_keccak_store_block_581()
3143 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_block_581()
3144 core_num__u64_9__to_le_bytes(s[i0 / (size_t)5U][i0 % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_block_581()
3146 uu____0, Eurydice_array_to_slice((size_t)8U, ret, uint8_t), uint8_t); in libcrux_sha3_portable_keccak_store_block_581()
3157 - RATE= 168
3160 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_store_block_5a_591()
3168 - N= 1
3169 - RATE= 168
3172 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_next_block_fc1()
3174 libcrux_sha3_portable_keccak_store_block_5a_591(s->st, out); in libcrux_sha3_generic_keccak_squeeze_next_block_fc1()
3183 Eurydice_slice buf[1U] = {out0}; in libcrux_sha3_portable_incremental_shake128_squeeze_next_block()
3191 - N= 1
3192 - RATE= 168
3195 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_block_841()
3196 libcrux_sha3_portable_keccak_store_block_5a_591(s->st, out); in libcrux_sha3_generic_keccak_squeeze_first_block_841()
3203 - N= 1
3204 - RATE= 168
3208 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3210 libcrux_sha3_portable_keccak_split_at_mut_n_5a(out, (size_t)168U); in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3211 Eurydice_slice o0[1U]; in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3212 memcpy(o0, uu____0.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3213 Eurydice_slice o10[1U]; in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3214 memcpy(o10, uu____0.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3217 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o10, (size_t)168U); in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3218 Eurydice_slice o1[1U]; in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3219 memcpy(o1, uu____1.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3220 Eurydice_slice o2[1U]; in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3221 memcpy(o2, uu____1.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_three_blocks_cc()
3232 Eurydice_slice buf[1U] = {out0}; in libcrux_sha3_portable_incremental_shake128_squeeze_first_three_blocks()
3250 uu____0 = (size_t)28U; in libcrux_sha3_digest_size()
3254 uu____0 = (size_t)32U; in libcrux_sha3_digest_size()
3258 uu____0 = (size_t)48U; in libcrux_sha3_digest_size()
3262 uu____0 = (size_t)64U; in libcrux_sha3_digest_size()
3268 KRML_HOST_EXIT(253U); in libcrux_sha3_digest_size()
3277 - RATE= 144
3280 uint64_t (*s)[5U], Eurydice_slice blocks[1U]) { in libcrux_sha3_portable_keccak_load_block_2c2()
3281 for (size_t i = (size_t)0U; i < (size_t)144U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_load_block_2c2()
3283 uint8_t uu____0[8U]; in libcrux_sha3_portable_keccak_load_block_2c2()
3287 Eurydice_slice_subslice2(blocks[0U], (size_t)8U * i0, in libcrux_sha3_portable_keccak_load_block_2c2()
3288 (size_t)8U * i0 + (size_t)8U, uint8_t), in libcrux_sha3_portable_keccak_load_block_2c2()
3289 Eurydice_slice, uint8_t[8U]); in libcrux_sha3_portable_keccak_load_block_2c2()
3291 size_t uu____1 = i0 / (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c2()
3292 size_t uu____2 = i0 % (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c2()
3305 - RATE= 144
3308 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_load_block_5a_b81()
3309 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_5a_b81()
3311 Eurydice_slice copy_of_b[1U]; in libcrux_sha3_portable_keccak_load_block_5a_b81()
3312 memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccak_load_block_5a_b81()
3320 - N= 1
3321 - RATE= 144
3324 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice blocks[1U]) { in libcrux_sha3_generic_keccak_absorb_block_df1()
3325 uint64_t(*uu____0)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_block_df1()
3326 Eurydice_slice uu____1[1U]; in libcrux_sha3_generic_keccak_absorb_block_df1()
3327 memcpy(uu____1, blocks, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_block_df1()
3335 - RATE= 144
3338 uint64_t (*s)[5U], uint8_t blocks[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_df2()
3339 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_load_block_full_df2()
3340 Eurydice_array_to_slice((size_t)200U, blocks[0U], uint8_t)}; in libcrux_sha3_portable_keccak_load_block_full_df2()
3351 - RATE= 144
3354 uint64_t (*a)[5U], uint8_t b[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_5a_d22()
3355 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_full_5a_d22()
3357 uint8_t copy_of_b[1U][200U]; in libcrux_sha3_portable_keccak_load_block_full_5a_d22()
3358 memcpy(copy_of_b, b, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_portable_keccak_load_block_full_5a_d22()
3366 - N= 1
3367 - RATE= 144
3368 - DELIM= 6
3371 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice last[1U]) { in libcrux_sha3_generic_keccak_absorb_final_c73()
3372 size_t last_len = Eurydice_slice_len(last[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c73()
3373 uint8_t blocks[1U][200U] = {{0U}}; in libcrux_sha3_generic_keccak_absorb_final_c73()
3374 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_final_c73()
3376 if (last_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_c73()
3378 blocks[i0], (size_t)0U, last_len, uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c73()
3381 blocks[i0][last_len] = 6U; in libcrux_sha3_generic_keccak_absorb_final_c73()
3383 size_t uu____2 = (size_t)144U - (size_t)1U; in libcrux_sha3_generic_keccak_absorb_final_c73()
3384 blocks[uu____1][uu____2] = (uint32_t)blocks[uu____1][uu____2] | 128U; in libcrux_sha3_generic_keccak_absorb_final_c73()
3386 uint64_t(*uu____3)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_final_c73()
3387 uint8_t uu____4[1U][200U]; in libcrux_sha3_generic_keccak_absorb_final_c73()
3388 memcpy(uu____4, blocks, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_generic_keccak_absorb_final_c73()
3396 - RATE= 144
3399 uint64_t (*s)[5U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccak_store_block_582()
3400 for (size_t i = (size_t)0U; i < (size_t)144U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_store_block_582()
3403 out[0U], (size_t)8U * i0, (size_t)8U * i0 + (size_t)8U, uint8_t); in libcrux_sha3_portable_keccak_store_block_582()
3404 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_block_582()
3405 core_num__u64_9__to_le_bytes(s[i0 / (size_t)5U][i0 % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_block_582()
3407 uu____0, Eurydice_array_to_slice((size_t)8U, ret, uint8_t), uint8_t); in libcrux_sha3_portable_keccak_store_block_582()
3414 - RATE= 144
3417 uint64_t (*s)[5U], uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_2d1()
3418 uint8_t out[200U] = {0U}; in libcrux_sha3_portable_keccak_store_block_full_2d1()
3419 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_store_block_full_2d1()
3420 Eurydice_array_to_slice((size_t)200U, out, uint8_t)}; in libcrux_sha3_portable_keccak_store_block_full_2d1()
3423 uint8_t copy_of_out[200U]; in libcrux_sha3_portable_keccak_store_block_full_2d1()
3424 memcpy(copy_of_out, out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d1()
3425 memcpy(ret[0U], copy_of_out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d1()
3435 - RATE= 144
3438 libcrux_sha3_portable_keccak_store_block_full_5a_291(uint64_t (*a)[5U], in libcrux_sha3_portable_keccak_store_block_full_5a_291()
3439 uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_5a_291()
3447 - N= 1
3448 - RATE= 144
3452 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c51()
3453 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c51()
3454 libcrux_sha3_portable_keccak_store_block_full_5a_291(s->st, b); in libcrux_sha3_generic_keccak_squeeze_first_and_last_c51()
3455 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c51()
3460 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c51()
3464 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_first_and_last_c51()
3477 - RATE= 144
3480 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_store_block_5a_592()
3488 - N= 1
3489 - RATE= 144
3492 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_block_842()
3493 libcrux_sha3_portable_keccak_store_block_5a_592(s->st, out); in libcrux_sha3_generic_keccak_squeeze_first_block_842()
3500 - N= 1
3501 - RATE= 144
3504 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_next_block_fc2()
3506 libcrux_sha3_portable_keccak_store_block_5a_592(s->st, out); in libcrux_sha3_generic_keccak_squeeze_next_block_fc2()
3513 - N= 1
3514 - RATE= 144
3517 libcrux_sha3_generic_keccak_KeccakState_48 s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_last_cf1()
3519 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_last_cf1()
3521 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_last_cf1()
3526 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_last_cf1()
3530 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_last_cf1()
3540 - N= 1
3541 - RATE= 144
3542 - DELIM= 6
3545 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_keccak_e92()
3548 for (size_t i = (size_t)0U; in libcrux_sha3_generic_keccak_keccak_e92()
3549 i < Eurydice_slice_len(data[0U], uint8_t) / (size_t)144U; i++) { in libcrux_sha3_generic_keccak_keccak_e92()
3553 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e92()
3554 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e92()
3555 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e92()
3556 libcrux_sha3_portable_keccak_slice_n_5a(copy_of_data, i0 * (size_t)144U, in libcrux_sha3_generic_keccak_keccak_e92()
3557 (size_t)144U, ret); in libcrux_sha3_generic_keccak_keccak_e92()
3560 size_t rem = Eurydice_slice_len(data[0U], uint8_t) % (size_t)144U; in libcrux_sha3_generic_keccak_keccak_e92()
3563 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e92()
3564 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e92()
3565 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e92()
3567 copy_of_data, Eurydice_slice_len(data[0U], uint8_t) - rem, rem, ret); in libcrux_sha3_generic_keccak_keccak_e92()
3569 size_t outlen = Eurydice_slice_len(out[0U], uint8_t); in libcrux_sha3_generic_keccak_keccak_e92()
3570 size_t blocks = outlen / (size_t)144U; in libcrux_sha3_generic_keccak_keccak_e92()
3571 size_t last = outlen - outlen % (size_t)144U; in libcrux_sha3_generic_keccak_keccak_e92()
3572 if (blocks == (size_t)0U) { in libcrux_sha3_generic_keccak_keccak_e92()
3576 libcrux_sha3_portable_keccak_split_at_mut_n_5a(out, (size_t)144U); in libcrux_sha3_generic_keccak_keccak_e92()
3577 Eurydice_slice o0[1U]; in libcrux_sha3_generic_keccak_keccak_e92()
3578 memcpy(o0, uu____4.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e92()
3579 Eurydice_slice o1[1U]; in libcrux_sha3_generic_keccak_keccak_e92()
3580 memcpy(o1, uu____4.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e92()
3584 (CLITERAL(core_ops_range_Range_b3){.start = (size_t)1U, in libcrux_sha3_generic_keccak_keccak_e92()
3594 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o1, (size_t)144U); in libcrux_sha3_generic_keccak_keccak_e92()
3595 Eurydice_slice o[1U]; in libcrux_sha3_generic_keccak_keccak_e92()
3596 memcpy(o, uu____5.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e92()
3597 Eurydice_slice orest[1U]; in libcrux_sha3_generic_keccak_keccak_e92()
3598 memcpy(orest, uu____5.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e92()
3600 memcpy(o1, orest, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e92()
3612 - RATE= 144
3613 - DELIM= 6
3616 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccakx1_ce2()
3618 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_portable_keccakx1_ce2()
3619 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccakx1_ce2()
3628 Eurydice_slice buf0[1U] = {data}; in libcrux_sha3_portable_sha224()
3629 Eurydice_slice buf[1U] = {digest}; in libcrux_sha3_portable_sha224()
3636 - RATE= 104
3639 uint64_t (*s)[5U], Eurydice_slice blocks[1U]) { in libcrux_sha3_portable_keccak_load_block_2c3()
3640 for (size_t i = (size_t)0U; i < (size_t)104U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_load_block_2c3()
3642 uint8_t uu____0[8U]; in libcrux_sha3_portable_keccak_load_block_2c3()
3646 Eurydice_slice_subslice2(blocks[0U], (size_t)8U * i0, in libcrux_sha3_portable_keccak_load_block_2c3()
3647 (size_t)8U * i0 + (size_t)8U, uint8_t), in libcrux_sha3_portable_keccak_load_block_2c3()
3648 Eurydice_slice, uint8_t[8U]); in libcrux_sha3_portable_keccak_load_block_2c3()
3650 size_t uu____1 = i0 / (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c3()
3651 size_t uu____2 = i0 % (size_t)5U; in libcrux_sha3_portable_keccak_load_block_2c3()
3664 - RATE= 104
3667 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_load_block_5a_b82()
3668 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_5a_b82()
3670 Eurydice_slice copy_of_b[1U]; in libcrux_sha3_portable_keccak_load_block_5a_b82()
3671 memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccak_load_block_5a_b82()
3679 - N= 1
3680 - RATE= 104
3683 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice blocks[1U]) { in libcrux_sha3_generic_keccak_absorb_block_df2()
3684 uint64_t(*uu____0)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_block_df2()
3685 Eurydice_slice uu____1[1U]; in libcrux_sha3_generic_keccak_absorb_block_df2()
3686 memcpy(uu____1, blocks, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_block_df2()
3694 - RATE= 104
3697 uint64_t (*s)[5U], uint8_t blocks[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_df3()
3698 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_load_block_full_df3()
3699 Eurydice_array_to_slice((size_t)200U, blocks[0U], uint8_t)}; in libcrux_sha3_portable_keccak_load_block_full_df3()
3710 - RATE= 104
3713 uint64_t (*a)[5U], uint8_t b[1U][200U]) { in libcrux_sha3_portable_keccak_load_block_full_5a_d23()
3714 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_full_5a_d23()
3716 uint8_t copy_of_b[1U][200U]; in libcrux_sha3_portable_keccak_load_block_full_5a_d23()
3717 memcpy(copy_of_b, b, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_portable_keccak_load_block_full_5a_d23()
3725 - N= 1
3726 - RATE= 104
3727 - DELIM= 6
3730 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice last[1U]) { in libcrux_sha3_generic_keccak_absorb_final_c74()
3731 size_t last_len = Eurydice_slice_len(last[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c74()
3732 uint8_t blocks[1U][200U] = {{0U}}; in libcrux_sha3_generic_keccak_absorb_final_c74()
3733 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_final_c74()
3735 if (last_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_c74()
3737 blocks[i0], (size_t)0U, last_len, uint8_t); in libcrux_sha3_generic_keccak_absorb_final_c74()
3740 blocks[i0][last_len] = 6U; in libcrux_sha3_generic_keccak_absorb_final_c74()
3742 size_t uu____2 = (size_t)104U - (size_t)1U; in libcrux_sha3_generic_keccak_absorb_final_c74()
3743 blocks[uu____1][uu____2] = (uint32_t)blocks[uu____1][uu____2] | 128U; in libcrux_sha3_generic_keccak_absorb_final_c74()
3745 uint64_t(*uu____3)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_final_c74()
3746 uint8_t uu____4[1U][200U]; in libcrux_sha3_generic_keccak_absorb_final_c74()
3747 memcpy(uu____4, blocks, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_generic_keccak_absorb_final_c74()
3755 - RATE= 104
3758 uint64_t (*s)[5U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccak_store_block_583()
3759 for (size_t i = (size_t)0U; i < (size_t)104U / (size_t)8U; i++) { in libcrux_sha3_portable_keccak_store_block_583()
3762 out[0U], (size_t)8U * i0, (size_t)8U * i0 + (size_t)8U, uint8_t); in libcrux_sha3_portable_keccak_store_block_583()
3763 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_block_583()
3764 core_num__u64_9__to_le_bytes(s[i0 / (size_t)5U][i0 % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_block_583()
3766 uu____0, Eurydice_array_to_slice((size_t)8U, ret, uint8_t), uint8_t); in libcrux_sha3_portable_keccak_store_block_583()
3773 - RATE= 104
3776 uint64_t (*s)[5U], uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_2d2()
3777 uint8_t out[200U] = {0U}; in libcrux_sha3_portable_keccak_store_block_full_2d2()
3778 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_store_block_full_2d2()
3779 Eurydice_array_to_slice((size_t)200U, out, uint8_t)}; in libcrux_sha3_portable_keccak_store_block_full_2d2()
3782 uint8_t copy_of_out[200U]; in libcrux_sha3_portable_keccak_store_block_full_2d2()
3783 memcpy(copy_of_out, out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d2()
3784 memcpy(ret[0U], copy_of_out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d2()
3794 - RATE= 104
3797 libcrux_sha3_portable_keccak_store_block_full_5a_292(uint64_t (*a)[5U], in libcrux_sha3_portable_keccak_store_block_full_5a_292()
3798 uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_5a_292()
3806 - N= 1
3807 - RATE= 104
3811 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c52()
3812 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c52()
3813 libcrux_sha3_portable_keccak_store_block_full_5a_292(s->st, b); in libcrux_sha3_generic_keccak_squeeze_first_and_last_c52()
3814 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c52()
3819 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c52()
3823 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_first_and_last_c52()
3836 - RATE= 104
3839 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_store_block_5a_593()
3847 - N= 1
3848 - RATE= 104
3851 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_block_843()
3852 libcrux_sha3_portable_keccak_store_block_5a_593(s->st, out); in libcrux_sha3_generic_keccak_squeeze_first_block_843()
3859 - N= 1
3860 - RATE= 104
3863 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_next_block_fc3()
3865 libcrux_sha3_portable_keccak_store_block_5a_593(s->st, out); in libcrux_sha3_generic_keccak_squeeze_next_block_fc3()
3872 - N= 1
3873 - RATE= 104
3876 libcrux_sha3_generic_keccak_KeccakState_48 s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_last_cf2()
3878 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_last_cf2()
3880 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_last_cf2()
3885 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_last_cf2()
3889 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_last_cf2()
3899 - N= 1
3900 - RATE= 104
3901 - DELIM= 6
3904 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_keccak_e93()
3907 for (size_t i = (size_t)0U; in libcrux_sha3_generic_keccak_keccak_e93()
3908 i < Eurydice_slice_len(data[0U], uint8_t) / (size_t)104U; i++) { in libcrux_sha3_generic_keccak_keccak_e93()
3912 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e93()
3913 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e93()
3914 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e93()
3915 libcrux_sha3_portable_keccak_slice_n_5a(copy_of_data, i0 * (size_t)104U, in libcrux_sha3_generic_keccak_keccak_e93()
3916 (size_t)104U, ret); in libcrux_sha3_generic_keccak_keccak_e93()
3919 size_t rem = Eurydice_slice_len(data[0U], uint8_t) % (size_t)104U; in libcrux_sha3_generic_keccak_keccak_e93()
3922 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e93()
3923 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e93()
3924 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e93()
3926 copy_of_data, Eurydice_slice_len(data[0U], uint8_t) - rem, rem, ret); in libcrux_sha3_generic_keccak_keccak_e93()
3928 size_t outlen = Eurydice_slice_len(out[0U], uint8_t); in libcrux_sha3_generic_keccak_keccak_e93()
3929 size_t blocks = outlen / (size_t)104U; in libcrux_sha3_generic_keccak_keccak_e93()
3930 size_t last = outlen - outlen % (size_t)104U; in libcrux_sha3_generic_keccak_keccak_e93()
3931 if (blocks == (size_t)0U) { in libcrux_sha3_generic_keccak_keccak_e93()
3935 libcrux_sha3_portable_keccak_split_at_mut_n_5a(out, (size_t)104U); in libcrux_sha3_generic_keccak_keccak_e93()
3936 Eurydice_slice o0[1U]; in libcrux_sha3_generic_keccak_keccak_e93()
3937 memcpy(o0, uu____4.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e93()
3938 Eurydice_slice o1[1U]; in libcrux_sha3_generic_keccak_keccak_e93()
3939 memcpy(o1, uu____4.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e93()
3943 (CLITERAL(core_ops_range_Range_b3){.start = (size_t)1U, in libcrux_sha3_generic_keccak_keccak_e93()
3953 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o1, (size_t)104U); in libcrux_sha3_generic_keccak_keccak_e93()
3954 Eurydice_slice o[1U]; in libcrux_sha3_generic_keccak_keccak_e93()
3955 memcpy(o, uu____5.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e93()
3956 Eurydice_slice orest[1U]; in libcrux_sha3_generic_keccak_keccak_e93()
3957 memcpy(orest, uu____5.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e93()
3959 memcpy(o1, orest, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e93()
3971 - RATE= 104
3972 - DELIM= 6
3975 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccakx1_ce3()
3977 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_portable_keccakx1_ce3()
3978 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccakx1_ce3()
3987 Eurydice_slice buf0[1U] = {data}; in libcrux_sha3_portable_sha384()
3988 Eurydice_slice buf[1U] = {digest}; in libcrux_sha3_portable_sha384()
3996 - `digest.len() == 28`
4007 uint8_t ret[28U]) { in libcrux_sha3_sha224()
4008 uint8_t out[28U] = {0U}; in libcrux_sha3_sha224()
4009 libcrux_sha3_sha224_ema(Eurydice_array_to_slice((size_t)28U, out, uint8_t), in libcrux_sha3_sha224()
4011 memcpy(ret, out, (size_t)28U * sizeof(uint8_t)); in libcrux_sha3_sha224()
4026 uint8_t ret[32U]) { in libcrux_sha3_sha256()
4027 uint8_t out[32U] = {0U}; in libcrux_sha3_sha256()
4028 libcrux_sha3_sha256_ema(Eurydice_array_to_slice((size_t)32U, out, uint8_t), in libcrux_sha3_sha256()
4030 memcpy(ret, out, (size_t)32U * sizeof(uint8_t)); in libcrux_sha3_sha256()
4045 uint8_t ret[48U]) { in libcrux_sha3_sha384()
4046 uint8_t out[48U] = {0U}; in libcrux_sha3_sha384()
4047 libcrux_sha3_sha384_ema(Eurydice_array_to_slice((size_t)48U, out, uint8_t), in libcrux_sha3_sha384()
4049 memcpy(ret, out, (size_t)48U * sizeof(uint8_t)); in libcrux_sha3_sha384()
4064 uint8_t ret[64U]) { in libcrux_sha3_sha512()
4065 uint8_t out[64U] = {0U}; in libcrux_sha3_sha512()
4066 libcrux_sha3_sha512_ema(Eurydice_array_to_slice((size_t)64U, out, uint8_t), in libcrux_sha3_sha512()
4068 memcpy(ret, out, (size_t)64U * sizeof(uint8_t)); in libcrux_sha3_sha512()
4078 - RATE= 168
4081 uint64_t (*a)[5U], Eurydice_slice b[1U]) { in libcrux_sha3_portable_keccak_load_block_5a_b83()
4082 uint64_t(*uu____0)[5U] = a; in libcrux_sha3_portable_keccak_load_block_5a_b83()
4084 Eurydice_slice copy_of_b[1U]; in libcrux_sha3_portable_keccak_load_block_5a_b83()
4085 memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccak_load_block_5a_b83()
4093 - N= 1
4094 - RATE= 168
4097 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice blocks[1U]) { in libcrux_sha3_generic_keccak_absorb_block_df3()
4098 uint64_t(*uu____0)[5U] = s->st; in libcrux_sha3_generic_keccak_absorb_block_df3()
4099 Eurydice_slice uu____1[1U]; in libcrux_sha3_generic_keccak_absorb_block_df3()
4100 memcpy(uu____1, blocks, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_block_df3()
4108 - RATE= 168
4111 uint64_t (*s)[5U], uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_2d3()
4112 uint8_t out[200U] = {0U}; in libcrux_sha3_portable_keccak_store_block_full_2d3()
4113 Eurydice_slice buf[1U] = { in libcrux_sha3_portable_keccak_store_block_full_2d3()
4114 Eurydice_array_to_slice((size_t)200U, out, uint8_t)}; in libcrux_sha3_portable_keccak_store_block_full_2d3()
4117 uint8_t copy_of_out[200U]; in libcrux_sha3_portable_keccak_store_block_full_2d3()
4118 memcpy(copy_of_out, out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d3()
4119 memcpy(ret[0U], copy_of_out, (size_t)200U * sizeof(uint8_t)); in libcrux_sha3_portable_keccak_store_block_full_2d3()
4129 - RATE= 168
4132 libcrux_sha3_portable_keccak_store_block_full_5a_293(uint64_t (*a)[5U], in libcrux_sha3_portable_keccak_store_block_full_5a_293()
4133 uint8_t ret[1U][200U]) { in libcrux_sha3_portable_keccak_store_block_full_5a_293()
4141 - N= 1
4142 - RATE= 168
4146 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c53()
4147 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c53()
4148 libcrux_sha3_portable_keccak_store_block_full_5a_293(s->st, b); in libcrux_sha3_generic_keccak_squeeze_first_and_last_c53()
4149 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_first_and_last_c53()
4154 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_first_and_last_c53()
4158 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_first_and_last_c53()
4168 - N= 1
4169 - RATE= 168
4172 libcrux_sha3_generic_keccak_KeccakState_48 s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_last_cf3()
4174 uint8_t b[1U][200U]; in libcrux_sha3_generic_keccak_squeeze_last_cf3()
4176 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_squeeze_last_cf3()
4181 lit.start = (size_t)0U; in libcrux_sha3_generic_keccak_squeeze_last_cf3()
4185 Eurydice_array_to_subslice((size_t)200U, uu____1, lit, uint8_t, in libcrux_sha3_generic_keccak_squeeze_last_cf3()
4195 - N= 1
4196 - RATE= 168
4197 - DELIM= 31
4200 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_keccak_e94()
4203 for (size_t i = (size_t)0U; in libcrux_sha3_generic_keccak_keccak_e94()
4204 i < Eurydice_slice_len(data[0U], uint8_t) / (size_t)168U; i++) { in libcrux_sha3_generic_keccak_keccak_e94()
4208 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e94()
4209 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e94()
4210 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e94()
4211 libcrux_sha3_portable_keccak_slice_n_5a(copy_of_data, i0 * (size_t)168U, in libcrux_sha3_generic_keccak_keccak_e94()
4212 (size_t)168U, ret); in libcrux_sha3_generic_keccak_keccak_e94()
4215 size_t rem = Eurydice_slice_len(data[0U], uint8_t) % (size_t)168U; in libcrux_sha3_generic_keccak_keccak_e94()
4218 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_generic_keccak_keccak_e94()
4219 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e94()
4220 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_keccak_e94()
4222 copy_of_data, Eurydice_slice_len(data[0U], uint8_t) - rem, rem, ret); in libcrux_sha3_generic_keccak_keccak_e94()
4224 size_t outlen = Eurydice_slice_len(out[0U], uint8_t); in libcrux_sha3_generic_keccak_keccak_e94()
4225 size_t blocks = outlen / (size_t)168U; in libcrux_sha3_generic_keccak_keccak_e94()
4226 size_t last = outlen - outlen % (size_t)168U; in libcrux_sha3_generic_keccak_keccak_e94()
4227 if (blocks == (size_t)0U) { in libcrux_sha3_generic_keccak_keccak_e94()
4231 libcrux_sha3_portable_keccak_split_at_mut_n_5a(out, (size_t)168U); in libcrux_sha3_generic_keccak_keccak_e94()
4232 Eurydice_slice o0[1U]; in libcrux_sha3_generic_keccak_keccak_e94()
4233 memcpy(o0, uu____4.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e94()
4234 Eurydice_slice o1[1U]; in libcrux_sha3_generic_keccak_keccak_e94()
4235 memcpy(o1, uu____4.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e94()
4239 (CLITERAL(core_ops_range_Range_b3){.start = (size_t)1U, in libcrux_sha3_generic_keccak_keccak_e94()
4249 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o1, (size_t)168U); in libcrux_sha3_generic_keccak_keccak_e94()
4250 Eurydice_slice o[1U]; in libcrux_sha3_generic_keccak_keccak_e94()
4251 memcpy(o, uu____5.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e94()
4252 Eurydice_slice orest[1U]; in libcrux_sha3_generic_keccak_keccak_e94()
4253 memcpy(orest, uu____5.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e94()
4255 memcpy(o1, orest, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_keccak_e94()
4267 - RATE= 168
4268 - DELIM= 31
4271 Eurydice_slice data[1U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccakx1_ce4()
4273 Eurydice_slice copy_of_data[1U]; in libcrux_sha3_portable_keccakx1_ce4()
4274 memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_portable_keccakx1_ce4()
4283 Eurydice_slice buf0[1U] = {data}; in libcrux_sha3_portable_shake128()
4284 Eurydice_slice buf[1U] = {digest}; in libcrux_sha3_portable_shake128()
4308 static const size_t libcrux_sha3_generic_keccak__PI[24U] = {
4309 (size_t)6U, (size_t)12U, (size_t)18U, (size_t)24U, (size_t)3U,
4310 (size_t)9U, (size_t)10U, (size_t)16U, (size_t)22U, (size_t)1U,
4311 (size_t)7U, (size_t)13U, (size_t)19U, (size_t)20U, (size_t)4U,
4312 (size_t)5U, (size_t)11U, (size_t)17U, (size_t)23U, (size_t)2U,
4313 (size_t)8U, (size_t)14U, (size_t)15U, (size_t)21U};
4315 static const size_t libcrux_sha3_generic_keccak__ROTC[24U] = {
4316 (size_t)1U, (size_t)62U, (size_t)28U, (size_t)27U, (size_t)36U,
4317 (size_t)44U, (size_t)6U, (size_t)55U, (size_t)20U, (size_t)3U,
4318 (size_t)10U, (size_t)43U, (size_t)25U, (size_t)39U, (size_t)41U,
4319 (size_t)45U, (size_t)15U, (size_t)21U, (size_t)8U, (size_t)18U,
4320 (size_t)2U, (size_t)61U, (size_t)56U, (size_t)14U};
4329 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_sha224()
4339 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_sha256()
4349 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_sha384()
4359 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_sha512()
4373 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_x2_shake256()
4377 libcrux_sha3_generic_keccak_KeccakState_48 state[2U];
4387 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_x2_incremental_shake128_init()
4399 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_x2_incremental_shake128_absorb_final()
4412 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_x2_incremental_shake128_squeeze_first_three_blocks()
4425 KRML_HOST_EXIT(255U); in libcrux_sha3_neon_x2_incremental_shake128_squeeze_next_block()
4432 - N= 1
4433 - RATE= 168
4437 libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4439 libcrux_sha3_portable_keccak_split_at_mut_n_5a(out, (size_t)168U); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4440 Eurydice_slice o0[1U]; in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4441 memcpy(o0, uu____0.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4442 Eurydice_slice o10[1U]; in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4443 memcpy(o10, uu____0.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4446 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o10, (size_t)168U); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4447 Eurydice_slice o1[1U]; in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4448 memcpy(o1, uu____1.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4449 Eurydice_slice o20[1U]; in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4450 memcpy(o20, uu____1.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4453 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o20, (size_t)168U); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4454 Eurydice_slice o2[1U]; in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4455 memcpy(o2, uu____2.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4456 Eurydice_slice o30[1U]; in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4457 memcpy(o30, uu____2.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4460 libcrux_sha3_portable_keccak_split_at_mut_n_5a(o30, (size_t)168U); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4461 Eurydice_slice o3[1U]; in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4462 memcpy(o3, uu____3.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4463 Eurydice_slice o4[1U]; in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4464 memcpy(o4, uu____3.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_first_five_blocks_4f()
4475 Eurydice_slice buf[1U] = {out0}; in libcrux_sha3_portable_incremental_shake128_squeeze_first_five_blocks()
4480 Absorb some data for SHAKE-256 for the last time
4485 Eurydice_slice buf[1U] = {data}; in libcrux_sha3_portable_incremental_shake256_absorb_final()
4490 Create a new SHAKE-256 state object.
4498 Squeeze the first SHAKE-256 block
4503 Eurydice_slice buf[1U] = {out}; in libcrux_sha3_portable_incremental_shake256_squeeze_first_block()
4508 Squeeze the next SHAKE-256 block
4513 Eurydice_slice buf[1U] = {out}; in libcrux_sha3_portable_incremental_shake256_squeeze_next_block()
4521 - $1size_t
4522 - $136size_t
4526 uint8_t buf[1U][136U];
4551 - PARALLEL_LANES= 1
4552 - RATE= 136
4556 Eurydice_slice inputs[1U]) { in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4557 size_t input_len = Eurydice_slice_len(inputs[0U], uint8_t); in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4558 size_t consumed = (size_t)0U; in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4559 if (self->buf_len > (size_t)0U) { in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4560 if (self->buf_len + input_len >= (size_t)136U) { in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4561 consumed = (size_t)136U - self->buf_len; in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4562 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4565 (size_t)136U, self->buf[i0], self->buf_len, uint8_t, size_t); in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4571 self->buf_len = self->buf_len + consumed; in libcrux_sha3_generic_keccak_fill_buffer_9d_b0()
4585 - PARALLEL_LANES= 1
4586 - RATE= 136
4590 Eurydice_slice inputs[1U]) { in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4593 Eurydice_slice copy_of_inputs0[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4594 memcpy(copy_of_inputs0, inputs, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4597 if (input_consumed > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4598 Eurydice_slice borrowed[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4599 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4600 uint8_t buf[136U] = {0U}; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4602 (size_t)136U, buf, uint8_t, Eurydice_slice); in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4604 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4607 Eurydice_array_to_slice((size_t)136U, self->buf[i0], uint8_t); in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4609 uint64_t(*uu____2)[5U] = self->inner.st; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4610 Eurydice_slice uu____3[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4611 memcpy(uu____3, borrowed, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4613 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4614 self->buf_len = (size_t)0U; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4617 Eurydice_slice_len(inputs[0U], uint8_t) - input_consumed; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4618 size_t num_blocks = input_to_consume / (size_t)136U; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4619 size_t remainder = input_to_consume % (size_t)136U; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4620 for (size_t i = (size_t)0U; i < num_blocks; i++) { in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4622 uint64_t(*uu____4)[5U] = self->inner.st; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4624 Eurydice_slice copy_of_inputs[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4625 memcpy(copy_of_inputs, inputs, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4626 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4628 copy_of_inputs, input_consumed + i0 * (size_t)136U, (size_t)136U, ret); in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4630 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_absorb_full_9d_f8()
4655 - PARALLEL_LANES= 1
4656 - RATE= 136
4660 Eurydice_slice inputs[1U]) { in libcrux_sha3_generic_keccak_absorb_9d_7b()
4663 Eurydice_slice copy_of_inputs[1U]; in libcrux_sha3_generic_keccak_absorb_9d_7b()
4664 memcpy(copy_of_inputs, inputs, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_9d_7b()
4667 if (input_remainder_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_9d_7b()
4668 size_t input_len = Eurydice_slice_len(inputs[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_9d_7b()
4669 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_9d_7b()
4672 self->buf[i0], self->buf_len, self->buf_len + input_remainder_len, in libcrux_sha3_generic_keccak_absorb_9d_7b()
4677 inputs[i0], input_len - input_remainder_len, uint8_t, size_t), in libcrux_sha3_generic_keccak_absorb_9d_7b()
4680 self->buf_len = self->buf_len + input_remainder_len; in libcrux_sha3_generic_keccak_absorb_9d_7b()
4694 Eurydice_slice buf[1U] = {input}; in libcrux_sha3_portable_incremental_absorb_7d()
4715 - PARALLEL_LANES= 1
4716 - RATE= 136
4717 - DELIMITER= 31
4721 Eurydice_slice inputs[1U]) { in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4724 Eurydice_slice copy_of_inputs[1U]; in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4725 memcpy(copy_of_inputs, inputs, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4728 size_t input_len = Eurydice_slice_len(inputs[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4729 uint8_t blocks[1U][200U] = {{0U}}; in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4730 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4732 if (self->buf_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4734 blocks[i0], (size_t)0U, self->buf_len, uint8_t); in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4736 Eurydice_array_to_subslice2(self->buf[i0], (size_t)0U, in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4737 self->buf_len, uint8_t), in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4740 if (input_remainder_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4742 blocks[i0], self->buf_len, self->buf_len + input_remainder_len, in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4747 inputs[i0], input_len - input_remainder_len, uint8_t, size_t), in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4750 blocks[i0][self->buf_len + input_remainder_len] = 31U; in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4752 size_t uu____5 = (size_t)136U - (size_t)1U; in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4753 blocks[uu____4][uu____5] = (uint32_t)blocks[uu____4][uu____5] | 128U; in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4755 uint64_t(*uu____6)[5U] = self->inner.st; in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4756 uint8_t uu____7[1U][200U]; in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4757 memcpy(uu____7, blocks, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4759 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_absorb_final_9d_25()
4773 Eurydice_slice buf[1U] = {input}; in libcrux_sha3_portable_incremental_absorb_final_7d()
4789 - PARALLEL_LANES= 1
4790 - RATE= 136
4793 uint8_t ret[136U]) { in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4794 ret[0U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4795 ret[1U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4796 ret[2U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4797 ret[3U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4798 ret[4U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4799 ret[5U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4800 ret[6U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4801 ret[7U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4802 ret[8U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4803 ret[9U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4804 ret[10U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4805 ret[11U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4806 ret[12U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4807 ret[13U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4808 ret[14U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4809 ret[15U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4810 ret[16U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4811 ret[17U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4812 ret[18U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4813 ret[19U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4814 ret[20U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4815 ret[21U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4816 ret[22U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4817 ret[23U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4818 ret[24U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4819 ret[25U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4820 ret[26U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4821 ret[27U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4822 ret[28U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4823 ret[29U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4824 ret[30U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4825 ret[31U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4826 ret[32U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4827 ret[33U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4828 ret[34U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4829 ret[35U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4830 ret[36U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4831 ret[37U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4832 ret[38U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4833 ret[39U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4834 ret[40U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4835 ret[41U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4836 ret[42U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4837 ret[43U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4838 ret[44U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4839 ret[45U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4840 ret[46U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4841 ret[47U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4842 ret[48U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4843 ret[49U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4844 ret[50U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4845 ret[51U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4846 ret[52U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4847 ret[53U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4848 ret[54U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4849 ret[55U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4850 ret[56U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4851 ret[57U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4852 ret[58U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4853 ret[59U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4854 ret[60U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4855 ret[61U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4856 ret[62U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4857 ret[63U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4858 ret[64U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4859 ret[65U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4860 ret[66U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4861 ret[67U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4862 ret[68U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4863 ret[69U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4864 ret[70U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4865 ret[71U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4866 ret[72U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4867 ret[73U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4868 ret[74U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4869 ret[75U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4870 ret[76U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4871 ret[77U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4872 ret[78U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4873 ret[79U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4874 ret[80U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4875 ret[81U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4876 ret[82U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4877 ret[83U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4878 ret[84U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4879 ret[85U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4880 ret[86U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4881 ret[87U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4882 ret[88U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4883 ret[89U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4884 ret[90U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4885 ret[91U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4886 ret[92U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4887 ret[93U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4888 ret[94U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4889 ret[95U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4890 ret[96U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4891 ret[97U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4892 ret[98U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4893 ret[99U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4894 ret[100U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4895 ret[101U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4896 ret[102U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4897 ret[103U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4898 ret[104U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4899 ret[105U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4900 ret[106U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4901 ret[107U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4902 ret[108U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4903 ret[109U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4904 ret[110U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4905 ret[111U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4906 ret[112U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4907 ret[113U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4908 ret[114U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4909 ret[115U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4910 ret[116U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4911 ret[117U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4912 ret[118U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4913 ret[119U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4914 ret[120U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4915 ret[121U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4916 ret[122U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4917 ret[123U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4918 ret[124U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4919 ret[125U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4920 ret[126U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4921 ret[127U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4922 ret[128U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4923 ret[129U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4924 ret[130U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4925 ret[131U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4926 ret[132U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4927 ret[133U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4928 ret[134U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4929 ret[135U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e6()
4943 - PARALLEL_LANES= 1
4944 - RATE= 136
4950 uint8_t ret[136U]; in libcrux_sha3_generic_keccak_new_9d_7e()
4952 memcpy(lit.buf[0U], ret, (size_t)136U * sizeof(uint8_t)); in libcrux_sha3_generic_keccak_new_9d_7e()
4953 lit.buf_len = (size_t)0U; in libcrux_sha3_generic_keccak_new_9d_7e()
4975 - $1size_t
4976 - $168size_t
4980 uint8_t buf[1U][168U];
5005 - PARALLEL_LANES= 1
5006 - RATE= 168
5010 Eurydice_slice inputs[1U]) { in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5011 size_t input_len = Eurydice_slice_len(inputs[0U], uint8_t); in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5012 size_t consumed = (size_t)0U; in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5013 if (self->buf_len > (size_t)0U) { in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5014 if (self->buf_len + input_len >= (size_t)168U) { in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5015 consumed = (size_t)168U - self->buf_len; in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5016 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5019 (size_t)168U, self->buf[i0], self->buf_len, uint8_t, size_t); in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5025 self->buf_len = self->buf_len + consumed; in libcrux_sha3_generic_keccak_fill_buffer_9d_b00()
5039 - PARALLEL_LANES= 1
5040 - RATE= 168
5044 Eurydice_slice inputs[1U]) { in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5047 Eurydice_slice copy_of_inputs0[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5048 memcpy(copy_of_inputs0, inputs, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5051 if (input_consumed > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5052 Eurydice_slice borrowed[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5053 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5054 uint8_t buf[168U] = {0U}; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5056 (size_t)168U, buf, uint8_t, Eurydice_slice); in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5058 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5061 Eurydice_array_to_slice((size_t)168U, self->buf[i0], uint8_t); in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5063 uint64_t(*uu____2)[5U] = self->inner.st; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5064 Eurydice_slice uu____3[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5065 memcpy(uu____3, borrowed, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5067 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5068 self->buf_len = (size_t)0U; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5071 Eurydice_slice_len(inputs[0U], uint8_t) - input_consumed; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5072 size_t num_blocks = input_to_consume / (size_t)168U; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5073 size_t remainder = input_to_consume % (size_t)168U; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5074 for (size_t i = (size_t)0U; i < num_blocks; i++) { in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5076 uint64_t(*uu____4)[5U] = self->inner.st; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5078 Eurydice_slice copy_of_inputs[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5079 memcpy(copy_of_inputs, inputs, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5080 Eurydice_slice ret[1U]; in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5082 copy_of_inputs, input_consumed + i0 * (size_t)168U, (size_t)168U, ret); in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5084 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_absorb_full_9d_f80()
5109 - PARALLEL_LANES= 1
5110 - RATE= 168
5114 Eurydice_slice inputs[1U]) { in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5117 Eurydice_slice copy_of_inputs[1U]; in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5118 memcpy(copy_of_inputs, inputs, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5121 if (input_remainder_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5122 size_t input_len = Eurydice_slice_len(inputs[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5123 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5126 self->buf[i0], self->buf_len, self->buf_len + input_remainder_len, in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5131 inputs[i0], input_len - input_remainder_len, uint8_t, size_t), in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5134 self->buf_len = self->buf_len + input_remainder_len; in libcrux_sha3_generic_keccak_absorb_9d_7b0()
5145 Eurydice_slice buf[1U] = {input}; in libcrux_sha3_portable_incremental_absorb_1c()
5166 - PARALLEL_LANES= 1
5167 - RATE= 168
5168 - DELIMITER= 31
5172 Eurydice_slice inputs[1U]) { in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5175 Eurydice_slice copy_of_inputs[1U]; in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5176 memcpy(copy_of_inputs, inputs, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5179 size_t input_len = Eurydice_slice_len(inputs[0U], uint8_t); in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5180 uint8_t blocks[1U][200U] = {{0U}}; in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5181 for (size_t i = (size_t)0U; i < (size_t)1U; i++) { in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5183 if (self->buf_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5185 blocks[i0], (size_t)0U, self->buf_len, uint8_t); in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5187 Eurydice_array_to_subslice2(self->buf[i0], (size_t)0U, in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5188 self->buf_len, uint8_t), in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5191 if (input_remainder_len > (size_t)0U) { in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5193 blocks[i0], self->buf_len, self->buf_len + input_remainder_len, in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5198 inputs[i0], input_len - input_remainder_len, uint8_t, size_t), in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5201 blocks[i0][self->buf_len + input_remainder_len] = 31U; in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5203 size_t uu____5 = (size_t)168U - (size_t)1U; in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5204 blocks[uu____4][uu____5] = (uint32_t)blocks[uu____4][uu____5] | 128U; in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5206 uint64_t(*uu____6)[5U] = self->inner.st; in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5207 uint8_t uu____7[1U][200U]; in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5208 memcpy(uu____7, blocks, (size_t)1U * sizeof(uint8_t[200U])); in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5210 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_absorb_final_9d_250()
5221 Eurydice_slice buf[1U] = {input}; in libcrux_sha3_portable_incremental_absorb_final_1c()
5237 - PARALLEL_LANES= 1
5238 - RATE= 168
5241 uint8_t ret[168U]) { in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5242 ret[0U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5243 ret[1U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5244 ret[2U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5245 ret[3U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5246 ret[4U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5247 ret[5U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5248 ret[6U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5249 ret[7U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5250 ret[8U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5251 ret[9U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5252 ret[10U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5253 ret[11U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5254 ret[12U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5255 ret[13U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5256 ret[14U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5257 ret[15U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5258 ret[16U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5259 ret[17U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5260 ret[18U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5261 ret[19U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5262 ret[20U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5263 ret[21U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5264 ret[22U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5265 ret[23U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5266 ret[24U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5267 ret[25U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5268 ret[26U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5269 ret[27U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5270 ret[28U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5271 ret[29U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5272 ret[30U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5273 ret[31U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5274 ret[32U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5275 ret[33U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5276 ret[34U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5277 ret[35U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5278 ret[36U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5279 ret[37U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5280 ret[38U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5281 ret[39U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5282 ret[40U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5283 ret[41U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5284 ret[42U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5285 ret[43U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5286 ret[44U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5287 ret[45U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5288 ret[46U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5289 ret[47U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5290 ret[48U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5291 ret[49U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5292 ret[50U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5293 ret[51U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5294 ret[52U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5295 ret[53U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5296 ret[54U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5297 ret[55U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5298 ret[56U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5299 ret[57U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5300 ret[58U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5301 ret[59U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5302 ret[60U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5303 ret[61U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5304 ret[62U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5305 ret[63U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5306 ret[64U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5307 ret[65U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5308 ret[66U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5309 ret[67U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5310 ret[68U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5311 ret[69U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5312 ret[70U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5313 ret[71U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5314 ret[72U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5315 ret[73U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5316 ret[74U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5317 ret[75U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5318 ret[76U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5319 ret[77U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5320 ret[78U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5321 ret[79U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5322 ret[80U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5323 ret[81U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5324 ret[82U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5325 ret[83U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5326 ret[84U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5327 ret[85U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5328 ret[86U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5329 ret[87U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5330 ret[88U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5331 ret[89U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5332 ret[90U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5333 ret[91U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5334 ret[92U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5335 ret[93U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5336 ret[94U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5337 ret[95U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5338 ret[96U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5339 ret[97U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5340 ret[98U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5341 ret[99U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5342 ret[100U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5343 ret[101U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5344 ret[102U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5345 ret[103U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5346 ret[104U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5347 ret[105U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5348 ret[106U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5349 ret[107U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5350 ret[108U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5351 ret[109U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5352 ret[110U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5353 ret[111U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5354 ret[112U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5355 ret[113U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5356 ret[114U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5357 ret[115U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5358 ret[116U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5359 ret[117U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5360 ret[118U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5361 ret[119U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5362 ret[120U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5363 ret[121U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5364 ret[122U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5365 ret[123U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5366 ret[124U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5367 ret[125U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5368 ret[126U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5369 ret[127U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5370 ret[128U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5371 ret[129U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5372 ret[130U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5373 ret[131U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5374 ret[132U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5375 ret[133U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5376 ret[134U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5377 ret[135U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5378 ret[136U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5379 ret[137U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5380 ret[138U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5381 ret[139U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5382 ret[140U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5383 ret[141U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5384 ret[142U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5385 ret[143U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5386 ret[144U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5387 ret[145U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5388 ret[146U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5389 ret[147U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5390 ret[148U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5391 ret[149U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5392 ret[150U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5393 ret[151U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5394 ret[152U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5395 ret[153U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5396 ret[154U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5397 ret[155U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5398 ret[156U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5399 ret[157U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5400 ret[158U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5401 ret[159U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5402 ret[160U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5403 ret[161U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5404 ret[162U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5405 ret[163U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5406 ret[164U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5407 ret[165U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5408 ret[166U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5409 ret[167U] = 0U; in libcrux_sha3_generic_keccak_zero_block_9d_e60()
5423 - PARALLEL_LANES= 1
5424 - RATE= 168
5430 uint8_t ret[168U]; in libcrux_sha3_generic_keccak_new_9d_7e0()
5432 memcpy(lit.buf[0U], ret, (size_t)168U * sizeof(uint8_t)); in libcrux_sha3_generic_keccak_new_9d_7e0()
5433 lit.buf_len = (size_t)0U; in libcrux_sha3_generic_keccak_new_9d_7e0()
5458 - RATE= 136
5461 uint64_t (*state)[5U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccak_store_5a_1c()
5462 size_t num_full_blocks = Eurydice_slice_len(out[0U], uint8_t) / (size_t)8U; in libcrux_sha3_portable_keccak_store_5a_1c()
5463 size_t last_block_len = Eurydice_slice_len(out[0U], uint8_t) % (size_t)8U; in libcrux_sha3_portable_keccak_store_5a_1c()
5464 for (size_t i = (size_t)0U; i < num_full_blocks; i++) { in libcrux_sha3_portable_keccak_store_5a_1c()
5467 out[0U], i0 * (size_t)8U, i0 * (size_t)8U + (size_t)8U, uint8_t); in libcrux_sha3_portable_keccak_store_5a_1c()
5468 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_5a_1c()
5469 core_num__u64_9__to_le_bytes(state[i0 / (size_t)5U][i0 % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_5a_1c()
5471 uu____0, Eurydice_array_to_slice((size_t)8U, ret, uint8_t), uint8_t); in libcrux_sha3_portable_keccak_store_5a_1c()
5473 if (last_block_len != (size_t)0U) { in libcrux_sha3_portable_keccak_store_5a_1c()
5475 out[0U], num_full_blocks * (size_t)8U, in libcrux_sha3_portable_keccak_store_5a_1c()
5476 num_full_blocks * (size_t)8U + last_block_len, uint8_t); in libcrux_sha3_portable_keccak_store_5a_1c()
5477 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_5a_1c()
5479 state[num_full_blocks / (size_t)5U][num_full_blocks % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_5a_1c()
5482 Eurydice_array_to_subslice2(ret, (size_t)0U, last_block_len, uint8_t), in libcrux_sha3_portable_keccak_store_5a_1c()
5498 - PARALLEL_LANES= 1
5499 - RATE= 136
5503 Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_9d_96()
5504 if (self->sponge) { in libcrux_sha3_generic_keccak_squeeze_9d_96()
5505 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5507 size_t out_len = Eurydice_slice_len(out[0U], uint8_t); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5508 size_t blocks = out_len / (size_t)136U; in libcrux_sha3_generic_keccak_squeeze_9d_96()
5509 size_t last = out_len - out_len % (size_t)136U; in libcrux_sha3_generic_keccak_squeeze_9d_96()
5511 if ((size_t)136U >= out_len) { in libcrux_sha3_generic_keccak_squeeze_9d_96()
5514 mid = (size_t)136U; in libcrux_sha3_generic_keccak_squeeze_9d_96()
5518 Eurydice_slice out00[1U]; in libcrux_sha3_generic_keccak_squeeze_9d_96()
5519 memcpy(out00, uu____0.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5520 Eurydice_slice out_rest[1U]; in libcrux_sha3_generic_keccak_squeeze_9d_96()
5521 memcpy(out_rest, uu____0.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5522 libcrux_sha3_portable_keccak_store_5a_1c(self->inner.st, out00); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5525 (CLITERAL(core_ops_range_Range_b3){.start = (size_t)1U, in libcrux_sha3_generic_keccak_squeeze_9d_96()
5536 (size_t)136U); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5537 Eurydice_slice out0[1U]; in libcrux_sha3_generic_keccak_squeeze_9d_96()
5538 memcpy(out0, uu____1.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5539 Eurydice_slice tmp[1U]; in libcrux_sha3_generic_keccak_squeeze_9d_96()
5540 memcpy(tmp, uu____1.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5541 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5542 libcrux_sha3_portable_keccak_store_5a_1c(self->inner.st, out0); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5543 memcpy(out_rest, tmp, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5547 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5548 libcrux_sha3_portable_keccak_store_5a_1c(self->inner.st, out_rest); in libcrux_sha3_generic_keccak_squeeze_9d_96()
5550 self->sponge = true; in libcrux_sha3_generic_keccak_squeeze_9d_96()
5563 Eurydice_slice buf[1U] = {out}; in libcrux_sha3_portable_incremental_squeeze_8a()
5577 - RATE= 168
5580 uint64_t (*state)[5U], Eurydice_slice out[1U]) { in libcrux_sha3_portable_keccak_store_5a_1c0()
5581 size_t num_full_blocks = Eurydice_slice_len(out[0U], uint8_t) / (size_t)8U; in libcrux_sha3_portable_keccak_store_5a_1c0()
5582 size_t last_block_len = Eurydice_slice_len(out[0U], uint8_t) % (size_t)8U; in libcrux_sha3_portable_keccak_store_5a_1c0()
5583 for (size_t i = (size_t)0U; i < num_full_blocks; i++) { in libcrux_sha3_portable_keccak_store_5a_1c0()
5586 out[0U], i0 * (size_t)8U, i0 * (size_t)8U + (size_t)8U, uint8_t); in libcrux_sha3_portable_keccak_store_5a_1c0()
5587 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_5a_1c0()
5588 core_num__u64_9__to_le_bytes(state[i0 / (size_t)5U][i0 % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_5a_1c0()
5590 uu____0, Eurydice_array_to_slice((size_t)8U, ret, uint8_t), uint8_t); in libcrux_sha3_portable_keccak_store_5a_1c0()
5592 if (last_block_len != (size_t)0U) { in libcrux_sha3_portable_keccak_store_5a_1c0()
5594 out[0U], num_full_blocks * (size_t)8U, in libcrux_sha3_portable_keccak_store_5a_1c0()
5595 num_full_blocks * (size_t)8U + last_block_len, uint8_t); in libcrux_sha3_portable_keccak_store_5a_1c0()
5596 uint8_t ret[8U]; in libcrux_sha3_portable_keccak_store_5a_1c0()
5598 state[num_full_blocks / (size_t)5U][num_full_blocks % (size_t)5U], ret); in libcrux_sha3_portable_keccak_store_5a_1c0()
5601 Eurydice_array_to_subslice2(ret, (size_t)0U, last_block_len, uint8_t), in libcrux_sha3_portable_keccak_store_5a_1c0()
5617 - PARALLEL_LANES= 1
5618 - RATE= 168
5622 Eurydice_slice out[1U]) { in libcrux_sha3_generic_keccak_squeeze_9d_960()
5623 if (self->sponge) { in libcrux_sha3_generic_keccak_squeeze_9d_960()
5624 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5626 size_t out_len = Eurydice_slice_len(out[0U], uint8_t); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5627 size_t blocks = out_len / (size_t)168U; in libcrux_sha3_generic_keccak_squeeze_9d_960()
5628 size_t last = out_len - out_len % (size_t)168U; in libcrux_sha3_generic_keccak_squeeze_9d_960()
5630 if ((size_t)168U >= out_len) { in libcrux_sha3_generic_keccak_squeeze_9d_960()
5633 mid = (size_t)168U; in libcrux_sha3_generic_keccak_squeeze_9d_960()
5637 Eurydice_slice out00[1U]; in libcrux_sha3_generic_keccak_squeeze_9d_960()
5638 memcpy(out00, uu____0.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5639 Eurydice_slice out_rest[1U]; in libcrux_sha3_generic_keccak_squeeze_9d_960()
5640 memcpy(out_rest, uu____0.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5641 libcrux_sha3_portable_keccak_store_5a_1c0(self->inner.st, out00); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5644 (CLITERAL(core_ops_range_Range_b3){.start = (size_t)1U, in libcrux_sha3_generic_keccak_squeeze_9d_960()
5655 (size_t)168U); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5656 Eurydice_slice out0[1U]; in libcrux_sha3_generic_keccak_squeeze_9d_960()
5657 memcpy(out0, uu____1.fst, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5658 Eurydice_slice tmp[1U]; in libcrux_sha3_generic_keccak_squeeze_9d_960()
5659 memcpy(tmp, uu____1.snd, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5660 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5661 libcrux_sha3_portable_keccak_store_5a_1c0(self->inner.st, out0); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5662 memcpy(out_rest, tmp, (size_t)1U * sizeof(Eurydice_slice)); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5666 libcrux_sha3_generic_keccak_keccakf1600_21(&self->inner); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5667 libcrux_sha3_portable_keccak_store_5a_1c0(self->inner.st, out_rest); in libcrux_sha3_generic_keccak_squeeze_9d_960()
5669 self->sponge = true; in libcrux_sha3_generic_keccak_squeeze_9d_960()
5682 Eurydice_slice buf[1U] = {out}; in libcrux_sha3_portable_incremental_squeeze_10()
5693 return self[0U]; in libcrux_sha3_portable_clone_3d()
5704 uu____0 = 1U; in libcrux_sha3_from_eb()
5708 uu____0 = 2U; in libcrux_sha3_from_eb()
5712 uu____0 = 3U; in libcrux_sha3_from_eb()
5716 uu____0 = 4U; in libcrux_sha3_from_eb()
5722 KRML_HOST_EXIT(253U); in libcrux_sha3_from_eb()
5735 case 1U: { in libcrux_sha3_from_2d()
5739 case 2U: { in libcrux_sha3_from_2d()
5743 case 3U: { in libcrux_sha3_from_2d()
5747 case 4U: { in libcrux_sha3_from_2d()
5754 KRML_HOST_EXIT(255U); in libcrux_sha3_from_2d()
5760 typedef uint8_t libcrux_sha3_Sha3_512Digest[64U];
5762 typedef uint8_t libcrux_sha3_Sha3_384Digest[48U];
5764 typedef uint8_t libcrux_sha3_Sha3_256Digest[32U];
5766 typedef uint8_t libcrux_sha3_Sha3_224Digest[28U];
5775 /* from libcrux/libcrux-ml-kem/cg/libcrux_mlkem768_portable.h */
5777 * SPDX-FileCopyrightText: 2024 Cryspen Sarl <info@cryspen.com>
5779 * SPDX-License-Identifier: MIT or Apache-2.0
5785 * F*: a32b316e521fa4f239b610ec8f1d15e78d62cbe8-dirty
5797 #define LIBCRUX_ML_KEM_HASH_FUNCTIONS_BLOCK_SIZE ((size_t)168U)
5800 (LIBCRUX_ML_KEM_HASH_FUNCTIONS_BLOCK_SIZE * (size_t)3U)
5803 Eurydice_slice input, uint8_t ret[64U]) { in libcrux_ml_kem_hash_functions_portable_G()
5804 uint8_t digest[64U] = {0U}; in libcrux_ml_kem_hash_functions_portable_G()
5806 Eurydice_array_to_slice((size_t)64U, digest, uint8_t), input); in libcrux_ml_kem_hash_functions_portable_G()
5807 memcpy(ret, digest, (size_t)64U * sizeof(uint8_t)); in libcrux_ml_kem_hash_functions_portable_G()
5811 Eurydice_slice input, uint8_t ret[32U]) { in libcrux_ml_kem_hash_functions_portable_H()
5812 uint8_t digest[32U] = {0U}; in libcrux_ml_kem_hash_functions_portable_H()
5814 Eurydice_array_to_slice((size_t)32U, digest, uint8_t), input); in libcrux_ml_kem_hash_functions_portable_H()
5815 memcpy(ret, digest, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_hash_functions_portable_H()
5825 typedef uint8_t libcrux_ml_kem_ind_cca_MlKemSharedSecret[32U];
5827 static const int16_t libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[128U] =
5828 {(int16_t)-1044, (int16_t)-758, (int16_t)-359, (int16_t)-1517,
5830 (int16_t)-171, (int16_t)622, (int16_t)1577, (int16_t)182,
5831 (int16_t)962, (int16_t)-1202, (int16_t)-1474, (int16_t)1468,
5832 (int16_t)573, (int16_t)-1325, (int16_t)264, (int16_t)383,
5833 (int16_t)-829, (int16_t)1458, (int16_t)-1602, (int16_t)-130,
5834 (int16_t)-681, (int16_t)1017, (int16_t)732, (int16_t)608,
5835 (int16_t)-1542, (int16_t)411, (int16_t)-205, (int16_t)-1571,
5836 (int16_t)1223, (int16_t)652, (int16_t)-552, (int16_t)1015,
5837 (int16_t)-1293, (int16_t)1491, (int16_t)-282, (int16_t)-1544,
5838 (int16_t)516, (int16_t)-8, (int16_t)-320, (int16_t)-666,
5839 (int16_t)-1618, (int16_t)-1162, (int16_t)126, (int16_t)1469,
5840 (int16_t)-853, (int16_t)-90, (int16_t)-271, (int16_t)830,
5841 (int16_t)107, (int16_t)-1421, (int16_t)-247, (int16_t)-951,
5842 (int16_t)-398, (int16_t)961, (int16_t)-1508, (int16_t)-725,
5843 (int16_t)448, (int16_t)-1065, (int16_t)677, (int16_t)-1275,
5844 (int16_t)-1103, (int16_t)430, (int16_t)555, (int16_t)843,
5845 (int16_t)-1251, (int16_t)871, (int16_t)1550, (int16_t)105,
5846 (int16_t)422, (int16_t)587, (int16_t)177, (int16_t)-235,
5847 (int16_t)-291, (int16_t)-460, (int16_t)1574, (int16_t)1653,
5848 (int16_t)-246, (int16_t)778, (int16_t)1159, (int16_t)-147,
5849 (int16_t)-777, (int16_t)1483, (int16_t)-602, (int16_t)1119,
5850 (int16_t)-1590, (int16_t)644, (int16_t)-872, (int16_t)349,
5851 (int16_t)418, (int16_t)329, (int16_t)-156, (int16_t)-75,
5853 (int16_t)1322, (int16_t)-1285, (int16_t)-1465, (int16_t)384,
5854 (int16_t)-1215, (int16_t)-136, (int16_t)1218, (int16_t)-1335,
5855 (int16_t)-874, (int16_t)220, (int16_t)-1187, (int16_t)-1659,
5856 (int16_t)-1185, (int16_t)-1530, (int16_t)-1278, (int16_t)794,
5857 (int16_t)-1510, (int16_t)-854, (int16_t)-870, (int16_t)478,
5858 (int16_t)-108, (int16_t)-308, (int16_t)996, (int16_t)991,
5859 (int16_t)958, (int16_t)-1460, (int16_t)1522, (int16_t)1628};
5861 #define LIBCRUX_ML_KEM_VECTOR_TRAITS_FIELD_ELEMENTS_IN_VECTOR ((size_t)16U)
5873 (62209U)
5876 int16_t elements[16U];
5883 int16_t ret[16U]; in libcrux_ml_kem_vector_portable_vector_type_from_i16_array()
5886 &dst, Eurydice_slice_subslice2(array, (size_t)0U, (size_t)16U, int16_t), in libcrux_ml_kem_vector_portable_vector_type_from_i16_array()
5887 Eurydice_slice, int16_t[16U]); in libcrux_ml_kem_vector_portable_vector_type_from_i16_array()
5889 memcpy(lit.elements, ret, (size_t)16U * sizeof(int16_t)); in libcrux_ml_kem_vector_portable_vector_type_from_i16_array()
5918 uint8_t r0 = (uint8_t)Eurydice_slice_index(v, (size_t)0U, int16_t, int16_t *); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5919 uint8_t r1 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)1U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5922 << 3U | in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5923 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)0U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5925 8U); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5926 uint8_t r2 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)2U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5929 << 6U | in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5930 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)1U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5932 5U); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5934 (uint8_t)(Eurydice_slice_index(v, (size_t)2U, int16_t, int16_t *) >> 2U & in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5936 uint8_t r4 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)3U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5939 << 1U | in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5940 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)2U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5942 10U); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5943 uint8_t r5 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)4U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5946 << 4U | in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5947 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)3U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5949 7U); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5950 uint8_t r6 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)5U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5953 << 7U | in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5954 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)4U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5956 4U); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5958 (uint8_t)(Eurydice_slice_index(v, (size_t)5U, int16_t, int16_t *) >> 1U & in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5960 uint8_t r8 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)6U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5963 << 2U | in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5964 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)5U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5966 9U); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5967 uint8_t r9 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)7U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5970 << 5U | in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5971 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)6U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5973 6U); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5975 (uint8_t)(Eurydice_slice_index(v, (size_t)7U, int16_t, int16_t *) >> 3U); in libcrux_ml_kem_vector_portable_serialize_serialize_11_int()
5992 uint8_t ret[22U]) { in libcrux_ml_kem_vector_portable_serialize_serialize_11()
5994 Eurydice_array_to_subslice2(v.elements, (size_t)0U, (size_t)8U, int16_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_11()
5997 Eurydice_array_to_subslice2(v.elements, (size_t)8U, (size_t)16U, in libcrux_ml_kem_vector_portable_serialize_serialize_11()
5999 uint8_t result[22U] = {0U}; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6000 result[0U] = r0_10.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6001 result[1U] = r0_10.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6002 result[2U] = r0_10.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6003 result[3U] = r0_10.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6004 result[4U] = r0_10.f4; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6005 result[5U] = r0_10.f5; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6006 result[6U] = r0_10.f6; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6007 result[7U] = r0_10.f7; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6008 result[8U] = r0_10.f8; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6009 result[9U] = r0_10.f9; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6010 result[10U] = r0_10.f10; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6011 result[11U] = r11_21.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6012 result[12U] = r11_21.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6013 result[13U] = r11_21.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6014 result[14U] = r11_21.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6015 result[15U] = r11_21.f4; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6016 result[16U] = r11_21.f5; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6017 result[17U] = r11_21.f6; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6018 result[18U] = r11_21.f7; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6019 result[19U] = r11_21.f8; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6020 result[20U] = r11_21.f9; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6021 result[21U] = r11_21.f10; in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6022 memcpy(ret, result, (size_t)22U * sizeof(uint8_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_11()
6031 uint8_t ret[22U]) { in libcrux_ml_kem_vector_portable_serialize_11_0d()
6050 ((int16_t)Eurydice_slice_index(bytes, (size_t)1U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6052 << 8U | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6053 (int16_t)Eurydice_slice_index(bytes, (size_t)0U, uint8_t, uint8_t *); in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6055 ((int16_t)Eurydice_slice_index(bytes, (size_t)2U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6057 << 5U | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6058 (int16_t)Eurydice_slice_index(bytes, (size_t)1U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6059 3U; in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6061 (((int16_t)Eurydice_slice_index(bytes, (size_t)4U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6063 << 10U | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6064 (int16_t)Eurydice_slice_index(bytes, (size_t)3U, uint8_t, uint8_t *) in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6065 << 2U) | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6066 (int16_t)Eurydice_slice_index(bytes, (size_t)2U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6067 6U; in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6069 ((int16_t)Eurydice_slice_index(bytes, (size_t)5U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6071 << 7U | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6072 (int16_t)Eurydice_slice_index(bytes, (size_t)4U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6073 1U; in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6075 ((int16_t)Eurydice_slice_index(bytes, (size_t)6U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6077 << 4U | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6078 (int16_t)Eurydice_slice_index(bytes, (size_t)5U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6079 4U; in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6081 (((int16_t)Eurydice_slice_index(bytes, (size_t)8U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6083 << 9U | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6084 (int16_t)Eurydice_slice_index(bytes, (size_t)7U, uint8_t, uint8_t *) in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6085 << 1U) | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6086 (int16_t)Eurydice_slice_index(bytes, (size_t)6U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6087 7U; in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6089 ((int16_t)Eurydice_slice_index(bytes, (size_t)9U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6091 << 6U | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6092 (int16_t)Eurydice_slice_index(bytes, (size_t)8U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6093 2U; in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6095 (int16_t)Eurydice_slice_index(bytes, (size_t)10U, uint8_t, uint8_t *) in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6096 << 3U | in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6097 (int16_t)Eurydice_slice_index(bytes, (size_t)9U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6098 5U; in libcrux_ml_kem_vector_portable_serialize_deserialize_11_int()
6112 lit.elements[0U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6113 lit.elements[1U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6114 lit.elements[2U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6115 lit.elements[3U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6116 lit.elements[4U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6117 lit.elements[5U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6118 lit.elements[6U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6119 lit.elements[7U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6120 lit.elements[8U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6121 lit.elements[9U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6122 lit.elements[10U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6123 lit.elements[11U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6124 lit.elements[12U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6125 lit.elements[13U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6126 lit.elements[14U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6127 lit.elements[15U] = (int16_t)0; in libcrux_ml_kem_vector_portable_vector_type_zero()
6134 Eurydice_slice_subslice2(bytes, (size_t)0U, (size_t)11U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6137 Eurydice_slice_subslice2(bytes, (size_t)11U, (size_t)22U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6140 v.elements[0U] = v0_7.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6141 v.elements[1U] = v0_7.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6142 v.elements[2U] = v0_7.thd; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6143 v.elements[3U] = v0_7.f3; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6144 v.elements[4U] = v0_7.f4; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6145 v.elements[5U] = v0_7.f5; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6146 v.elements[6U] = v0_7.f6; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6147 v.elements[7U] = v0_7.f7; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6148 v.elements[8U] = v8_15.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6149 v.elements[9U] = v8_15.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6150 v.elements[10U] = v8_15.thd; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6151 v.elements[11U] = v8_15.f3; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6152 v.elements[12U] = v8_15.f4; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6153 v.elements[13U] = v8_15.f5; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6154 v.elements[14U] = v8_15.f6; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6155 v.elements[15U] = v8_15.f7; in libcrux_ml_kem_vector_portable_serialize_deserialize_11()
6171 int16_t ret[16U]) { in libcrux_ml_kem_vector_portable_vector_type_to_i16_array()
6172 memcpy(ret, x.elements, (size_t)16U * sizeof(int16_t)); in libcrux_ml_kem_vector_portable_vector_type_to_i16_array()
6181 int16_t ret[16U]) { in libcrux_ml_kem_vector_portable_to_i16_array_0d()
6187 [256U][16U] = {{255U, 255U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6188 255U, 255U, 255U, 255U, 255U, 255U, 255U},
6189 {0U, 1U, 255U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6190 255U, 255U, 255U, 255U, 255U, 255U},
6191 {2U, 3U, 255U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6192 255U, 255U, 255U, 255U, 255U, 255U},
6193 {0U, 1U, 2U, 3U, 255U, 255U, 255U, 255U, 255U, 255U,
6194 255U, 255U, 255U, 255U, 255U, 255U},
6195 {4U, 5U, 255U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6196 255U, 255U, 255U, 255U, 255U, 255U},
6197 {0U, 1U, 4U, 5U, 255U, 255U, 255U, 255U, 255U, 255U,
6198 255U, 255U, 255U, 255U, 255U, 255U},
6199 {2U, 3U, 4U, 5U, 255U, 255U, 255U, 255U, 255U, 255U,
6200 255U, 255U, 255U, 255U, 255U, 255U},
6201 {0U, 1U, 2U, 3U, 4U, 5U, 255U, 255U, 255U, 255U, 255U,
6202 255U, 255U, 255U, 255U, 255U},
6203 {6U, 7U, 255U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6204 255U, 255U, 255U, 255U, 255U, 255U},
6205 {0U, 1U, 6U, 7U, 255U, 255U, 255U, 255U, 255U, 255U,
6206 255U, 255U, 255U, 255U, 255U, 255U},
6207 {2U, 3U, 6U, 7U, 255U, 255U, 255U, 255U, 255U, 255U,
6208 255U, 255U, 255U, 255U, 255U, 255U},
6209 {0U, 1U, 2U, 3U, 6U, 7U, 255U, 255U, 255U, 255U, 255U,
6210 255U, 255U, 255U, 255U, 255U},
6211 {4U, 5U, 6U, 7U, 255U, 255U, 255U, 255U, 255U, 255U,
6212 255U, 255U, 255U, 255U, 255U, 255U},
6213 {0U, 1U, 4U, 5U, 6U, 7U, 255U, 255U, 255U, 255U, 255U,
6214 255U, 255U, 255U, 255U, 255U},
6215 {2U, 3U, 4U, 5U, 6U, 7U, 255U, 255U, 255U, 255U, 255U,
6216 255U, 255U, 255U, 255U, 255U},
6217 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 255U, 255U, 255U, 255U,
6218 255U, 255U, 255U, 255U},
6219 {8U, 9U, 255U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6220 255U, 255U, 255U, 255U, 255U, 255U},
6221 {0U, 1U, 8U, 9U, 255U, 255U, 255U, 255U, 255U, 255U,
6222 255U, 255U, 255U, 255U, 255U, 255U},
6223 {2U, 3U, 8U, 9U, 255U, 255U, 255U, 255U, 255U, 255U,
6224 255U, 255U, 255U, 255U, 255U, 255U},
6225 {0U, 1U, 2U, 3U, 8U, 9U, 255U, 255U, 255U, 255U, 255U,
6226 255U, 255U, 255U, 255U, 255U},
6227 {4U, 5U, 8U, 9U, 255U, 255U, 255U, 255U, 255U, 255U,
6228 255U, 255U, 255U, 255U, 255U, 255U},
6229 {0U, 1U, 4U, 5U, 8U, 9U, 255U, 255U, 255U, 255U, 255U,
6230 255U, 255U, 255U, 255U, 255U},
6231 {2U, 3U, 4U, 5U, 8U, 9U, 255U, 255U, 255U, 255U, 255U,
6232 255U, 255U, 255U, 255U, 255U},
6233 {0U, 1U, 2U, 3U, 4U, 5U, 8U, 9U, 255U, 255U, 255U, 255U,
6234 255U, 255U, 255U, 255U},
6235 {6U, 7U, 8U, 9U, 255U, 255U, 255U, 255U, 255U, 255U,
6236 255U, 255U, 255U, 255U, 255U, 255U},
6237 {0U, 1U, 6U, 7U, 8U, 9U, 255U, 255U, 255U, 255U, 255U,
6238 255U, 255U, 255U, 255U, 255U},
6239 {2U, 3U, 6U, 7U, 8U, 9U, 255U, 255U, 255U, 255U, 255U,
6240 255U, 255U, 255U, 255U, 255U},
6241 {0U, 1U, 2U, 3U, 6U, 7U, 8U, 9U, 255U, 255U, 255U, 255U,
6242 255U, 255U, 255U, 255U},
6243 {4U, 5U, 6U, 7U, 8U, 9U, 255U, 255U, 255U, 255U, 255U,
6244 255U, 255U, 255U, 255U, 255U},
6245 {0U, 1U, 4U, 5U, 6U, 7U, 8U, 9U, 255U, 255U, 255U, 255U,
6246 255U, 255U, 255U, 255U},
6247 {2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 255U, 255U, 255U, 255U,
6248 255U, 255U, 255U, 255U},
6249 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 255U, 255U,
6250 255U, 255U, 255U, 255U},
6251 {10U, 11U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6252 255U, 255U, 255U, 255U, 255U, 255U, 255U},
6253 {0U, 1U, 10U, 11U, 255U, 255U, 255U, 255U, 255U, 255U,
6254 255U, 255U, 255U, 255U, 255U, 255U},
6255 {2U, 3U, 10U, 11U, 255U, 255U, 255U, 255U, 255U, 255U,
6256 255U, 255U, 255U, 255U, 255U, 255U},
6257 {0U, 1U, 2U, 3U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6258 255U, 255U, 255U, 255U, 255U},
6259 {4U, 5U, 10U, 11U, 255U, 255U, 255U, 255U, 255U, 255U,
6260 255U, 255U, 255U, 255U, 255U, 255U},
6261 {0U, 1U, 4U, 5U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6262 255U, 255U, 255U, 255U, 255U},
6263 {2U, 3U, 4U, 5U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6264 255U, 255U, 255U, 255U, 255U},
6265 {0U, 1U, 2U, 3U, 4U, 5U, 10U, 11U, 255U, 255U, 255U,
6266 255U, 255U, 255U, 255U, 255U},
6267 {6U, 7U, 10U, 11U, 255U, 255U, 255U, 255U, 255U, 255U,
6268 255U, 255U, 255U, 255U, 255U, 255U},
6269 {0U, 1U, 6U, 7U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6270 255U, 255U, 255U, 255U, 255U},
6271 {2U, 3U, 6U, 7U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6272 255U, 255U, 255U, 255U, 255U},
6273 {0U, 1U, 2U, 3U, 6U, 7U, 10U, 11U, 255U, 255U, 255U,
6274 255U, 255U, 255U, 255U, 255U},
6275 {4U, 5U, 6U, 7U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6276 255U, 255U, 255U, 255U, 255U},
6277 {0U, 1U, 4U, 5U, 6U, 7U, 10U, 11U, 255U, 255U, 255U,
6278 255U, 255U, 255U, 255U, 255U},
6279 {2U, 3U, 4U, 5U, 6U, 7U, 10U, 11U, 255U, 255U, 255U,
6280 255U, 255U, 255U, 255U, 255U},
6281 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 10U, 11U, 255U, 255U,
6282 255U, 255U, 255U, 255U},
6283 {8U, 9U, 10U, 11U, 255U, 255U, 255U, 255U, 255U, 255U,
6284 255U, 255U, 255U, 255U, 255U, 255U},
6285 {0U, 1U, 8U, 9U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6286 255U, 255U, 255U, 255U, 255U},
6287 {2U, 3U, 8U, 9U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6288 255U, 255U, 255U, 255U, 255U},
6289 {0U, 1U, 2U, 3U, 8U, 9U, 10U, 11U, 255U, 255U, 255U,
6290 255U, 255U, 255U, 255U, 255U},
6291 {4U, 5U, 8U, 9U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6292 255U, 255U, 255U, 255U, 255U},
6293 {0U, 1U, 4U, 5U, 8U, 9U, 10U, 11U, 255U, 255U, 255U,
6294 255U, 255U, 255U, 255U, 255U},
6295 {2U, 3U, 4U, 5U, 8U, 9U, 10U, 11U, 255U, 255U, 255U,
6296 255U, 255U, 255U, 255U, 255U},
6297 {0U, 1U, 2U, 3U, 4U, 5U, 8U, 9U, 10U, 11U, 255U, 255U,
6298 255U, 255U, 255U, 255U},
6299 {6U, 7U, 8U, 9U, 10U, 11U, 255U, 255U, 255U, 255U, 255U,
6300 255U, 255U, 255U, 255U, 255U},
6301 {0U, 1U, 6U, 7U, 8U, 9U, 10U, 11U, 255U, 255U, 255U,
6302 255U, 255U, 255U, 255U, 255U},
6303 {2U, 3U, 6U, 7U, 8U, 9U, 10U, 11U, 255U, 255U, 255U,
6304 255U, 255U, 255U, 255U, 255U},
6305 {0U, 1U, 2U, 3U, 6U, 7U, 8U, 9U, 10U, 11U, 255U, 255U,
6306 255U, 255U, 255U, 255U},
6307 {4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 255U, 255U, 255U,
6308 255U, 255U, 255U, 255U, 255U},
6309 {0U, 1U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 255U, 255U,
6310 255U, 255U, 255U, 255U},
6311 {2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 255U, 255U,
6312 255U, 255U, 255U, 255U},
6313 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 255U,
6314 255U, 255U, 255U},
6315 {12U, 13U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6316 255U, 255U, 255U, 255U, 255U, 255U, 255U},
6317 {0U, 1U, 12U, 13U, 255U, 255U, 255U, 255U, 255U, 255U,
6318 255U, 255U, 255U, 255U, 255U, 255U},
6319 {2U, 3U, 12U, 13U, 255U, 255U, 255U, 255U, 255U, 255U,
6320 255U, 255U, 255U, 255U, 255U, 255U},
6321 {0U, 1U, 2U, 3U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6322 255U, 255U, 255U, 255U, 255U},
6323 {4U, 5U, 12U, 13U, 255U, 255U, 255U, 255U, 255U, 255U,
6324 255U, 255U, 255U, 255U, 255U, 255U},
6325 {0U, 1U, 4U, 5U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6326 255U, 255U, 255U, 255U, 255U},
6327 {2U, 3U, 4U, 5U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6328 255U, 255U, 255U, 255U, 255U},
6329 {0U, 1U, 2U, 3U, 4U, 5U, 12U, 13U, 255U, 255U, 255U,
6330 255U, 255U, 255U, 255U, 255U},
6331 {6U, 7U, 12U, 13U, 255U, 255U, 255U, 255U, 255U, 255U,
6332 255U, 255U, 255U, 255U, 255U, 255U},
6333 {0U, 1U, 6U, 7U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6334 255U, 255U, 255U, 255U, 255U},
6335 {2U, 3U, 6U, 7U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6336 255U, 255U, 255U, 255U, 255U},
6337 {0U, 1U, 2U, 3U, 6U, 7U, 12U, 13U, 255U, 255U, 255U,
6338 255U, 255U, 255U, 255U, 255U},
6339 {4U, 5U, 6U, 7U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6340 255U, 255U, 255U, 255U, 255U},
6341 {0U, 1U, 4U, 5U, 6U, 7U, 12U, 13U, 255U, 255U, 255U,
6342 255U, 255U, 255U, 255U, 255U},
6343 {2U, 3U, 4U, 5U, 6U, 7U, 12U, 13U, 255U, 255U, 255U,
6344 255U, 255U, 255U, 255U, 255U},
6345 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 12U, 13U, 255U, 255U,
6346 255U, 255U, 255U, 255U},
6347 {8U, 9U, 12U, 13U, 255U, 255U, 255U, 255U, 255U, 255U,
6348 255U, 255U, 255U, 255U, 255U, 255U},
6349 {0U, 1U, 8U, 9U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6350 255U, 255U, 255U, 255U, 255U},
6351 {2U, 3U, 8U, 9U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6352 255U, 255U, 255U, 255U, 255U},
6353 {0U, 1U, 2U, 3U, 8U, 9U, 12U, 13U, 255U, 255U, 255U,
6354 255U, 255U, 255U, 255U, 255U},
6355 {4U, 5U, 8U, 9U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6356 255U, 255U, 255U, 255U, 255U},
6357 {0U, 1U, 4U, 5U, 8U, 9U, 12U, 13U, 255U, 255U, 255U,
6358 255U, 255U, 255U, 255U, 255U},
6359 {2U, 3U, 4U, 5U, 8U, 9U, 12U, 13U, 255U, 255U, 255U,
6360 255U, 255U, 255U, 255U, 255U},
6361 {0U, 1U, 2U, 3U, 4U, 5U, 8U, 9U, 12U, 13U, 255U, 255U,
6362 255U, 255U, 255U, 255U},
6363 {6U, 7U, 8U, 9U, 12U, 13U, 255U, 255U, 255U, 255U, 255U,
6364 255U, 255U, 255U, 255U, 255U},
6365 {0U, 1U, 6U, 7U, 8U, 9U, 12U, 13U, 255U, 255U, 255U,
6366 255U, 255U, 255U, 255U, 255U},
6367 {2U, 3U, 6U, 7U, 8U, 9U, 12U, 13U, 255U, 255U, 255U,
6368 255U, 255U, 255U, 255U, 255U},
6369 {0U, 1U, 2U, 3U, 6U, 7U, 8U, 9U, 12U, 13U, 255U, 255U,
6370 255U, 255U, 255U, 255U},
6371 {4U, 5U, 6U, 7U, 8U, 9U, 12U, 13U, 255U, 255U, 255U,
6372 255U, 255U, 255U, 255U, 255U},
6373 {0U, 1U, 4U, 5U, 6U, 7U, 8U, 9U, 12U, 13U, 255U, 255U,
6374 255U, 255U, 255U, 255U},
6375 {2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 12U, 13U, 255U, 255U,
6376 255U, 255U, 255U, 255U},
6377 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 12U, 13U, 255U,
6378 255U, 255U, 255U},
6379 {10U, 11U, 12U, 13U, 255U, 255U, 255U, 255U, 255U, 255U,
6380 255U, 255U, 255U, 255U, 255U, 255U},
6381 {0U, 1U, 10U, 11U, 12U, 13U, 255U, 255U, 255U, 255U,
6382 255U, 255U, 255U, 255U, 255U, 255U},
6383 {2U, 3U, 10U, 11U, 12U, 13U, 255U, 255U, 255U, 255U,
6384 255U, 255U, 255U, 255U, 255U, 255U},
6385 {0U, 1U, 2U, 3U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6386 255U, 255U, 255U, 255U, 255U},
6387 {4U, 5U, 10U, 11U, 12U, 13U, 255U, 255U, 255U, 255U,
6388 255U, 255U, 255U, 255U, 255U, 255U},
6389 {0U, 1U, 4U, 5U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6390 255U, 255U, 255U, 255U, 255U},
6391 {2U, 3U, 4U, 5U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6392 255U, 255U, 255U, 255U, 255U},
6393 {0U, 1U, 2U, 3U, 4U, 5U, 10U, 11U, 12U, 13U, 255U, 255U,
6394 255U, 255U, 255U, 255U},
6395 {6U, 7U, 10U, 11U, 12U, 13U, 255U, 255U, 255U, 255U,
6396 255U, 255U, 255U, 255U, 255U, 255U},
6397 {0U, 1U, 6U, 7U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6398 255U, 255U, 255U, 255U, 255U},
6399 {2U, 3U, 6U, 7U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6400 255U, 255U, 255U, 255U, 255U},
6401 {0U, 1U, 2U, 3U, 6U, 7U, 10U, 11U, 12U, 13U, 255U, 255U,
6402 255U, 255U, 255U, 255U},
6403 {4U, 5U, 6U, 7U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6404 255U, 255U, 255U, 255U, 255U},
6405 {0U, 1U, 4U, 5U, 6U, 7U, 10U, 11U, 12U, 13U, 255U, 255U,
6406 255U, 255U, 255U, 255U},
6407 {2U, 3U, 4U, 5U, 6U, 7U, 10U, 11U, 12U, 13U, 255U, 255U,
6408 255U, 255U, 255U, 255U},
6409 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 10U, 11U, 12U, 13U,
6410 255U, 255U, 255U, 255U},
6411 {8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U, 255U, 255U,
6412 255U, 255U, 255U, 255U, 255U, 255U},
6413 {0U, 1U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6414 255U, 255U, 255U, 255U, 255U},
6415 {2U, 3U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6416 255U, 255U, 255U, 255U, 255U},
6417 {0U, 1U, 2U, 3U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U,
6418 255U, 255U, 255U, 255U},
6419 {4U, 5U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6420 255U, 255U, 255U, 255U, 255U},
6421 {0U, 1U, 4U, 5U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U,
6422 255U, 255U, 255U, 255U},
6423 {2U, 3U, 4U, 5U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U,
6424 255U, 255U, 255U, 255U},
6425 {0U, 1U, 2U, 3U, 4U, 5U, 8U, 9U, 10U, 11U, 12U, 13U,
6426 255U, 255U, 255U, 255U},
6427 {6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U, 255U,
6428 255U, 255U, 255U, 255U, 255U},
6429 {0U, 1U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U,
6430 255U, 255U, 255U, 255U},
6431 {2U, 3U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U,
6432 255U, 255U, 255U, 255U},
6433 {0U, 1U, 2U, 3U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U,
6434 255U, 255U, 255U, 255U},
6435 {4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 255U, 255U,
6436 255U, 255U, 255U, 255U},
6437 {0U, 1U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U,
6438 255U, 255U, 255U, 255U},
6439 {2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U,
6440 255U, 255U, 255U, 255U},
6441 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 12U,
6442 13U, 255U, 255U},
6443 {14U, 15U, 255U, 255U, 255U, 255U, 255U, 255U, 255U,
6444 255U, 255U, 255U, 255U, 255U, 255U, 255U},
6445 {0U, 1U, 14U, 15U, 255U, 255U, 255U, 255U, 255U, 255U,
6446 255U, 255U, 255U, 255U, 255U, 255U},
6447 {2U, 3U, 14U, 15U, 255U, 255U, 255U, 255U, 255U, 255U,
6448 255U, 255U, 255U, 255U, 255U, 255U},
6449 {0U, 1U, 2U, 3U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6450 255U, 255U, 255U, 255U, 255U},
6451 {4U, 5U, 14U, 15U, 255U, 255U, 255U, 255U, 255U, 255U,
6452 255U, 255U, 255U, 255U, 255U, 255U},
6453 {0U, 1U, 4U, 5U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6454 255U, 255U, 255U, 255U, 255U},
6455 {2U, 3U, 4U, 5U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6456 255U, 255U, 255U, 255U, 255U},
6457 {0U, 1U, 2U, 3U, 4U, 5U, 14U, 15U, 255U, 255U, 255U,
6458 255U, 255U, 255U, 255U, 255U},
6459 {6U, 7U, 14U, 15U, 255U, 255U, 255U, 255U, 255U, 255U,
6460 255U, 255U, 255U, 255U, 255U, 255U},
6461 {0U, 1U, 6U, 7U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6462 255U, 255U, 255U, 255U, 255U},
6463 {2U, 3U, 6U, 7U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6464 255U, 255U, 255U, 255U, 255U},
6465 {0U, 1U, 2U, 3U, 6U, 7U, 14U, 15U, 255U, 255U, 255U,
6466 255U, 255U, 255U, 255U, 255U},
6467 {4U, 5U, 6U, 7U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6468 255U, 255U, 255U, 255U, 255U},
6469 {0U, 1U, 4U, 5U, 6U, 7U, 14U, 15U, 255U, 255U, 255U,
6470 255U, 255U, 255U, 255U, 255U},
6471 {2U, 3U, 4U, 5U, 6U, 7U, 14U, 15U, 255U, 255U, 255U,
6472 255U, 255U, 255U, 255U, 255U},
6473 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 14U, 15U, 255U, 255U,
6474 255U, 255U, 255U, 255U},
6475 {8U, 9U, 14U, 15U, 255U, 255U, 255U, 255U, 255U, 255U,
6476 255U, 255U, 255U, 255U, 255U, 255U},
6477 {0U, 1U, 8U, 9U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6478 255U, 255U, 255U, 255U, 255U},
6479 {2U, 3U, 8U, 9U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6480 255U, 255U, 255U, 255U, 255U},
6481 {0U, 1U, 2U, 3U, 8U, 9U, 14U, 15U, 255U, 255U, 255U,
6482 255U, 255U, 255U, 255U, 255U},
6483 {4U, 5U, 8U, 9U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6484 255U, 255U, 255U, 255U, 255U},
6485 {0U, 1U, 4U, 5U, 8U, 9U, 14U, 15U, 255U, 255U, 255U,
6486 255U, 255U, 255U, 255U, 255U},
6487 {2U, 3U, 4U, 5U, 8U, 9U, 14U, 15U, 255U, 255U, 255U,
6488 255U, 255U, 255U, 255U, 255U},
6489 {0U, 1U, 2U, 3U, 4U, 5U, 8U, 9U, 14U, 15U, 255U, 255U,
6490 255U, 255U, 255U, 255U},
6491 {6U, 7U, 8U, 9U, 14U, 15U, 255U, 255U, 255U, 255U, 255U,
6492 255U, 255U, 255U, 255U, 255U},
6493 {0U, 1U, 6U, 7U, 8U, 9U, 14U, 15U, 255U, 255U, 255U,
6494 255U, 255U, 255U, 255U, 255U},
6495 {2U, 3U, 6U, 7U, 8U, 9U, 14U, 15U, 255U, 255U, 255U,
6496 255U, 255U, 255U, 255U, 255U},
6497 {0U, 1U, 2U, 3U, 6U, 7U, 8U, 9U, 14U, 15U, 255U, 255U,
6498 255U, 255U, 255U, 255U},
6499 {4U, 5U, 6U, 7U, 8U, 9U, 14U, 15U, 255U, 255U, 255U,
6500 255U, 255U, 255U, 255U, 255U},
6501 {0U, 1U, 4U, 5U, 6U, 7U, 8U, 9U, 14U, 15U, 255U, 255U,
6502 255U, 255U, 255U, 255U},
6503 {2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 14U, 15U, 255U, 255U,
6504 255U, 255U, 255U, 255U},
6505 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 14U, 15U, 255U,
6506 255U, 255U, 255U},
6507 {10U, 11U, 14U, 15U, 255U, 255U, 255U, 255U, 255U, 255U,
6508 255U, 255U, 255U, 255U, 255U, 255U},
6509 {0U, 1U, 10U, 11U, 14U, 15U, 255U, 255U, 255U, 255U,
6510 255U, 255U, 255U, 255U, 255U, 255U},
6511 {2U, 3U, 10U, 11U, 14U, 15U, 255U, 255U, 255U, 255U,
6512 255U, 255U, 255U, 255U, 255U, 255U},
6513 {0U, 1U, 2U, 3U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6514 255U, 255U, 255U, 255U, 255U},
6515 {4U, 5U, 10U, 11U, 14U, 15U, 255U, 255U, 255U, 255U,
6516 255U, 255U, 255U, 255U, 255U, 255U},
6517 {0U, 1U, 4U, 5U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6518 255U, 255U, 255U, 255U, 255U},
6519 {2U, 3U, 4U, 5U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6520 255U, 255U, 255U, 255U, 255U},
6521 {0U, 1U, 2U, 3U, 4U, 5U, 10U, 11U, 14U, 15U, 255U, 255U,
6522 255U, 255U, 255U, 255U},
6523 {6U, 7U, 10U, 11U, 14U, 15U, 255U, 255U, 255U, 255U,
6524 255U, 255U, 255U, 255U, 255U, 255U},
6525 {0U, 1U, 6U, 7U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6526 255U, 255U, 255U, 255U, 255U},
6527 {2U, 3U, 6U, 7U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6528 255U, 255U, 255U, 255U, 255U},
6529 {0U, 1U, 2U, 3U, 6U, 7U, 10U, 11U, 14U, 15U, 255U, 255U,
6530 255U, 255U, 255U, 255U},
6531 {4U, 5U, 6U, 7U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6532 255U, 255U, 255U, 255U, 255U},
6533 {0U, 1U, 4U, 5U, 6U, 7U, 10U, 11U, 14U, 15U, 255U, 255U,
6534 255U, 255U, 255U, 255U},
6535 {2U, 3U, 4U, 5U, 6U, 7U, 10U, 11U, 14U, 15U, 255U, 255U,
6536 255U, 255U, 255U, 255U},
6537 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 10U, 11U, 14U, 15U,
6538 255U, 255U, 255U, 255U},
6539 {8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U, 255U, 255U,
6540 255U, 255U, 255U, 255U, 255U, 255U},
6541 {0U, 1U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6542 255U, 255U, 255U, 255U, 255U},
6543 {2U, 3U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6544 255U, 255U, 255U, 255U, 255U},
6545 {0U, 1U, 2U, 3U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U,
6546 255U, 255U, 255U, 255U},
6547 {4U, 5U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6548 255U, 255U, 255U, 255U, 255U},
6549 {0U, 1U, 4U, 5U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U,
6550 255U, 255U, 255U, 255U},
6551 {2U, 3U, 4U, 5U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U,
6552 255U, 255U, 255U, 255U},
6553 {0U, 1U, 2U, 3U, 4U, 5U, 8U, 9U, 10U, 11U, 14U, 15U,
6554 255U, 255U, 255U, 255U},
6555 {6U, 7U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U, 255U,
6556 255U, 255U, 255U, 255U, 255U},
6557 {0U, 1U, 6U, 7U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U,
6558 255U, 255U, 255U, 255U},
6559 {2U, 3U, 6U, 7U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U,
6560 255U, 255U, 255U, 255U},
6561 {0U, 1U, 2U, 3U, 6U, 7U, 8U, 9U, 10U, 11U, 14U, 15U,
6562 255U, 255U, 255U, 255U},
6563 {4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 14U, 15U, 255U, 255U,
6564 255U, 255U, 255U, 255U},
6565 {0U, 1U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 14U, 15U,
6566 255U, 255U, 255U, 255U},
6567 {2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 14U, 15U,
6568 255U, 255U, 255U, 255U},
6569 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 14U,
6570 15U, 255U, 255U},
6571 {12U, 13U, 14U, 15U, 255U, 255U, 255U, 255U, 255U, 255U,
6572 255U, 255U, 255U, 255U, 255U, 255U},
6573 {0U, 1U, 12U, 13U, 14U, 15U, 255U, 255U, 255U, 255U,
6574 255U, 255U, 255U, 255U, 255U, 255U},
6575 {2U, 3U, 12U, 13U, 14U, 15U, 255U, 255U, 255U, 255U,
6576 255U, 255U, 255U, 255U, 255U, 255U},
6577 {0U, 1U, 2U, 3U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6578 255U, 255U, 255U, 255U, 255U},
6579 {4U, 5U, 12U, 13U, 14U, 15U, 255U, 255U, 255U, 255U,
6580 255U, 255U, 255U, 255U, 255U, 255U},
6581 {0U, 1U, 4U, 5U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6582 255U, 255U, 255U, 255U, 255U},
6583 {2U, 3U, 4U, 5U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6584 255U, 255U, 255U, 255U, 255U},
6585 {0U, 1U, 2U, 3U, 4U, 5U, 12U, 13U, 14U, 15U, 255U, 255U,
6586 255U, 255U, 255U, 255U},
6587 {6U, 7U, 12U, 13U, 14U, 15U, 255U, 255U, 255U, 255U,
6588 255U, 255U, 255U, 255U, 255U, 255U},
6589 {0U, 1U, 6U, 7U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6590 255U, 255U, 255U, 255U, 255U},
6591 {2U, 3U, 6U, 7U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6592 255U, 255U, 255U, 255U, 255U},
6593 {0U, 1U, 2U, 3U, 6U, 7U, 12U, 13U, 14U, 15U, 255U, 255U,
6594 255U, 255U, 255U, 255U},
6595 {4U, 5U, 6U, 7U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6596 255U, 255U, 255U, 255U, 255U},
6597 {0U, 1U, 4U, 5U, 6U, 7U, 12U, 13U, 14U, 15U, 255U, 255U,
6598 255U, 255U, 255U, 255U},
6599 {2U, 3U, 4U, 5U, 6U, 7U, 12U, 13U, 14U, 15U, 255U, 255U,
6600 255U, 255U, 255U, 255U},
6601 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 12U, 13U, 14U, 15U,
6602 255U, 255U, 255U, 255U},
6603 {8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U, 255U, 255U,
6604 255U, 255U, 255U, 255U, 255U, 255U},
6605 {0U, 1U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6606 255U, 255U, 255U, 255U, 255U},
6607 {2U, 3U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6608 255U, 255U, 255U, 255U, 255U},
6609 {0U, 1U, 2U, 3U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U,
6610 255U, 255U, 255U, 255U},
6611 {4U, 5U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6612 255U, 255U, 255U, 255U, 255U},
6613 {0U, 1U, 4U, 5U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U,
6614 255U, 255U, 255U, 255U},
6615 {2U, 3U, 4U, 5U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U,
6616 255U, 255U, 255U, 255U},
6617 {0U, 1U, 2U, 3U, 4U, 5U, 8U, 9U, 12U, 13U, 14U, 15U,
6618 255U, 255U, 255U, 255U},
6619 {6U, 7U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6620 255U, 255U, 255U, 255U, 255U},
6621 {0U, 1U, 6U, 7U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U,
6622 255U, 255U, 255U, 255U},
6623 {2U, 3U, 6U, 7U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U,
6624 255U, 255U, 255U, 255U},
6625 {0U, 1U, 2U, 3U, 6U, 7U, 8U, 9U, 12U, 13U, 14U, 15U,
6626 255U, 255U, 255U, 255U},
6627 {4U, 5U, 6U, 7U, 8U, 9U, 12U, 13U, 14U, 15U, 255U, 255U,
6628 255U, 255U, 255U, 255U},
6629 {0U, 1U, 4U, 5U, 6U, 7U, 8U, 9U, 12U, 13U, 14U, 15U,
6630 255U, 255U, 255U, 255U},
6631 {2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 12U, 13U, 14U, 15U,
6632 255U, 255U, 255U, 255U},
6633 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 12U, 13U, 14U,
6634 15U, 255U, 255U},
6635 {10U, 11U, 12U, 13U, 14U, 15U, 255U, 255U, 255U, 255U,
6636 255U, 255U, 255U, 255U, 255U, 255U},
6637 {0U, 1U, 10U, 11U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6638 255U, 255U, 255U, 255U, 255U},
6639 {2U, 3U, 10U, 11U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6640 255U, 255U, 255U, 255U, 255U},
6641 {0U, 1U, 2U, 3U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6642 255U, 255U, 255U, 255U, 255U},
6643 {4U, 5U, 10U, 11U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6644 255U, 255U, 255U, 255U, 255U},
6645 {0U, 1U, 4U, 5U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6646 255U, 255U, 255U, 255U, 255U},
6647 {2U, 3U, 4U, 5U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6648 255U, 255U, 255U, 255U, 255U},
6649 {0U, 1U, 2U, 3U, 4U, 5U, 10U, 11U, 12U, 13U, 14U, 15U,
6650 255U, 255U, 255U, 255U},
6651 {6U, 7U, 10U, 11U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6652 255U, 255U, 255U, 255U, 255U},
6653 {0U, 1U, 6U, 7U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6654 255U, 255U, 255U, 255U, 255U},
6655 {2U, 3U, 6U, 7U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6656 255U, 255U, 255U, 255U, 255U},
6657 {0U, 1U, 2U, 3U, 6U, 7U, 10U, 11U, 12U, 13U, 14U, 15U,
6658 255U, 255U, 255U, 255U},
6659 {4U, 5U, 6U, 7U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6660 255U, 255U, 255U, 255U, 255U},
6661 {0U, 1U, 4U, 5U, 6U, 7U, 10U, 11U, 12U, 13U, 14U, 15U,
6662 255U, 255U, 255U, 255U},
6663 {2U, 3U, 4U, 5U, 6U, 7U, 10U, 11U, 12U, 13U, 14U, 15U,
6664 255U, 255U, 255U, 255U},
6665 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 10U, 11U, 12U, 13U, 14U,
6666 15U, 255U, 255U},
6667 {8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U, 255U, 255U, 255U,
6668 255U, 255U, 255U, 255U, 255U},
6669 {0U, 1U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6670 255U, 255U, 255U, 255U, 255U},
6671 {2U, 3U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6672 255U, 255U, 255U, 255U, 255U},
6673 {0U, 1U, 2U, 3U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
6674 255U, 255U, 255U, 255U},
6675 {4U, 5U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6676 255U, 255U, 255U, 255U, 255U},
6677 {0U, 1U, 4U, 5U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
6678 255U, 255U, 255U, 255U},
6679 {2U, 3U, 4U, 5U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
6680 255U, 255U, 255U, 255U},
6681 {0U, 1U, 2U, 3U, 4U, 5U, 8U, 9U, 10U, 11U, 12U, 13U, 14U,
6682 15U, 255U, 255U},
6683 {6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U, 255U,
6684 255U, 255U, 255U, 255U, 255U},
6685 {0U, 1U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
6686 255U, 255U, 255U, 255U},
6687 {2U, 3U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
6688 255U, 255U, 255U, 255U},
6689 {0U, 1U, 2U, 3U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 14U,
6690 15U, 255U, 255U},
6691 {4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
6692 255U, 255U, 255U, 255U},
6693 {0U, 1U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 14U,
6694 15U, 255U, 255U},
6695 {2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 12U, 13U, 14U,
6696 15U, 255U, 255U},
6697 {0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U, 10U, 11U, 12U,
6698 13U, 14U, 15U}};
6713 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_arithmetic_add()
6717 lhs.elements[uu____0] = lhs.elements[uu____0] + rhs->elements[i0]; in libcrux_ml_kem_vector_portable_arithmetic_add()
6737 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_arithmetic_sub()
6741 lhs.elements[uu____0] = lhs.elements[uu____0] - rhs->elements[i0]; in libcrux_ml_kem_vector_portable_arithmetic_sub()
6760 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_arithmetic_multiply_by_constant()
6782 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_arithmetic_bitwise_and_with_constant()
6808 .start = (size_t)0U, in libcrux_ml_kem_vector_portable_arithmetic_cond_subtract_3329()
6819 v.elements[uu____1] = v.elements[uu____1] - (int16_t)3329; in libcrux_ml_kem_vector_portable_arithmetic_cond_subtract_3329()
6852 - result ≡ value (mod FIELD_MODULUS)
6853 - the absolute value of `result` is bound as follows:
6864 (LIBCRUX_ML_KEM_VECTOR_PORTABLE_ARITHMETIC_BARRETT_R >> 1U); in libcrux_ml_kem_vector_portable_arithmetic_barrett_reduce_element()
6869 return value - quotient * LIBCRUX_ML_KEM_VECTOR_TRAITS_FIELD_MODULUS; in libcrux_ml_kem_vector_portable_arithmetic_barrett_reduce_element()
6875 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_arithmetic_barrett_reduce()
6895 #define LIBCRUX_ML_KEM_VECTOR_PORTABLE_ARITHMETIC_MONTGOMERY_SHIFT (16U)
6907 - o ≡ value · MONTGOMERY_R^(-1) (mod FIELD_MODULUS)
6908 - the absolute value of `o` is bound as follows:
6931 return value_high - c; in libcrux_ml_kem_vector_portable_arithmetic_montgomery_reduce_element()
6942 representative `x · y · MONTGOMERY_R * MONTGOMERY_R^{-1} ≡ x · y (mod
6955 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_arithmetic_montgomery_multiply_by_constant()
6981 Compress_d: ℤq -> ℤ_{2ᵈ}
7001 int16_t shifted = (int16_t)1664 - (int16_t)fe; in libcrux_ml_kem_vector_portable_compress_compress_message_coefficient()
7002 int16_t mask = shifted >> 15U; in libcrux_ml_kem_vector_portable_compress_compress_message_coefficient()
7004 int16_t shifted_positive_in_range = shifted_to_positive - (int16_t)832; in libcrux_ml_kem_vector_portable_compress_compress_message_coefficient()
7005 return (uint8_t)(shifted_positive_in_range >> 15U & (int16_t)1); in libcrux_ml_kem_vector_portable_compress_compress_message_coefficient()
7011 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_compress_1()
7034 return value & ((1U << (uint32_t)n) - 1U); in libcrux_ml_kem_vector_portable_arithmetic_get_n_least_significant_bits()
7043 compressed = compressed >> 35U; in libcrux_ml_kem_vector_portable_compress_compress_ciphertext_coefficient()
7054 v->elements[j], zeta); in libcrux_ml_kem_vector_portable_ntt_ntt_step()
7055 v->elements[j] = v->elements[i] - t; in libcrux_ml_kem_vector_portable_ntt_ntt_step()
7056 v->elements[i] = v->elements[i] + t; in libcrux_ml_kem_vector_portable_ntt_ntt_step()
7063 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta0, (size_t)0U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7064 (size_t)2U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7065 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta0, (size_t)1U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7066 (size_t)3U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7067 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta1, (size_t)4U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7068 (size_t)6U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7069 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta1, (size_t)5U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7070 (size_t)7U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7071 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta2, (size_t)8U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7072 (size_t)10U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7073 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta2, (size_t)9U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7074 (size_t)11U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7075 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta3, (size_t)12U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7076 (size_t)14U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7077 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta3, (size_t)13U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7078 (size_t)15U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_1_step()
7098 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta0, (size_t)0U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7099 (size_t)4U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7100 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta0, (size_t)1U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7101 (size_t)5U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7102 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta0, (size_t)2U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7103 (size_t)6U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7104 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta0, (size_t)3U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7105 (size_t)7U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7106 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta1, (size_t)8U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7107 (size_t)12U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7108 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta1, (size_t)9U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7109 (size_t)13U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7110 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta1, (size_t)10U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7111 (size_t)14U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7112 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta1, (size_t)11U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7113 (size_t)15U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_2_step()
7131 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta, (size_t)0U, (size_t)8U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7132 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta, (size_t)1U, (size_t)9U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7133 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta, (size_t)2U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7134 (size_t)10U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7135 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta, (size_t)3U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7136 (size_t)11U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7137 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta, (size_t)4U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7138 (size_t)12U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7139 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta, (size_t)5U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7140 (size_t)13U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7141 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta, (size_t)6U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7142 (size_t)14U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7143 libcrux_ml_kem_vector_portable_ntt_ntt_step(&v, zeta, (size_t)7U, in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7144 (size_t)15U); in libcrux_ml_kem_vector_portable_ntt_ntt_layer_3_step()
7161 int16_t a_minus_b = v->elements[j] - v->elements[i]; in libcrux_ml_kem_vector_portable_ntt_inv_ntt_step()
7162 v->elements[i] = in libcrux_ml_kem_vector_portable_ntt_inv_ntt_step()
7164 v->elements[i] + v->elements[j]); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_step()
7165 v->elements[j] = in libcrux_ml_kem_vector_portable_ntt_inv_ntt_step()
7174 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta0, (size_t)0U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7175 (size_t)2U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7176 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta0, (size_t)1U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7177 (size_t)3U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7178 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta1, (size_t)4U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7179 (size_t)6U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7180 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta1, (size_t)5U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7181 (size_t)7U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7182 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta2, (size_t)8U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7183 (size_t)10U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7184 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta2, (size_t)9U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7185 (size_t)11U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7186 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta3, (size_t)12U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7187 (size_t)14U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7188 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta3, (size_t)13U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7189 (size_t)15U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_1_step()
7209 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta0, (size_t)0U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7210 (size_t)4U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7211 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta0, (size_t)1U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7212 (size_t)5U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7213 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta0, (size_t)2U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7214 (size_t)6U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7215 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta0, (size_t)3U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7216 (size_t)7U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7217 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta1, (size_t)8U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7218 (size_t)12U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7219 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta1, (size_t)9U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7220 (size_t)13U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7221 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta1, (size_t)10U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7222 (size_t)14U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7223 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta1, (size_t)11U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7224 (size_t)15U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_2_step()
7243 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta, (size_t)0U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7244 (size_t)8U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7245 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta, (size_t)1U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7246 (size_t)9U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7247 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta, (size_t)2U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7248 (size_t)10U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7249 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta, (size_t)3U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7250 (size_t)11U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7251 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta, (size_t)4U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7252 (size_t)12U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7253 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta, (size_t)5U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7254 (size_t)13U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7255 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta, (size_t)6U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7256 (size_t)14U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7257 libcrux_ml_kem_vector_portable_ntt_inv_ntt_step(&v, zeta, (size_t)7U, in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7258 (size_t)15U); in libcrux_ml_kem_vector_portable_ntt_inv_ntt_layer_3_step()
7274 modulus `X² - zeta`.
7301 (int32_t)a->elements[i] * (int32_t)b->elements[i] + in libcrux_ml_kem_vector_portable_ntt_ntt_multiply_binomials()
7304 (int32_t)a->elements[j] * (int32_t)b->elements[j]) * in libcrux_ml_kem_vector_portable_ntt_ntt_multiply_binomials()
7308 (int32_t)a->elements[i] * (int32_t)b->elements[j] + in libcrux_ml_kem_vector_portable_ntt_ntt_multiply_binomials()
7309 (int32_t)a->elements[j] * (int32_t)b->elements[i]); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply_binomials()
7310 out->elements[i] = o0; in libcrux_ml_kem_vector_portable_ntt_ntt_multiply_binomials()
7311 out->elements[j] = o1; in libcrux_ml_kem_vector_portable_ntt_ntt_multiply_binomials()
7322 lhs, rhs, zeta0, (size_t)0U, (size_t)1U, &out); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply()
7324 lhs, rhs, -zeta0, (size_t)2U, (size_t)3U, &out); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply()
7326 lhs, rhs, zeta1, (size_t)4U, (size_t)5U, &out); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply()
7328 lhs, rhs, -zeta1, (size_t)6U, (size_t)7U, &out); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply()
7330 lhs, rhs, zeta2, (size_t)8U, (size_t)9U, &out); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply()
7332 lhs, rhs, -zeta2, (size_t)10U, (size_t)11U, &out); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply()
7334 lhs, rhs, zeta3, (size_t)12U, (size_t)13U, &out); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply()
7336 lhs, rhs, -zeta3, (size_t)14U, (size_t)15U, &out); in libcrux_ml_kem_vector_portable_ntt_ntt_multiply()
7356 uint8_t ret[2U]) { in libcrux_ml_kem_vector_portable_serialize_serialize_1()
7357 uint8_t result[2U] = {0U}; in libcrux_ml_kem_vector_portable_serialize_serialize_1()
7358 for (size_t i = (size_t)0U; i < (size_t)8U; i++) { in libcrux_ml_kem_vector_portable_serialize_serialize_1()
7360 size_t uu____0 = (size_t)0U; in libcrux_ml_kem_vector_portable_serialize_serialize_1()
7364 for (size_t i = (size_t)8U; i < (size_t)16U; i++) { in libcrux_ml_kem_vector_portable_serialize_serialize_1()
7366 size_t uu____1 = (size_t)1U; in libcrux_ml_kem_vector_portable_serialize_serialize_1()
7369 << (uint32_t)(i0 - (size_t)8U); in libcrux_ml_kem_vector_portable_serialize_serialize_1()
7371 memcpy(ret, result, (size_t)2U * sizeof(uint8_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_1()
7380 uint8_t ret[2U]) { in libcrux_ml_kem_vector_portable_serialize_1_0d()
7388 for (size_t i = (size_t)0U; i < (size_t)8U; i++) { in libcrux_ml_kem_vector_portable_serialize_deserialize_1()
7391 v, (size_t)0U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_1()
7393 1U); in libcrux_ml_kem_vector_portable_serialize_deserialize_1()
7395 for (size_t i = (size_t)8U; in libcrux_ml_kem_vector_portable_serialize_deserialize_1()
7399 v, (size_t)1U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_1()
7400 (uint32_t)(i0 - (size_t)8U) & in libcrux_ml_kem_vector_portable_serialize_deserialize_1()
7401 1U); in libcrux_ml_kem_vector_portable_serialize_deserialize_1()
7425 (uint32_t)(uint8_t)Eurydice_slice_index(v, (size_t)1U, int16_t, int16_t *) in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7426 << 4U | in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7427 (uint32_t)(uint8_t)Eurydice_slice_index(v, (size_t)0U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7430 (uint32_t)(uint8_t)Eurydice_slice_index(v, (size_t)3U, int16_t, int16_t *) in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7431 << 4U | in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7432 (uint32_t)(uint8_t)Eurydice_slice_index(v, (size_t)2U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7435 (uint32_t)(uint8_t)Eurydice_slice_index(v, (size_t)5U, int16_t, int16_t *) in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7436 << 4U | in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7437 (uint32_t)(uint8_t)Eurydice_slice_index(v, (size_t)4U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7440 (uint32_t)(uint8_t)Eurydice_slice_index(v, (size_t)7U, int16_t, int16_t *) in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7441 << 4U | in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7442 (uint32_t)(uint8_t)Eurydice_slice_index(v, (size_t)6U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_4_int()
7451 uint8_t ret[8U]) { in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7454 Eurydice_array_to_subslice2(v.elements, (size_t)0U, (size_t)8U, in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7458 Eurydice_array_to_subslice2(v.elements, (size_t)8U, (size_t)16U, in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7460 uint8_t result[8U] = {0U}; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7461 result[0U] = result0_3.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7462 result[1U] = result0_3.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7463 result[2U] = result0_3.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7464 result[3U] = result0_3.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7465 result[4U] = result4_7.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7466 result[5U] = result4_7.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7467 result[6U] = result4_7.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7468 result[7U] = result4_7.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7469 memcpy(ret, result, (size_t)8U * sizeof(uint8_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_4()
7478 uint8_t ret[8U]) { in libcrux_ml_kem_vector_portable_serialize_4_0d()
7485 int16_t v0 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)0U, in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7487 15U); in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7488 int16_t v1 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)0U, in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7490 4U & in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7491 15U); in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7492 int16_t v2 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)1U, in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7494 15U); in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7495 int16_t v3 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)1U, in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7497 4U & in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7498 15U); in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7499 int16_t v4 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)2U, in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7501 15U); in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7502 int16_t v5 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)2U, in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7504 4U & in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7505 15U); in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7506 int16_t v6 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)3U, in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7508 15U); in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7509 int16_t v7 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)3U, in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7511 4U & in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7512 15U); in libcrux_ml_kem_vector_portable_serialize_deserialize_4_int()
7526 Eurydice_slice_subslice2(bytes, (size_t)0U, (size_t)4U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7528 Eurydice_slice_subslice2(bytes, (size_t)4U, (size_t)8U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7531 v.elements[0U] = v0_7.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7532 v.elements[1U] = v0_7.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7533 v.elements[2U] = v0_7.thd; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7534 v.elements[3U] = v0_7.f3; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7535 v.elements[4U] = v0_7.f4; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7536 v.elements[5U] = v0_7.f5; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7537 v.elements[6U] = v0_7.f6; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7538 v.elements[7U] = v0_7.f7; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7539 v.elements[8U] = v8_15.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7540 v.elements[9U] = v8_15.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7541 v.elements[10U] = v8_15.thd; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7542 v.elements[11U] = v8_15.f3; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7543 v.elements[12U] = v8_15.f4; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7544 v.elements[13U] = v8_15.f5; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7545 v.elements[14U] = v8_15.f6; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7546 v.elements[15U] = v8_15.f7; in libcrux_ml_kem_vector_portable_serialize_deserialize_4()
7570 (uint8_t)(Eurydice_slice_index(v, (size_t)0U, int16_t, int16_t *) | in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7571 Eurydice_slice_index(v, (size_t)1U, int16_t, int16_t *) << 5U); in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7573 (uint8_t)((Eurydice_slice_index(v, (size_t)1U, int16_t, int16_t *) >> 3U | in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7574 Eurydice_slice_index(v, (size_t)2U, int16_t, int16_t *) in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7575 << 2U) | in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7576 Eurydice_slice_index(v, (size_t)3U, int16_t, int16_t *) << 7U); in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7578 (uint8_t)(Eurydice_slice_index(v, (size_t)3U, int16_t, int16_t *) >> 1U | in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7579 Eurydice_slice_index(v, (size_t)4U, int16_t, int16_t *) << 4U); in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7581 (uint8_t)((Eurydice_slice_index(v, (size_t)4U, int16_t, int16_t *) >> 4U | in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7582 Eurydice_slice_index(v, (size_t)5U, int16_t, int16_t *) in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7583 << 1U) | in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7584 Eurydice_slice_index(v, (size_t)6U, int16_t, int16_t *) << 6U); in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7586 (uint8_t)(Eurydice_slice_index(v, (size_t)6U, int16_t, int16_t *) >> 2U | in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7587 Eurydice_slice_index(v, (size_t)7U, int16_t, int16_t *) << 3U); in libcrux_ml_kem_vector_portable_serialize_serialize_5_int()
7595 uint8_t ret[10U]) { in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7597 Eurydice_array_to_subslice2(v.elements, (size_t)0U, (size_t)8U, int16_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7599 Eurydice_array_to_subslice2(v.elements, (size_t)8U, (size_t)16U, in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7601 uint8_t result[10U] = {0U}; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7602 result[0U] = r0_4.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7603 result[1U] = r0_4.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7604 result[2U] = r0_4.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7605 result[3U] = r0_4.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7606 result[4U] = r0_4.f4; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7607 result[5U] = r5_9.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7608 result[6U] = r5_9.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7609 result[7U] = r5_9.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7610 result[8U] = r5_9.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7611 result[9U] = r5_9.f4; in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7612 memcpy(ret, result, (size_t)10U * sizeof(uint8_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_5()
7621 uint8_t ret[10U]) { in libcrux_ml_kem_vector_portable_serialize_5_0d()
7628 int16_t v0 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)0U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7630 31U); in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7631 int16_t v1 = (int16_t)(((uint32_t)Eurydice_slice_index(bytes, (size_t)1U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7633 3U) << 3U | in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7634 (uint32_t)Eurydice_slice_index(bytes, (size_t)0U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7636 5U); in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7637 int16_t v2 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)1U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7639 2U & in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7640 31U); in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7641 int16_t v3 = (int16_t)(((uint32_t)Eurydice_slice_index(bytes, (size_t)2U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7643 15U) in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7644 << 1U | in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7645 (uint32_t)Eurydice_slice_index(bytes, (size_t)1U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7647 7U); in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7648 int16_t v4 = (int16_t)(((uint32_t)Eurydice_slice_index(bytes, (size_t)3U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7650 1U) << 4U | in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7651 (uint32_t)Eurydice_slice_index(bytes, (size_t)2U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7653 4U); in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7654 int16_t v5 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)3U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7656 1U & in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7657 31U); in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7658 int16_t v6 = (int16_t)(((uint32_t)Eurydice_slice_index(bytes, (size_t)4U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7660 7U) << 2U | in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7661 (uint32_t)Eurydice_slice_index(bytes, (size_t)3U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7663 6U); in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7664 int16_t v7 = (int16_t)((uint32_t)Eurydice_slice_index(bytes, (size_t)4U, in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7666 3U); in libcrux_ml_kem_vector_portable_serialize_deserialize_5_int()
7680 Eurydice_slice_subslice2(bytes, (size_t)0U, (size_t)5U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7682 Eurydice_slice_subslice2(bytes, (size_t)5U, (size_t)10U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7685 v.elements[0U] = v0_7.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7686 v.elements[1U] = v0_7.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7687 v.elements[2U] = v0_7.thd; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7688 v.elements[3U] = v0_7.f3; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7689 v.elements[4U] = v0_7.f4; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7690 v.elements[5U] = v0_7.f5; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7691 v.elements[6U] = v0_7.f6; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7692 v.elements[7U] = v0_7.f7; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7693 v.elements[8U] = v8_15.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7694 v.elements[9U] = v8_15.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7695 v.elements[10U] = v8_15.thd; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7696 v.elements[11U] = v8_15.f3; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7697 v.elements[12U] = v8_15.f4; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7698 v.elements[13U] = v8_15.f5; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7699 v.elements[14U] = v8_15.f6; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7700 v.elements[15U] = v8_15.f7; in libcrux_ml_kem_vector_portable_serialize_deserialize_5()
7716 (uint8_t)(Eurydice_slice_index(v, (size_t)0U, int16_t, int16_t *) & in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7718 uint8_t r1 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)1U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7721 << 2U | in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7722 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)0U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7724 8U & in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7726 uint8_t r2 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)2U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7729 << 4U | in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7730 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)1U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7732 6U & in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7734 uint8_t r3 = (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)3U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7737 << 6U | in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7738 (uint32_t)(uint8_t)(Eurydice_slice_index(v, (size_t)2U, int16_t, in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7740 4U & in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7743 (uint8_t)(Eurydice_slice_index(v, (size_t)3U, int16_t, int16_t *) >> 2U & in libcrux_ml_kem_vector_portable_serialize_serialize_10_int()
7752 uint8_t ret[20U]) { in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7754 Eurydice_array_to_subslice2(v.elements, (size_t)0U, (size_t)4U, int16_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7756 Eurydice_array_to_subslice2(v.elements, (size_t)4U, (size_t)8U, int16_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7758 Eurydice_array_to_subslice2(v.elements, (size_t)8U, (size_t)12U, in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7761 Eurydice_array_to_subslice2(v.elements, (size_t)12U, (size_t)16U, in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7763 uint8_t result[20U] = {0U}; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7764 result[0U] = r0_4.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7765 result[1U] = r0_4.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7766 result[2U] = r0_4.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7767 result[3U] = r0_4.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7768 result[4U] = r0_4.f4; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7769 result[5U] = r5_9.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7770 result[6U] = r5_9.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7771 result[7U] = r5_9.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7772 result[8U] = r5_9.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7773 result[9U] = r5_9.f4; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7774 result[10U] = r10_14.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7775 result[11U] = r10_14.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7776 result[12U] = r10_14.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7777 result[13U] = r10_14.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7778 result[14U] = r10_14.f4; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7779 result[15U] = r15_19.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7780 result[16U] = r15_19.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7781 result[17U] = r15_19.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7782 result[18U] = r15_19.f3; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7783 result[19U] = r15_19.f4; in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7784 memcpy(ret, result, (size_t)20U * sizeof(uint8_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_10()
7793 uint8_t ret[20U]) { in libcrux_ml_kem_vector_portable_serialize_10_0d()
7801 ((int16_t)Eurydice_slice_index(bytes, (size_t)1U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7803 << 8U | in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7804 ((int16_t)Eurydice_slice_index(bytes, (size_t)0U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7807 ((int16_t)Eurydice_slice_index(bytes, (size_t)2U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7809 << 6U | in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7810 (int16_t)Eurydice_slice_index(bytes, (size_t)1U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7811 2U; in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7813 ((int16_t)Eurydice_slice_index(bytes, (size_t)3U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7815 << 4U | in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7816 (int16_t)Eurydice_slice_index(bytes, (size_t)2U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7817 4U; in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7819 (int16_t)Eurydice_slice_index(bytes, (size_t)4U, uint8_t, uint8_t *) in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7820 << 2U | in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7821 (int16_t)Eurydice_slice_index(bytes, (size_t)3U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7822 6U; in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7824 ((int16_t)Eurydice_slice_index(bytes, (size_t)6U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7826 << 8U | in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7827 ((int16_t)Eurydice_slice_index(bytes, (size_t)5U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7830 ((int16_t)Eurydice_slice_index(bytes, (size_t)7U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7832 << 6U | in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7833 (int16_t)Eurydice_slice_index(bytes, (size_t)6U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7834 2U; in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7836 ((int16_t)Eurydice_slice_index(bytes, (size_t)8U, uint8_t, uint8_t *) & in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7838 << 4U | in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7839 (int16_t)Eurydice_slice_index(bytes, (size_t)7U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7840 4U; in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7842 (int16_t)Eurydice_slice_index(bytes, (size_t)9U, uint8_t, uint8_t *) in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7843 << 2U | in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7844 (int16_t)Eurydice_slice_index(bytes, (size_t)8U, uint8_t, uint8_t *) >> in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7845 6U; in libcrux_ml_kem_vector_portable_serialize_deserialize_10_int()
7859 Eurydice_slice_subslice2(bytes, (size_t)0U, (size_t)10U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7862 Eurydice_slice_subslice2(bytes, (size_t)10U, (size_t)20U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7865 v.elements[0U] = v0_7.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7866 v.elements[1U] = v0_7.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7867 v.elements[2U] = v0_7.thd; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7868 v.elements[3U] = v0_7.f3; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7869 v.elements[4U] = v0_7.f4; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7870 v.elements[5U] = v0_7.f5; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7871 v.elements[6U] = v0_7.f6; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7872 v.elements[7U] = v0_7.f7; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7873 v.elements[8U] = v8_15.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7874 v.elements[9U] = v8_15.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7875 v.elements[10U] = v8_15.thd; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7876 v.elements[11U] = v8_15.f3; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7877 v.elements[12U] = v8_15.f4; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7878 v.elements[13U] = v8_15.f5; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7879 v.elements[14U] = v8_15.f6; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7880 v.elements[15U] = v8_15.f7; in libcrux_ml_kem_vector_portable_serialize_deserialize_10()
7902 (uint8_t)(Eurydice_slice_index(v, (size_t)0U, int16_t, int16_t *) & in libcrux_ml_kem_vector_portable_serialize_serialize_12_int()
7905 (uint8_t)(Eurydice_slice_index(v, (size_t)0U, int16_t, int16_t *) >> 8U | in libcrux_ml_kem_vector_portable_serialize_serialize_12_int()
7906 (Eurydice_slice_index(v, (size_t)1U, int16_t, int16_t *) & in libcrux_ml_kem_vector_portable_serialize_serialize_12_int()
7908 << 4U); in libcrux_ml_kem_vector_portable_serialize_serialize_12_int()
7910 (uint8_t)(Eurydice_slice_index(v, (size_t)1U, int16_t, int16_t *) >> 4U & in libcrux_ml_kem_vector_portable_serialize_serialize_12_int()
7918 uint8_t ret[24U]) { in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7920 Eurydice_array_to_subslice2(v.elements, (size_t)0U, (size_t)2U, int16_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7922 Eurydice_array_to_subslice2(v.elements, (size_t)2U, (size_t)4U, int16_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7924 Eurydice_array_to_subslice2(v.elements, (size_t)4U, (size_t)6U, int16_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7926 Eurydice_array_to_subslice2(v.elements, (size_t)6U, (size_t)8U, int16_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7928 Eurydice_array_to_subslice2(v.elements, (size_t)8U, (size_t)10U, in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7931 Eurydice_array_to_subslice2(v.elements, (size_t)10U, (size_t)12U, in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7934 Eurydice_array_to_subslice2(v.elements, (size_t)12U, (size_t)14U, in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7937 Eurydice_array_to_subslice2(v.elements, (size_t)14U, (size_t)16U, in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7939 uint8_t result[24U] = {0U}; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7940 result[0U] = r0_2.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7941 result[1U] = r0_2.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7942 result[2U] = r0_2.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7943 result[3U] = r3_5.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7944 result[4U] = r3_5.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7945 result[5U] = r3_5.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7946 result[6U] = r6_8.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7947 result[7U] = r6_8.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7948 result[8U] = r6_8.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7949 result[9U] = r9_11.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7950 result[10U] = r9_11.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7951 result[11U] = r9_11.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7952 result[12U] = r12_14.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7953 result[13U] = r12_14.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7954 result[14U] = r12_14.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7955 result[15U] = r15_17.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7956 result[16U] = r15_17.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7957 result[17U] = r15_17.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7958 result[18U] = r18_20.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7959 result[19U] = r18_20.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7960 result[20U] = r18_20.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7961 result[21U] = r21_23.fst; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7962 result[22U] = r21_23.snd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7963 result[23U] = r21_23.thd; in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7964 memcpy(ret, result, (size_t)24U * sizeof(uint8_t)); in libcrux_ml_kem_vector_portable_serialize_serialize_12()
7973 uint8_t ret[24U]) { in libcrux_ml_kem_vector_portable_serialize_12_0d()
7986 (int16_t)Eurydice_slice_index(bytes, (size_t)0U, uint8_t, uint8_t *); in libcrux_ml_kem_vector_portable_serialize_deserialize_12_int()
7988 (int16_t)Eurydice_slice_index(bytes, (size_t)1U, uint8_t, uint8_t *); in libcrux_ml_kem_vector_portable_serialize_deserialize_12_int()
7990 (int16_t)Eurydice_slice_index(bytes, (size_t)2U, uint8_t, uint8_t *); in libcrux_ml_kem_vector_portable_serialize_deserialize_12_int()
7991 int16_t r0 = (byte1 & (int16_t)15) << 8U | (byte0 & (int16_t)255); in libcrux_ml_kem_vector_portable_serialize_deserialize_12_int()
7992 int16_t r1 = byte2 << 4U | (byte1 >> 4U & (int16_t)15); in libcrux_ml_kem_vector_portable_serialize_deserialize_12_int()
7999 Eurydice_slice_subslice2(bytes, (size_t)0U, (size_t)3U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8001 Eurydice_slice_subslice2(bytes, (size_t)3U, (size_t)6U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8003 Eurydice_slice_subslice2(bytes, (size_t)6U, (size_t)9U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8005 Eurydice_slice_subslice2(bytes, (size_t)9U, (size_t)12U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8007 Eurydice_slice_subslice2(bytes, (size_t)12U, (size_t)15U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8010 Eurydice_slice_subslice2(bytes, (size_t)15U, (size_t)18U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8013 Eurydice_slice_subslice2(bytes, (size_t)18U, (size_t)21U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8016 Eurydice_slice_subslice2(bytes, (size_t)21U, (size_t)24U, uint8_t)); in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8019 re.elements[0U] = v0_1.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8020 re.elements[1U] = v0_1.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8021 re.elements[2U] = v2_3.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8022 re.elements[3U] = v2_3.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8023 re.elements[4U] = v4_5.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8024 re.elements[5U] = v4_5.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8025 re.elements[6U] = v6_7.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8026 re.elements[7U] = v6_7.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8027 re.elements[8U] = v8_9.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8028 re.elements[9U] = v8_9.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8029 re.elements[10U] = v10_11.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8030 re.elements[11U] = v10_11.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8031 re.elements[12U] = v12_13.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8032 re.elements[13U] = v12_13.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8033 re.elements[14U] = v14_15.fst; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8034 re.elements[15U] = v14_15.snd; in libcrux_ml_kem_vector_portable_serialize_deserialize_12()
8050 size_t sampled = (size_t)0U; in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8051 for (size_t i = (size_t)0U; i < Eurydice_slice_len(a, uint8_t) / (size_t)3U; in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8054 int16_t b1 = (int16_t)Eurydice_slice_index(a, i0 * (size_t)3U + (size_t)0U, in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8056 int16_t b2 = (int16_t)Eurydice_slice_index(a, i0 * (size_t)3U + (size_t)1U, in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8058 int16_t b3 = (int16_t)Eurydice_slice_index(a, i0 * (size_t)3U + (size_t)2U, in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8060 int16_t d1 = (b2 & (int16_t)15) << 8U | b1; in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8061 int16_t d2 = b3 << 4U | b2 >> 4U; in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8070 if (sampled < (size_t)16U) { in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8078 uu____2 = uu____3 < (size_t)16U; in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8095 uu____2 = uu____3 < (size_t)16U; in libcrux_ml_kem_vector_portable_sampling_rej_sample()
8117 #define LIBCRUX_ML_KEM_MLKEM768_VECTOR_U_COMPRESSION_FACTOR_768 ((size_t)10U)
8121 LIBCRUX_ML_KEM_MLKEM768_VECTOR_U_COMPRESSION_FACTOR_768 / (size_t)8U)
8123 #define LIBCRUX_ML_KEM_MLKEM768_RANK_768 ((size_t)3U)
8128 #define LIBCRUX_ML_KEM_MLKEM768_VECTOR_V_COMPRESSION_FACTOR_768 ((size_t)4U)
8132 LIBCRUX_ML_KEM_MLKEM768_VECTOR_V_COMPRESSION_FACTOR_768 / (size_t)8U)
8140 LIBCRUX_ML_KEM_CONSTANTS_BITS_PER_COEFFICIENT / (size_t)8U)
8143 (LIBCRUX_ML_KEM_MLKEM768_T_AS_NTT_ENCODED_SIZE_768 + (size_t)32U)
8148 LIBCRUX_ML_KEM_CONSTANTS_BITS_PER_COEFFICIENT / (size_t)8U)
8150 #define LIBCRUX_ML_KEM_MLKEM768_ETA1 ((size_t)2U)
8153 (LIBCRUX_ML_KEM_MLKEM768_ETA1 * (size_t)64U)
8155 #define LIBCRUX_ML_KEM_MLKEM768_ETA2 ((size_t)2U)
8158 (LIBCRUX_ML_KEM_MLKEM768_ETA2 * (size_t)64U)
8172 LIBCRUX_ML_KEM_CONSTANTS_BITS_PER_RING_ELEMENT / (size_t)8U)
8186 libcrux_ml_kem_vector_portable_vector_type_PortableVector coefficients[16U];
8202 lit.coefficients[0U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8203 lit.coefficients[1U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8204 lit.coefficients[2U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8205 lit.coefficients[3U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8206 lit.coefficients[4U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8207 lit.coefficients[5U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8208 lit.coefficients[6U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8209 lit.coefficients[7U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8210 lit.coefficients[8U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8211 lit.coefficients[9U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8212 lit.coefficients[10U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8213 lit.coefficients[11U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8214 lit.coefficients[12U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8215 lit.coefficients[13U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8216 lit.coefficients[14U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8217 lit.coefficients[15U] = libcrux_ml_kem_vector_portable_ZERO_0d(); in libcrux_ml_kem_polynomial_ZERO_89_ea()
8225 - K= 3
8243 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_deserialize_to_uncompressed_ring_element_af()
8244 i < Eurydice_slice_len(serialized, uint8_t) / (size_t)24U; i++) { in libcrux_ml_kem_serialize_deserialize_to_uncompressed_ring_element_af()
8247 serialized, i0 * (size_t)24U, i0 * (size_t)24U + (size_t)24U, uint8_t); in libcrux_ml_kem_serialize_deserialize_to_uncompressed_ring_element_af()
8262 - K= 3
8266 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) { in libcrux_ml_kem_ind_cpa_deserialize_secret_key_24()
8267 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_deserialize_secret_key_24()
8268 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_deserialize_secret_key_24()
8271 for (size_t i = (size_t)0U; in libcrux_ml_kem_ind_cpa_deserialize_secret_key_24()
8288 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_deserialize_secret_key_24()
8295 - $3size_t
8298 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U];
8305 - K= 3
8306 - CIPHERTEXT_SIZE= 1088
8307 - U_COMPRESSION_FACTOR= 10
8318 - COEFFICIENT_BITS= 10
8323 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_decompress_ciphertext_coefficient_6b()
8328 decompressed = (decompressed << 1U) + ((int32_t)1 << (uint32_t)(int32_t)10); in libcrux_ml_kem_vector_portable_compress_decompress_ciphertext_coefficient_6b()
8343 - COEFFICIENT_BITS= 10
8363 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_deserialize_then_decompress_10_2c()
8364 i < Eurydice_slice_len(serialized, uint8_t) / (size_t)20U; i++) { in libcrux_ml_kem_serialize_deserialize_then_decompress_10_2c()
8367 serialized, i0 * (size_t)20U, i0 * (size_t)20U + (size_t)20U, uint8_t); in libcrux_ml_kem_serialize_deserialize_then_decompress_10_2c()
8382 - COEFFICIENT_BITS= 11
8387 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_decompress_ciphertext_coefficient_6b0()
8392 decompressed = (decompressed << 1U) + ((int32_t)1 << (uint32_t)(int32_t)11); in libcrux_ml_kem_vector_portable_compress_decompress_ciphertext_coefficient_6b0()
8407 - COEFFICIENT_BITS= 11
8427 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_deserialize_then_decompress_11_8d()
8428 i < Eurydice_slice_len(serialized, uint8_t) / (size_t)22U; i++) { in libcrux_ml_kem_serialize_deserialize_then_decompress_11_8d()
8431 serialized, i0 * (size_t)22U, i0 * (size_t)22U + (size_t)22U, uint8_t); in libcrux_ml_kem_serialize_deserialize_then_decompress_11_8d()
8446 - COMPRESSION_FACTOR= 10
8502 size_t step = (size_t)1U << (uint32_t)layer; in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8503 for (size_t i0 = (size_t)0U; i0 < (size_t)128U >> (uint32_t)layer; i0++) { in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8505 zeta_i[0U] = zeta_i[0U] + (size_t)1U; in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8506 size_t offset = round * step * (size_t)2U; in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8507 size_t offset_vec = offset / (size_t)16U; in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8508 size_t step_vec = step / (size_t)16U; in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8513 re->coefficients[j], re->coefficients[j + step_vec], in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8514 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U]]); in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8517 re->coefficients[j] = x; in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8518 re->coefficients[j + step_vec] = y; in libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51()
8532 for (size_t i = (size_t)0U; i < (size_t)16U; i++) { in libcrux_ml_kem_ntt_ntt_at_layer_3_fd()
8534 zeta_i[0U] = zeta_i[0U] + (size_t)1U; in libcrux_ml_kem_ntt_ntt_at_layer_3_fd()
8537 re->coefficients[round], in libcrux_ml_kem_ntt_ntt_at_layer_3_fd()
8538 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U]]); in libcrux_ml_kem_ntt_ntt_at_layer_3_fd()
8539 re->coefficients[round] = uu____0; in libcrux_ml_kem_ntt_ntt_at_layer_3_fd()
8552 for (size_t i = (size_t)0U; i < (size_t)16U; i++) { in libcrux_ml_kem_ntt_ntt_at_layer_2_ad()
8554 zeta_i[0U] = zeta_i[0U] + (size_t)1U; in libcrux_ml_kem_ntt_ntt_at_layer_2_ad()
8555 re->coefficients[round] = in libcrux_ml_kem_ntt_ntt_at_layer_2_ad()
8557 re->coefficients[round], in libcrux_ml_kem_ntt_ntt_at_layer_2_ad()
8558 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U]], in libcrux_ml_kem_ntt_ntt_at_layer_2_ad()
8559 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U] + in libcrux_ml_kem_ntt_ntt_at_layer_2_ad()
8560 (size_t)1U]); in libcrux_ml_kem_ntt_ntt_at_layer_2_ad()
8561 zeta_i[0U] = zeta_i[0U] + (size_t)1U; in libcrux_ml_kem_ntt_ntt_at_layer_2_ad()
8574 for (size_t i = (size_t)0U; i < (size_t)16U; i++) { in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8576 zeta_i[0U] = zeta_i[0U] + (size_t)1U; in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8577 re->coefficients[round] = in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8579 re->coefficients[round], in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8580 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U]], in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8581 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U] + in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8582 (size_t)1U], in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8583 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U] + in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8584 (size_t)2U], in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8585 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U] + in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8586 (size_t)3U]); in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8587 zeta_i[0U] = zeta_i[0U] + (size_t)3U; in libcrux_ml_kem_ntt_ntt_at_layer_1_a2()
8603 for (size_t i = (size_t)0U; in libcrux_ml_kem_polynomial_poly_barrett_reduce_89_8b()
8608 self->coefficients[i0]); in libcrux_ml_kem_polynomial_poly_barrett_reduce_89_8b()
8609 self->coefficients[i0] = uu____0; in libcrux_ml_kem_polynomial_poly_barrett_reduce_89_8b()
8617 - VECTOR_U_COMPRESSION_FACTOR= 10
8621 size_t zeta_i = (size_t)0U; in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8622 libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51(&zeta_i, re, (size_t)7U, in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8623 (size_t)3328U); in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8624 libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51(&zeta_i, re, (size_t)6U, in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8625 (size_t)3328U); in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8626 libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51(&zeta_i, re, (size_t)5U, in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8627 (size_t)3328U); in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8628 libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51(&zeta_i, re, (size_t)4U, in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8629 (size_t)3328U); in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8630 libcrux_ml_kem_ntt_ntt_at_layer_3_fd(&zeta_i, re, (size_t)3U, (size_t)3328U); in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8631 libcrux_ml_kem_ntt_ntt_at_layer_2_ad(&zeta_i, re, (size_t)2U, (size_t)3328U); in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8632 libcrux_ml_kem_ntt_ntt_at_layer_1_a2(&zeta_i, re, (size_t)1U, (size_t)3328U); in libcrux_ml_kem_ntt_ntt_vector_u_9f()
8644 - K= 3
8645 - CIPHERTEXT_SIZE= 1088
8646 - U_COMPRESSION_FACTOR= 10
8651 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) { in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8652 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 u_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8653 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8656 for (size_t i = (size_t)0U; in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8658 Eurydice_array_to_slice((size_t)1088U, ciphertext, uint8_t), in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8661 (size_t)10U / (size_t)8U); in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8667 (size_t)10U / (size_t)8U), in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8669 (size_t)10U / (size_t)8U) + in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8671 (size_t)10U / (size_t)8U, in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8680 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_deserialize_then_decompress_u_f4()
8687 - COEFFICIENT_BITS= 4
8692 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_decompress_ciphertext_coefficient_6b1()
8697 decompressed = (decompressed << 1U) + ((int32_t)1 << (uint32_t)(int32_t)4); in libcrux_ml_kem_vector_portable_compress_decompress_ciphertext_coefficient_6b1()
8712 - COEFFICIENT_BITS= 4
8732 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_deserialize_then_decompress_4_41()
8733 i < Eurydice_slice_len(serialized, uint8_t) / (size_t)8U; i++) { in libcrux_ml_kem_serialize_deserialize_then_decompress_4_41()
8736 serialized, i0 * (size_t)8U, i0 * (size_t)8U + (size_t)8U, uint8_t); in libcrux_ml_kem_serialize_deserialize_then_decompress_4_41()
8751 - COEFFICIENT_BITS= 5
8756 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_decompress_ciphertext_coefficient_6b2()
8761 decompressed = (decompressed << 1U) + ((int32_t)1 << (uint32_t)(int32_t)5); in libcrux_ml_kem_vector_portable_compress_decompress_ciphertext_coefficient_6b2()
8776 - COEFFICIENT_BITS= 5
8796 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_deserialize_then_decompress_5_4e()
8797 i < Eurydice_slice_len(serialized, uint8_t) / (size_t)10U; i++) { in libcrux_ml_kem_serialize_deserialize_then_decompress_5_4e()
8800 serialized, i0 * (size_t)10U, i0 * (size_t)10U + (size_t)10U, uint8_t); in libcrux_ml_kem_serialize_deserialize_then_decompress_5_4e()
8815 - COMPRESSION_FACTOR= 4
8830 - ζ^(2·BitRev₇(i) + 1))
8866 for (size_t i = (size_t)0U; in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8871 &self->coefficients[i0], &rhs->coefficients[i0], in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8872 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[(size_t)64U + in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8873 (size_t)4U * i0], in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8874 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[(size_t)64U + in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8875 (size_t)4U * i0 + in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8876 (size_t)1U], in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8877 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[(size_t)64U + in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8878 (size_t)4U * i0 + in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8879 (size_t)2U], in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8880 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[(size_t)64U + in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8881 (size_t)4U * i0 + in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8882 (size_t)3U]); in libcrux_ml_kem_polynomial_ntt_multiply_89_2a()
8900 - K= 3
8905 for (size_t i = (size_t)0U; in libcrux_ml_kem_polynomial_add_to_ring_element_89_84()
8908 (size_t)16U, self->coefficients, in libcrux_ml_kem_polynomial_add_to_ring_element_89_84()
8914 libcrux_ml_kem_vector_portable_add_0d(self->coefficients[i0], in libcrux_ml_kem_polynomial_add_to_ring_element_89_84()
8915 &rhs->coefficients[i0]); in libcrux_ml_kem_polynomial_add_to_ring_element_89_84()
8916 self->coefficients[i0] = uu____0; in libcrux_ml_kem_polynomial_add_to_ring_element_89_84()
8929 for (size_t i = (size_t)0U; i < (size_t)16U; i++) { in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8931 zeta_i[0U] = zeta_i[0U] - (size_t)1U; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8932 re->coefficients[round] = in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8934 re->coefficients[round], in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8935 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U]], in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8936 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U] - in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8937 (size_t)1U], in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8938 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U] - in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8939 (size_t)2U], in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8940 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U] - in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8941 (size_t)3U]); in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8942 zeta_i[0U] = zeta_i[0U] - (size_t)3U; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83()
8955 for (size_t i = (size_t)0U; i < (size_t)16U; i++) { in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3()
8957 zeta_i[0U] = zeta_i[0U] - (size_t)1U; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3()
8958 re->coefficients[round] = in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3()
8960 re->coefficients[round], in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3()
8961 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U]], in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3()
8962 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U] - in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3()
8963 (size_t)1U]); in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3()
8964 zeta_i[0U] = zeta_i[0U] - (size_t)1U; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3()
8977 for (size_t i = (size_t)0U; i < (size_t)16U; i++) { in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_3_68()
8979 zeta_i[0U] = zeta_i[0U] - (size_t)1U; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_3_68()
8982 re->coefficients[round], in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_3_68()
8983 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U]]); in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_3_68()
8984 re->coefficients[round] = uu____0; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_3_68()
9020 size_t step = (size_t)1U << (uint32_t)layer; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_4_plus_6e()
9021 for (size_t i0 = (size_t)0U; i0 < (size_t)128U >> (uint32_t)layer; i0++) { in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_4_plus_6e()
9023 zeta_i[0U] = zeta_i[0U] - (size_t)1U; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_4_plus_6e()
9024 size_t offset = round * step * (size_t)2U; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_4_plus_6e()
9033 re->coefficients[j], re->coefficients[j + step_vec], in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_4_plus_6e()
9034 libcrux_ml_kem_polynomial_ZETAS_TIMES_MONTGOMERY_R[zeta_i[0U]]); in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_4_plus_6e()
9037 re->coefficients[j] = x; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_4_plus_6e()
9038 re->coefficients[j + step_vec] = y; in libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_4_plus_6e()
9047 - K= 3
9052 LIBCRUX_ML_KEM_CONSTANTS_COEFFICIENTS_IN_RING_ELEMENT / (size_t)2U; in libcrux_ml_kem_invert_ntt_invert_ntt_montgomery_f6()
9053 libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_1_83(&zeta_i, re, (size_t)1U); in libcrux_ml_kem_invert_ntt_invert_ntt_montgomery_f6()
9054 libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_2_c3(&zeta_i, re, (size_t)2U); in libcrux_ml_kem_invert_ntt_invert_ntt_montgomery_f6()
9055 libcrux_ml_kem_invert_ntt_invert_ntt_at_layer_3_68(&zeta_i, re, (size_t)3U); in libcrux_ml_kem_invert_ntt_invert_ntt_montgomery_f6()
9057 (size_t)4U); in libcrux_ml_kem_invert_ntt_invert_ntt_montgomery_f6()
9059 (size_t)5U); in libcrux_ml_kem_invert_ntt_invert_ntt_montgomery_f6()
9061 (size_t)6U); in libcrux_ml_kem_invert_ntt_invert_ntt_montgomery_f6()
9063 (size_t)7U); in libcrux_ml_kem_invert_ntt_invert_ntt_montgomery_f6()
9081 for (size_t i = (size_t)0U; in libcrux_ml_kem_polynomial_subtract_reduce_89_d4()
9090 libcrux_ml_kem_vector_portable_sub_0d(self->coefficients[i0], in libcrux_ml_kem_polynomial_subtract_reduce_89_d4()
9101 Compute v − InverseNTT(sᵀ ◦ NTT(u))
9107 - K= 3
9116 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_matrix_compute_message_b3()
9131 - SHIFT_BY= 15
9136 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_arithmetic_shift_right_94()
9151 - SHIFT_BY= 15
9184 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re, uint8_t ret[32U]) { in libcrux_ml_kem_serialize_compress_then_serialize_message_aa()
9185 uint8_t serialized[32U] = {0U}; in libcrux_ml_kem_serialize_compress_then_serialize_message_aa()
9186 for (size_t i = (size_t)0U; i < (size_t)16U; i++) { in libcrux_ml_kem_serialize_compress_then_serialize_message_aa()
9194 uint8_t bytes[2U]; in libcrux_ml_kem_serialize_compress_then_serialize_message_aa()
9198 serialized, (size_t)2U * i0, (size_t)2U * i0 + (size_t)2U, uint8_t); in libcrux_ml_kem_serialize_compress_then_serialize_message_aa()
9200 uu____0, Eurydice_array_to_slice((size_t)2U, bytes, uint8_t), uint8_t); in libcrux_ml_kem_serialize_compress_then_serialize_message_aa()
9202 memcpy(ret, serialized, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_serialize_compress_then_serialize_message_aa()
9207 NIST FIPS 203 specification; this is the Kyber CPA-PKE decryption algorithm.
9218 u ← Decompress_{dᵤ}(ByteDecode_{dᵤ}(c₁))
9221 w ← v - NTT-¹(ŝᵀ ◦ NTT(u))
9233 - K= 3
9234 - CIPHERTEXT_SIZE= 1088
9235 - VECTOR_U_ENCODED_SIZE= 960
9236 - U_COMPRESSION_FACTOR= 10
9237 - V_COMPRESSION_FACTOR= 4
9241 uint8_t *ciphertext, uint8_t ret[32U]) { in libcrux_ml_kem_ind_cpa_decrypt_unpacked_6d()
9242 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 u_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_decrypt_unpacked_6d()
9246 Eurydice_array_to_subslice_from((size_t)1088U, ciphertext, in libcrux_ml_kem_ind_cpa_decrypt_unpacked_6d()
9247 (size_t)960U, uint8_t, size_t)); in libcrux_ml_kem_ind_cpa_decrypt_unpacked_6d()
9249 libcrux_ml_kem_matrix_compute_message_b3(&v, secret_key->secret_as_ntt, in libcrux_ml_kem_ind_cpa_decrypt_unpacked_6d()
9251 uint8_t ret0[32U]; in libcrux_ml_kem_ind_cpa_decrypt_unpacked_6d()
9253 memcpy(ret, ret0, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_decrypt_unpacked_6d()
9260 - K= 3
9261 - CIPHERTEXT_SIZE= 1088
9262 - VECTOR_U_ENCODED_SIZE= 960
9263 - U_COMPRESSION_FACTOR= 10
9264 - V_COMPRESSION_FACTOR= 4
9268 uint8_t ret[32U]) { in libcrux_ml_kem_ind_cpa_decrypt_43()
9269 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_decrypt_43()
9272 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 copy_of_secret_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_decrypt_43()
9275 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_decrypt_43()
9280 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_decrypt_43()
9281 uint8_t ret0[32U]; in libcrux_ml_kem_ind_cpa_decrypt_43()
9284 memcpy(ret, ret0, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_decrypt_43()
9294 - K= 3
9297 Eurydice_slice input, uint8_t ret[64U]) { in libcrux_ml_kem_hash_functions_portable_G_f1_e4()
9304 - LEN= 32
9307 Eurydice_slice input, uint8_t ret[32U]) { in libcrux_ml_kem_hash_functions_portable_PRF_2b()
9308 uint8_t digest[32U] = {0U}; in libcrux_ml_kem_hash_functions_portable_PRF_2b()
9310 Eurydice_array_to_slice((size_t)32U, digest, uint8_t), input); in libcrux_ml_kem_hash_functions_portable_PRF_2b()
9311 memcpy(ret, digest, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_hash_functions_portable_PRF_2b()
9321 - K= 3
9322 - LEN= 32
9325 Eurydice_slice input, uint8_t ret[32U]) { in libcrux_ml_kem_hash_functions_portable_PRF_f1_ee()
9333 - PUBLIC_KEY_SIZE= 1152
9334 - K= 3
9359 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_deserialize_to_reduced_ring_element_4c()
9360 i < Eurydice_slice_len(serialized, uint8_t) / (size_t)24U; i++) { in libcrux_ml_kem_serialize_deserialize_to_reduced_ring_element_4c()
9363 serialized, i0 * (size_t)24U, i0 * (size_t)24U + (size_t)24U, uint8_t); in libcrux_ml_kem_serialize_deserialize_to_reduced_ring_element_4c()
9383 - PUBLIC_KEY_SIZE= 1152
9384 - K= 3
9389 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) { in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_33()
9390 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 deserialized_pk[3U]; in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_33()
9391 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_33()
9394 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_33()
9411 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_33()
9419 - K= 3
9431 - K= 3
9434 size_t _i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) { in libcrux_ml_kem_matrix_sample_matrix_A_closure_4b()
9435 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_matrix_sample_matrix_A_closure_4b()
9443 - $3size_t
9446 libcrux_sha3_generic_keccak_KeccakState_48 shake128_state[3U];
9452 - K= 3
9456 uint8_t input[3U][34U]) { in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_b7()
9457 libcrux_sha3_generic_keccak_KeccakState_48 shake128_state[3U]; in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_b7()
9458 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_b7()
9461 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_b7()
9465 Eurydice_array_to_slice((size_t)34U, input[i0], uint8_t)); in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_b7()
9468 libcrux_sha3_generic_keccak_KeccakState_48 copy_of_shake128_state[3U]; in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_b7()
9470 (size_t)3U * sizeof(libcrux_sha3_generic_keccak_KeccakState_48)); in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_b7()
9473 (size_t)3U * sizeof(libcrux_sha3_generic_keccak_KeccakState_48)); in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_b7()
9485 - K= 3
9489 uint8_t input[3U][34U]) { in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_f1_8c()
9491 uint8_t copy_of_input[3U][34U]; in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_f1_8c()
9492 memcpy(copy_of_input, input, (size_t)3U * sizeof(uint8_t[34U])); in libcrux_ml_kem_hash_functions_portable_shake128_init_absorb_f1_8c()
9501 - K= 3
9506 uint8_t ret[3U][504U]) { in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_three_blocks_ca()
9507 uint8_t out[3U][504U] = {{0U}}; in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_three_blocks_ca()
9508 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_three_blocks_ca()
9511 &st->shake128_state[i0], in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_three_blocks_ca()
9512 Eurydice_array_to_slice((size_t)504U, out[i0], uint8_t)); in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_three_blocks_ca()
9514 memcpy(ret, out, (size_t)3U * sizeof(uint8_t[504U])); in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_three_blocks_ca()
9525 - K= 3
9530 uint8_t ret[3U][504U]) { in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_three_blocks_f1_69()
9580 - K= 3
9581 - N= 504
9585 uint8_t randomness[3U][504U], size_t *sampled_coefficients, in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db()
9586 int16_t (*out)[272U]) { in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db()
9587 for (size_t i0 = (size_t)0U; i0 < (size_t)3U; i0++) { in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db()
9589 for (size_t i = (size_t)0U; i < (size_t)504U / (size_t)24U; i++) { in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db()
9594 Eurydice_array_to_subslice2(randomness[i1], r * (size_t)24U, in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db()
9595 r * (size_t)24U + (size_t)24U, uint8_t); in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db()
9599 sampled_coefficients[i1] + (size_t)16U, int16_t)); in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db()
9606 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db()
9623 - K= 3
9628 uint8_t ret[3U][168U]) { in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_block_dd()
9629 uint8_t out[3U][168U] = {{0U}}; in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_block_dd()
9630 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_block_dd()
9633 &st->shake128_state[i0], in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_block_dd()
9634 Eurydice_array_to_slice((size_t)168U, out[i0], uint8_t)); in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_block_dd()
9636 memcpy(ret, out, (size_t)3U * sizeof(uint8_t[168U])); in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_block_dd()
9647 - K= 3
9652 uint8_t ret[3U][168U]) { in libcrux_ml_kem_hash_functions_portable_shake128_squeeze_block_f1_60()
9701 - K= 3
9702 - N= 168
9706 uint8_t randomness[3U][168U], size_t *sampled_coefficients, in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db0()
9707 int16_t (*out)[272U]) { in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db0()
9708 for (size_t i0 = (size_t)0U; i0 < (size_t)3U; i0++) { in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db0()
9710 for (size_t i = (size_t)0U; i < (size_t)168U / (size_t)24U; i++) { in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db0()
9715 Eurydice_array_to_subslice2(randomness[i1], r * (size_t)24U, in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db0()
9716 r * (size_t)24U + (size_t)24U, uint8_t); in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db0()
9720 sampled_coefficients[i1] + (size_t)16U, int16_t)); in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db0()
9727 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_sampling_sample_from_uniform_distribution_next_db0()
9754 for (size_t i = (size_t)0U; in libcrux_ml_kem_polynomial_from_i16_array_89_c1()
9759 Eurydice_slice_subslice2(a, i0 * (size_t)16U, in libcrux_ml_kem_polynomial_from_i16_array_89_c1()
9760 (i0 + (size_t)1U) * (size_t)16U, int16_t)); in libcrux_ml_kem_polynomial_from_i16_array_89_c1()
9771 - K= 3
9774 libcrux_ml_kem_sampling_sample_from_xof_closure_04(int16_t s[272U]) { in libcrux_ml_kem_sampling_sample_from_xof_closure_04()
9776 Eurydice_array_to_subslice2(s, (size_t)0U, (size_t)256U, int16_t)); in libcrux_ml_kem_sampling_sample_from_xof_closure_04()
9784 - K= 3
9787 uint8_t seeds[3U][34U], in libcrux_ml_kem_sampling_sample_from_xof_3f()
9788 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) { in libcrux_ml_kem_sampling_sample_from_xof_3f()
9789 size_t sampled_coefficients[3U] = {0U}; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9790 int16_t out[3U][272U] = {{0U}}; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9792 uint8_t copy_of_seeds[3U][34U]; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9793 memcpy(copy_of_seeds, seeds, (size_t)3U * sizeof(uint8_t[34U])); in libcrux_ml_kem_sampling_sample_from_xof_3f()
9797 uint8_t randomness0[3U][504U]; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9801 uint8_t copy_of_randomness0[3U][504U]; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9802 memcpy(copy_of_randomness0, randomness0, (size_t)3U * sizeof(uint8_t[504U])); in libcrux_ml_kem_sampling_sample_from_xof_3f()
9809 uint8_t randomness[3U][168U]; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9813 uint8_t copy_of_randomness[3U][168U]; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9815 (size_t)3U * sizeof(uint8_t[168U])); in libcrux_ml_kem_sampling_sample_from_xof_3f()
9821 int16_t copy_of_out[3U][272U]; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9822 memcpy(copy_of_out, out, (size_t)3U * sizeof(int16_t[272U])); in libcrux_ml_kem_sampling_sample_from_xof_3f()
9823 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret0[3U]; in libcrux_ml_kem_sampling_sample_from_xof_3f()
9824 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_sampling_sample_from_xof_3f()
9830 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_sampling_sample_from_xof_3f()
9838 - K= 3
9841 uint8_t seed[34U], bool transpose, in libcrux_ml_kem_matrix_sample_matrix_A_38()
9842 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U][3U]) { in libcrux_ml_kem_matrix_sample_matrix_A_38()
9843 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 A_transpose[3U][3U]; in libcrux_ml_kem_matrix_sample_matrix_A_38()
9844 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_matrix_sample_matrix_A_38()
9847 for (size_t i0 = (size_t)0U; i0 < (size_t)3U; i0++) { in libcrux_ml_kem_matrix_sample_matrix_A_38()
9850 uint8_t copy_of_seed[34U]; in libcrux_ml_kem_matrix_sample_matrix_A_38()
9851 memcpy(copy_of_seed, seed, (size_t)34U * sizeof(uint8_t)); in libcrux_ml_kem_matrix_sample_matrix_A_38()
9852 uint8_t seeds[3U][34U]; in libcrux_ml_kem_matrix_sample_matrix_A_38()
9853 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_matrix_sample_matrix_A_38()
9854 memcpy(seeds[i], copy_of_seed, (size_t)34U * sizeof(uint8_t)); in libcrux_ml_kem_matrix_sample_matrix_A_38()
9856 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_matrix_sample_matrix_A_38()
9858 seeds[j][32U] = (uint8_t)i1; in libcrux_ml_kem_matrix_sample_matrix_A_38()
9859 seeds[j][33U] = (uint8_t)j; in libcrux_ml_kem_matrix_sample_matrix_A_38()
9862 uint8_t copy_of_seeds[3U][34U]; in libcrux_ml_kem_matrix_sample_matrix_A_38()
9863 memcpy(copy_of_seeds, seeds, (size_t)3U * sizeof(uint8_t[34U])); in libcrux_ml_kem_matrix_sample_matrix_A_38()
9864 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 sampled[3U]; in libcrux_ml_kem_matrix_sample_matrix_A_38()
9866 for (size_t i = (size_t)0U; in libcrux_ml_kem_matrix_sample_matrix_A_38()
9869 (size_t)3U, sampled, in libcrux_ml_kem_matrix_sample_matrix_A_38()
9883 (size_t)3U * in libcrux_ml_kem_matrix_sample_matrix_A_38()
9884 sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U])); in libcrux_ml_kem_matrix_sample_matrix_A_38()
9894 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 fst[3U];
9904 - K= 3
9905 - ETA= 2
9906 - ETA_RANDOMNESS_SIZE= 128
9916 - K= 3
9917 - LEN= 128
9920 uint8_t (*input)[33U], uint8_t ret[3U][128U]) { in libcrux_ml_kem_hash_functions_portable_PRFxN_c5()
9921 uint8_t out[3U][128U] = {{0U}}; in libcrux_ml_kem_hash_functions_portable_PRFxN_c5()
9922 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_hash_functions_portable_PRFxN_c5()
9925 Eurydice_array_to_slice((size_t)128U, out[i0], uint8_t), in libcrux_ml_kem_hash_functions_portable_PRFxN_c5()
9926 Eurydice_array_to_slice((size_t)33U, input[i0], uint8_t)); in libcrux_ml_kem_hash_functions_portable_PRFxN_c5()
9928 memcpy(ret, out, (size_t)3U * sizeof(uint8_t[128U])); in libcrux_ml_kem_hash_functions_portable_PRFxN_c5()
9938 - K= 3
9939 - LEN= 128
9942 uint8_t (*input)[33U], uint8_t ret[3U][128U]) { in libcrux_ml_kem_hash_functions_portable_PRFxN_f1_93()
9951 such such that `v ∈ {-ETA, -ETA + 1, ..., 0, ..., ETA + 1, ETA}` and:
9954 - If v < 0, Pr[v] = Pr[-v]
9955 - If v >= 0, Pr[v] = BINOMIAL_COEFFICIENT(2 * ETA; ETA - v) / 2 ^ (2 * ETA)
9963 E[X] = (-ETA)Pr[-ETA] + (-(ETA - 1))Pr[-(ETA - 1)] + ... + (ETA - 1)Pr[ETA - 1]
9964 + (ETA)Pr[ETA] = 0 since Pr[-v] = Pr[v] when v < 0.
9970 Var(X) = E[(X - E[X])^2]
9972 = sum_(v=-ETA to ETA)v^2 * (BINOMIAL_COEFFICIENT(2 * ETA; ETA - v) /
9985 x ← ∑(j=0 to η - 1) b[2iη + j]
9986 y ← ∑(j=0 to η - 1) b[2iη + η + j]
10004 int16_t sampled_i16s[256U] = {0U}; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10005 for (size_t i0 = (size_t)0U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10006 i0 < Eurydice_slice_len(randomness, uint8_t) / (size_t)4U; i0++) { in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10009 randomness, chunk_number * (size_t)4U, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10010 chunk_number * (size_t)4U + (size_t)4U, uint8_t); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10012 (((uint32_t)Eurydice_slice_index(byte_chunk, (size_t)0U, uint8_t, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10014 (uint32_t)Eurydice_slice_index(byte_chunk, (size_t)1U, uint8_t, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10016 << 8U) | in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10017 (uint32_t)Eurydice_slice_index(byte_chunk, (size_t)2U, uint8_t, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10019 << 16U) | in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10020 (uint32_t)Eurydice_slice_index(byte_chunk, (size_t)3U, uint8_t, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10022 << 24U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10023 uint32_t even_bits = random_bits_as_u32 & 1431655765U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10024 uint32_t odd_bits = random_bits_as_u32 >> 1U & 1431655765U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10026 for (uint32_t i = 0U; i < CORE_NUM__U32_8__BITS / 4U; i++) { in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10028 uint32_t outcome_set0 = outcome_set * 4U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10030 (int16_t)(coin_toss_outcomes >> (uint32_t)outcome_set0 & 3U); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10032 (int16_t)(coin_toss_outcomes >> (uint32_t)(outcome_set0 + 2U) & 3U); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10033 size_t offset = (size_t)(outcome_set0 >> 2U); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10034 sampled_i16s[(size_t)8U * chunk_number + offset] = outcome_1 - outcome_2; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10038 Eurydice_array_to_slice((size_t)256U, sampled_i16s, int16_t)); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_2_85()
10050 int16_t sampled_i16s[256U] = {0U}; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10051 for (size_t i0 = (size_t)0U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10052 i0 < Eurydice_slice_len(randomness, uint8_t) / (size_t)3U; i0++) { in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10055 randomness, chunk_number * (size_t)3U, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10056 chunk_number * (size_t)3U + (size_t)3U, uint8_t); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10058 ((uint32_t)Eurydice_slice_index(byte_chunk, (size_t)0U, uint8_t, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10060 (uint32_t)Eurydice_slice_index(byte_chunk, (size_t)1U, uint8_t, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10062 << 8U) | in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10063 (uint32_t)Eurydice_slice_index(byte_chunk, (size_t)2U, uint8_t, in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10065 << 16U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10066 uint32_t first_bits = random_bits_as_u24 & 2396745U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10067 uint32_t second_bits = random_bits_as_u24 >> 1U & 2396745U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10068 uint32_t third_bits = random_bits_as_u24 >> 2U & 2396745U; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10074 (int16_t)(coin_toss_outcomes >> (uint32_t)outcome_set0 & 7U); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10077 7U); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10079 sampled_i16s[(size_t)4U * chunk_number + offset] = outcome_1 - outcome_2; in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10083 Eurydice_array_to_slice((size_t)256U, sampled_i16s, int16_t)); in libcrux_ml_kem_sampling_sample_from_binomial_distribution_3_eb()
10090 - ETA= 2
10107 size_t step = LIBCRUX_ML_KEM_POLYNOMIAL_VECTORS_IN_RING_ELEMENT / (size_t)2U; in libcrux_ml_kem_ntt_ntt_at_layer_7_f4()
10108 for (size_t i = (size_t)0U; i < step; i++) { in libcrux_ml_kem_ntt_ntt_at_layer_7_f4()
10112 re->coefficients[j + step], (int16_t)-1600); in libcrux_ml_kem_ntt_ntt_at_layer_7_f4()
10113 re->coefficients[j + step] = in libcrux_ml_kem_ntt_ntt_at_layer_7_f4()
10114 libcrux_ml_kem_vector_portable_sub_0d(re->coefficients[j], &t); in libcrux_ml_kem_ntt_ntt_at_layer_7_f4()
10116 libcrux_ml_kem_vector_portable_add_0d(re->coefficients[j], &t); in libcrux_ml_kem_ntt_ntt_at_layer_7_f4()
10117 re->coefficients[j] = uu____1; in libcrux_ml_kem_ntt_ntt_at_layer_7_f4()
10131 size_t zeta_i = (size_t)1U; in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10132 libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51(&zeta_i, re, (size_t)6U, in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10133 (size_t)3U); in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10134 libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51(&zeta_i, re, (size_t)5U, in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10135 (size_t)3U); in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10136 libcrux_ml_kem_ntt_ntt_at_layer_4_plus_51(&zeta_i, re, (size_t)4U, in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10137 (size_t)3U); in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10138 libcrux_ml_kem_ntt_ntt_at_layer_3_fd(&zeta_i, re, (size_t)3U, (size_t)3U); in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10139 libcrux_ml_kem_ntt_ntt_at_layer_2_ad(&zeta_i, re, (size_t)2U, (size_t)3U); in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10140 libcrux_ml_kem_ntt_ntt_at_layer_1_a2(&zeta_i, re, (size_t)1U, (size_t)3U); in libcrux_ml_kem_ntt_ntt_binomially_sampled_ring_element_0f()
10153 - K= 3
10154 - ETA= 2
10155 - ETA_RANDOMNESS_SIZE= 128
10158 libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc(uint8_t prf_input[33U], in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10160 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10161 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10165 uint8_t copy_of_prf_input[33U]; in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10166 memcpy(copy_of_prf_input, prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10167 uint8_t prf_inputs[3U][33U]; in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10168 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10169 memcpy(prf_inputs[i], copy_of_prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10171 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10173 prf_inputs[i0][32U] = domain_separator; in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10174 domain_separator = (uint32_t)domain_separator + 1U; in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10176 uint8_t prf_outputs[3U][128U]; in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10178 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10182 Eurydice_array_to_slice((size_t)128U, prf_outputs[i0], uint8_t)); in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10186 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 copy_of_re_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10189 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10193 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc()
10203 - K= 3
10204 - ETA2_RANDOMNESS_SIZE= 128
10205 - ETA2= 2
10220 - K= 3
10221 - ETA2_RANDOMNESS_SIZE= 128
10222 - ETA2= 2
10225 libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac(uint8_t prf_input[33U], in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10227 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_1[3U]; in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10228 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10232 uint8_t copy_of_prf_input[33U]; in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10233 memcpy(copy_of_prf_input, prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10234 uint8_t prf_inputs[3U][33U]; in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10235 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10236 memcpy(prf_inputs[i], copy_of_prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10238 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10240 prf_inputs[i0][32U] = domain_separator; in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10241 domain_separator = (uint32_t)domain_separator + 1U; in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10243 uint8_t prf_outputs[3U][128U]; in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10245 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10249 Eurydice_array_to_slice((size_t)128U, prf_outputs[i0], uint8_t)); in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10253 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 copy_of_error_1[3U]; in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10256 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10260 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_sample_ring_element_cbd_ac()
10268 - LEN= 128
10271 Eurydice_slice input, uint8_t ret[128U]) { in libcrux_ml_kem_hash_functions_portable_PRF_2b0()
10272 uint8_t digest[128U] = {0U}; in libcrux_ml_kem_hash_functions_portable_PRF_2b0()
10274 Eurydice_array_to_slice((size_t)128U, digest, uint8_t), input); in libcrux_ml_kem_hash_functions_portable_PRF_2b0()
10275 memcpy(ret, digest, (size_t)128U * sizeof(uint8_t)); in libcrux_ml_kem_hash_functions_portable_PRF_2b0()
10285 - K= 3
10286 - LEN= 128
10289 Eurydice_slice input, uint8_t ret[128U]) { in libcrux_ml_kem_hash_functions_portable_PRF_f1_ee0()
10297 - K= 3
10317 for (size_t i = (size_t)0U; in libcrux_ml_kem_polynomial_add_error_reduce_89_38()
10323 self->coefficients[j], (int16_t)1441); in libcrux_ml_kem_polynomial_add_error_reduce_89_38()
10327 &error->coefficients[j])); in libcrux_ml_kem_polynomial_add_error_reduce_89_38()
10328 self->coefficients[j] = uu____0; in libcrux_ml_kem_polynomial_add_error_reduce_89_38()
10333 Compute u := InvertNTT(Aᵀ ◦ r̂) + e₁
10339 - K= 3
10342 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 (*a_as_ntt)[3U], in libcrux_ml_kem_matrix_compute_vector_u_59()
10345 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) { in libcrux_ml_kem_matrix_compute_vector_u_59()
10346 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 result[3U]; in libcrux_ml_kem_matrix_compute_vector_u_59()
10347 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_matrix_compute_vector_u_59()
10350 for (size_t i0 = (size_t)0U; in libcrux_ml_kem_matrix_compute_vector_u_59()
10353 (size_t)3U, a_as_ntt, in libcrux_ml_kem_matrix_compute_vector_u_59()
10354 libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]), in libcrux_ml_kem_matrix_compute_vector_u_59()
10355 libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]); in libcrux_ml_kem_matrix_compute_vector_u_59()
10359 for (size_t i = (size_t)0U; in libcrux_ml_kem_matrix_compute_vector_u_59()
10362 (size_t)3U, row, in libcrux_ml_kem_matrix_compute_vector_u_59()
10378 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_matrix_compute_vector_u_59()
10404 uint8_t serialized[32U]) { in libcrux_ml_kem_serialize_deserialize_then_decompress_message_0d()
10407 for (size_t i = (size_t)0U; i < (size_t)16U; i++) { in libcrux_ml_kem_serialize_deserialize_then_decompress_message_0d()
10412 Eurydice_array_to_subslice2(serialized, (size_t)2U * i0, in libcrux_ml_kem_serialize_deserialize_then_decompress_message_0d()
10413 (size_t)2U * i0 + (size_t)2U, in libcrux_ml_kem_serialize_deserialize_then_decompress_message_0d()
10437 for (size_t i = (size_t)0U; in libcrux_ml_kem_polynomial_add_message_error_reduce_89_ea()
10445 libcrux_ml_kem_vector_portable_add_0d(self->coefficients[i0], in libcrux_ml_kem_polynomial_add_message_error_reduce_89_ea()
10446 &message->coefficients[i0]); in libcrux_ml_kem_polynomial_add_message_error_reduce_89_ea()
10463 - K= 3
10473 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_matrix_compute_ring_element_v_54()
10489 - COEFFICIENT_BITS= 10
10494 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_compress_02()
10512 - COEFFICIENT_BITS= 10
10524 - OUT_LEN= 320
10528 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re, uint8_t ret[320U]) { in libcrux_ml_kem_serialize_compress_then_serialize_10_fc()
10529 uint8_t serialized[320U] = {0U}; in libcrux_ml_kem_serialize_compress_then_serialize_10_fc()
10530 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_compress_then_serialize_10_fc()
10536 re->coefficients[i0])); in libcrux_ml_kem_serialize_compress_then_serialize_10_fc()
10537 uint8_t bytes[20U]; in libcrux_ml_kem_serialize_compress_then_serialize_10_fc()
10540 serialized, (size_t)20U * i0, (size_t)20U * i0 + (size_t)20U, uint8_t); in libcrux_ml_kem_serialize_compress_then_serialize_10_fc()
10542 uu____0, Eurydice_array_to_slice((size_t)20U, bytes, uint8_t), uint8_t); in libcrux_ml_kem_serialize_compress_then_serialize_10_fc()
10544 memcpy(ret, serialized, (size_t)320U * sizeof(uint8_t)); in libcrux_ml_kem_serialize_compress_then_serialize_10_fc()
10550 - COEFFICIENT_BITS= 11
10555 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_compress_020()
10573 - COEFFICIENT_BITS= 11
10585 - OUT_LEN= 320
10589 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re, uint8_t ret[320U]) { in libcrux_ml_kem_serialize_compress_then_serialize_11_e1()
10590 uint8_t serialized[320U] = {0U}; in libcrux_ml_kem_serialize_compress_then_serialize_11_e1()
10591 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_compress_then_serialize_11_e1()
10597 re->coefficients[i0])); in libcrux_ml_kem_serialize_compress_then_serialize_11_e1()
10598 uint8_t bytes[22U]; in libcrux_ml_kem_serialize_compress_then_serialize_11_e1()
10601 serialized, (size_t)22U * i0, (size_t)22U * i0 + (size_t)22U, uint8_t); in libcrux_ml_kem_serialize_compress_then_serialize_11_e1()
10603 uu____0, Eurydice_array_to_slice((size_t)22U, bytes, uint8_t), uint8_t); in libcrux_ml_kem_serialize_compress_then_serialize_11_e1()
10605 memcpy(ret, serialized, (size_t)320U * sizeof(uint8_t)); in libcrux_ml_kem_serialize_compress_then_serialize_11_e1()
10612 - COMPRESSION_FACTOR= 10
10613 - OUT_LEN= 320
10617 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re, uint8_t ret[320U]) { in libcrux_ml_kem_serialize_compress_then_serialize_ring_element_u_5f()
10618 uint8_t uu____0[320U]; in libcrux_ml_kem_serialize_compress_then_serialize_ring_element_u_5f()
10620 memcpy(ret, uu____0, (size_t)320U * sizeof(uint8_t)); in libcrux_ml_kem_serialize_compress_then_serialize_ring_element_u_5f()
10630 - K= 3
10631 - OUT_LEN= 960
10632 - COMPRESSION_FACTOR= 10
10633 - BLOCK_LEN= 320
10636 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 input[3U], in libcrux_ml_kem_ind_cpa_compress_then_serialize_u_a7()
10638 for (size_t i = (size_t)0U; in libcrux_ml_kem_ind_cpa_compress_then_serialize_u_a7()
10641 (size_t)3U, input, in libcrux_ml_kem_ind_cpa_compress_then_serialize_u_a7()
10648 out, i0 * ((size_t)960U / (size_t)3U), in libcrux_ml_kem_ind_cpa_compress_then_serialize_u_a7()
10649 (i0 + (size_t)1U) * ((size_t)960U / (size_t)3U), uint8_t); in libcrux_ml_kem_ind_cpa_compress_then_serialize_u_a7()
10650 uint8_t ret[320U]; in libcrux_ml_kem_ind_cpa_compress_then_serialize_u_a7()
10654 uu____0, Eurydice_array_to_slice((size_t)320U, ret, uint8_t), uint8_t); in libcrux_ml_kem_ind_cpa_compress_then_serialize_u_a7()
10661 - COEFFICIENT_BITS= 4
10666 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_compress_021()
10684 - COEFFICIENT_BITS= 4
10702 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_compress_then_serialize_4_9a()
10709 uint8_t bytes[8U]; in libcrux_ml_kem_serialize_compress_then_serialize_4_9a()
10712 Eurydice_slice_subslice2(serialized, (size_t)8U * i0, in libcrux_ml_kem_serialize_compress_then_serialize_4_9a()
10713 (size_t)8U * i0 + (size_t)8U, uint8_t), in libcrux_ml_kem_serialize_compress_then_serialize_4_9a()
10714 Eurydice_array_to_slice((size_t)8U, bytes, uint8_t), uint8_t); in libcrux_ml_kem_serialize_compress_then_serialize_4_9a()
10721 - COEFFICIENT_BITS= 5
10726 for (size_t i = (size_t)0U; in libcrux_ml_kem_vector_portable_compress_compress_022()
10744 - COEFFICIENT_BITS= 5
10762 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_compress_then_serialize_5_1f()
10769 uint8_t bytes[10U]; in libcrux_ml_kem_serialize_compress_then_serialize_5_1f()
10772 Eurydice_slice_subslice2(serialized, (size_t)10U * i0, in libcrux_ml_kem_serialize_compress_then_serialize_5_1f()
10773 (size_t)10U * i0 + (size_t)10U, uint8_t), in libcrux_ml_kem_serialize_compress_then_serialize_5_1f()
10774 Eurydice_array_to_slice((size_t)10U, bytes, uint8_t), uint8_t); in libcrux_ml_kem_serialize_compress_then_serialize_5_1f()
10782 - COMPRESSION_FACTOR= 4
10783 - OUT_LEN= 128
10796 - K= 3
10797 - CIPHERTEXT_SIZE= 1088
10798 - T_AS_NTT_ENCODED_SIZE= 1152
10799 - C1_LEN= 960
10800 - C2_LEN= 128
10801 - U_COMPRESSION_FACTOR= 10
10802 - V_COMPRESSION_FACTOR= 4
10803 - BLOCK_LEN= 320
10804 - ETA1= 2
10805 - ETA1_RANDOMNESS_SIZE= 128
10806 - ETA2= 2
10807 - ETA2_RANDOMNESS_SIZE= 128
10810 uint8_t message[32U], in libcrux_ml_kem_ind_cpa_encrypt_60()
10812 uint8_t ret[1088U]) { in libcrux_ml_kem_ind_cpa_encrypt_60()
10813 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 t_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10815 Eurydice_slice_subslice_to(public_key, (size_t)1152U, uint8_t, size_t), in libcrux_ml_kem_ind_cpa_encrypt_60()
10818 Eurydice_slice_subslice_from(public_key, (size_t)1152U, uint8_t, size_t); in libcrux_ml_kem_ind_cpa_encrypt_60()
10819 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 A[3U][3U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10820 uint8_t ret0[34U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10823 uint8_t prf_input[33U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10826 uint8_t copy_of_prf_input0[33U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10827 memcpy(copy_of_prf_input0, prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10829 copy_of_prf_input0, 0U); in libcrux_ml_kem_ind_cpa_encrypt_60()
10830 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 r_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10833 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10836 uint8_t copy_of_prf_input[33U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10837 memcpy(copy_of_prf_input, prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10840 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_1[3U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10843 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10845 prf_input[32U] = domain_separator; in libcrux_ml_kem_ind_cpa_encrypt_60()
10846 uint8_t prf_output[128U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10848 Eurydice_array_to_slice((size_t)33U, prf_input, uint8_t), prf_output); in libcrux_ml_kem_ind_cpa_encrypt_60()
10851 Eurydice_array_to_slice((size_t)128U, prf_output, uint8_t)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10852 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 u[3U]; in libcrux_ml_kem_ind_cpa_encrypt_60() local
10853 libcrux_ml_kem_matrix_compute_vector_u_59(A, r_as_ntt, error_1, u); in libcrux_ml_kem_ind_cpa_encrypt_60()
10855 uint8_t copy_of_message[32U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10856 memcpy(copy_of_message, message, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10863 uint8_t ciphertext[1088U] = {0U}; in libcrux_ml_kem_ind_cpa_encrypt_60()
10864 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 uu____5[3U]; in libcrux_ml_kem_ind_cpa_encrypt_60()
10866 uu____5, u, in libcrux_ml_kem_ind_cpa_encrypt_60()
10867 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10869 uu____5, Eurydice_array_to_subslice2(ciphertext, (size_t)0U, (size_t)960U, in libcrux_ml_kem_ind_cpa_encrypt_60()
10873 uu____6, Eurydice_array_to_subslice_from((size_t)1088U, ciphertext, in libcrux_ml_kem_ind_cpa_encrypt_60()
10874 (size_t)960U, uint8_t, size_t)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10875 memcpy(ret, ciphertext, (size_t)1088U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_encrypt_60()
10886 - K= 3
10887 - CIPHERTEXT_SIZE= 1088
10891 uint8_t ret[32U]) { in libcrux_ml_kem_variant_kdf_d8_41()
10892 uint8_t out[32U] = {0U}; in libcrux_ml_kem_variant_kdf_d8_41()
10893 Eurydice_slice_copy(Eurydice_array_to_slice((size_t)32U, out, uint8_t), in libcrux_ml_kem_variant_kdf_d8_41()
10895 memcpy(ret, out, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_variant_kdf_d8_41()
10903 - K= 3
10904 - SECRET_KEY_SIZE= 2400
10905 - CPA_SECRET_KEY_SIZE= 1152
10906 - PUBLIC_KEY_SIZE= 1184
10907 - CIPHERTEXT_SIZE= 1088
10908 - T_AS_NTT_ENCODED_SIZE= 1152
10909 - C1_SIZE= 960
10910 - C2_SIZE= 128
10911 - VECTOR_U_COMPRESSION_FACTOR= 10
10912 - VECTOR_V_COMPRESSION_FACTOR= 4
10913 - C1_BLOCK_SIZE= 320
10914 - ETA1= 2
10915 - ETA1_RANDOMNESS_SIZE= 128
10916 - ETA2= 2
10917 - ETA2_RANDOMNESS_SIZE= 128
10918 - IMPLICIT_REJECTION_HASH_INPUT_SIZE= 1120
10922 libcrux_ml_kem_mlkem768_MlKem768Ciphertext *ciphertext, uint8_t ret[32U]) { in libcrux_ml_kem_ind_cca_decapsulate_70()
10924 Eurydice_array_to_slice((size_t)2400U, private_key->value, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_70()
10925 (size_t)1152U, uint8_t, Eurydice_slice_uint8_t_x2); in libcrux_ml_kem_ind_cca_decapsulate_70()
10929 secret_key0, (size_t)1184U, uint8_t, Eurydice_slice_uint8_t_x2); in libcrux_ml_kem_ind_cca_decapsulate_70()
10937 uint8_t decrypted[32U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10938 libcrux_ml_kem_ind_cpa_decrypt_43(ind_cpa_secret_key, ciphertext->value, in libcrux_ml_kem_ind_cca_decapsulate_70()
10940 uint8_t to_hash0[64U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10942 Eurydice_array_to_slice((size_t)32U, decrypted, uint8_t), to_hash0); in libcrux_ml_kem_ind_cca_decapsulate_70()
10945 (size_t)64U, to_hash0, LIBCRUX_ML_KEM_CONSTANTS_SHARED_SECRET_SIZE, in libcrux_ml_kem_ind_cca_decapsulate_70()
10948 uint8_t hashed[64U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10950 Eurydice_array_to_slice((size_t)64U, to_hash0, uint8_t), hashed); in libcrux_ml_kem_ind_cca_decapsulate_70()
10952 Eurydice_array_to_slice((size_t)64U, hashed, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_70()
10957 uint8_t to_hash[1120U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10960 (size_t)1120U, to_hash, LIBCRUX_ML_KEM_CONSTANTS_SHARED_SECRET_SIZE, in libcrux_ml_kem_ind_cca_decapsulate_70()
10964 uint8_t implicit_rejection_shared_secret0[32U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10966 Eurydice_array_to_slice((size_t)1120U, to_hash, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_70()
10970 uint8_t copy_of_decrypted[32U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10971 memcpy(copy_of_decrypted, decrypted, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_decapsulate_70()
10972 uint8_t expected_ciphertext[1088U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10975 uint8_t implicit_rejection_shared_secret[32U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10977 Eurydice_array_to_slice((size_t)32U, implicit_rejection_shared_secret0, in libcrux_ml_kem_ind_cca_decapsulate_70()
10980 uint8_t shared_secret[32U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10982 uint8_t ret0[32U]; in libcrux_ml_kem_ind_cca_decapsulate_70()
10985 Eurydice_array_to_slice((size_t)1088U, expected_ciphertext, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_70()
10986 Eurydice_array_to_slice((size_t)32U, shared_secret, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_70()
10987 Eurydice_array_to_slice((size_t)32U, implicit_rejection_shared_secret, in libcrux_ml_kem_ind_cca_decapsulate_70()
10990 memcpy(ret, ret0, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_decapsulate_70()
10999 - K= 3
11000 - SECRET_KEY_SIZE= 2400
11001 - CPA_SECRET_KEY_SIZE= 1152
11002 - PUBLIC_KEY_SIZE= 1184
11003 - CIPHERTEXT_SIZE= 1088
11004 - T_AS_NTT_ENCODED_SIZE= 1152
11005 - C1_SIZE= 960
11006 - C2_SIZE= 128
11007 - VECTOR_U_COMPRESSION_FACTOR= 10
11008 - VECTOR_V_COMPRESSION_FACTOR= 4
11009 - C1_BLOCK_SIZE= 320
11010 - ETA1= 2
11011 - ETA1_RANDOMNESS_SIZE= 128
11012 - ETA2= 2
11013 - ETA2_RANDOMNESS_SIZE= 128
11014 - IMPLICIT_REJECTION_HASH_INPUT_SIZE= 1120
11019 libcrux_ml_kem_mlkem768_MlKem768Ciphertext *ciphertext, uint8_t ret[32U]) { in libcrux_ml_kem_ind_cca_instantiations_portable_decapsulate_2e()
11024 Decapsulate ML-KEM 768
11032 libcrux_ml_kem_mlkem768_MlKem768Ciphertext *ciphertext, uint8_t ret[32U]) { in libcrux_ml_kem_mlkem768_portable_decapsulate()
11045 - K= 3
11048 Eurydice_slice randomness, uint8_t ret[32U]) { in libcrux_ml_kem_variant_entropy_preprocess_d8_63()
11049 uint8_t out[32U] = {0U}; in libcrux_ml_kem_variant_entropy_preprocess_d8_63()
11050 Eurydice_slice_copy(Eurydice_array_to_slice((size_t)32U, out, uint8_t), in libcrux_ml_kem_variant_entropy_preprocess_d8_63()
11052 memcpy(ret, out, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_variant_entropy_preprocess_d8_63()
11062 - K= 3
11065 Eurydice_slice input, uint8_t ret[32U]) { in libcrux_ml_kem_hash_functions_portable_H_f1_1a()
11074 - K= 3
11075 - CIPHERTEXT_SIZE= 1088
11076 - PUBLIC_KEY_SIZE= 1184
11077 - T_AS_NTT_ENCODED_SIZE= 1152
11078 - C1_SIZE= 960
11079 - C2_SIZE= 128
11080 - VECTOR_U_COMPRESSION_FACTOR= 10
11081 - VECTOR_V_COMPRESSION_FACTOR= 4
11082 - VECTOR_U_BLOCK_LEN= 320
11083 - ETA1= 2
11084 - ETA1_RANDOMNESS_SIZE= 128
11085 - ETA2= 2
11086 - ETA2_RANDOMNESS_SIZE= 128
11090 uint8_t randomness[32U]) { in libcrux_ml_kem_ind_cca_encapsulate_cd()
11091 uint8_t randomness0[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11093 Eurydice_array_to_slice((size_t)32U, randomness, uint8_t), randomness0); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11094 uint8_t to_hash[64U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11096 Eurydice_array_to_slice((size_t)32U, randomness0, uint8_t), to_hash); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11098 (size_t)64U, to_hash, LIBCRUX_ML_KEM_CONSTANTS_H_DIGEST_SIZE, uint8_t, in libcrux_ml_kem_ind_cca_encapsulate_cd()
11100 uint8_t ret[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11102 Eurydice_array_to_slice((size_t)1184U, in libcrux_ml_kem_ind_cca_encapsulate_cd()
11107 uu____0, Eurydice_array_to_slice((size_t)32U, ret, uint8_t), uint8_t); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11108 uint8_t hashed[64U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11110 Eurydice_array_to_slice((size_t)64U, to_hash, uint8_t), hashed); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11112 Eurydice_array_to_slice((size_t)64U, hashed, uint8_t), in libcrux_ml_kem_ind_cca_encapsulate_cd()
11118 (size_t)1184U, libcrux_ml_kem_types_as_slice_cb_50(public_key), uint8_t); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11120 uint8_t copy_of_randomness[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11121 memcpy(copy_of_randomness, randomness0, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11122 uint8_t ciphertext[1088U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11126 uint8_t copy_of_ciphertext[1088U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11127 memcpy(copy_of_ciphertext, ciphertext, (size_t)1088U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11130 uint8_t shared_secret_array[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11135 uint8_t copy_of_shared_secret_array[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd()
11137 (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11140 memcpy(lit.snd, copy_of_shared_secret_array, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_encapsulate_cd()
11147 - K= 3
11148 - CIPHERTEXT_SIZE= 1088
11149 - PUBLIC_KEY_SIZE= 1184
11150 - T_AS_NTT_ENCODED_SIZE= 1152
11151 - C1_SIZE= 960
11152 - C2_SIZE= 128
11153 - VECTOR_U_COMPRESSION_FACTOR= 10
11154 - VECTOR_V_COMPRESSION_FACTOR= 4
11155 - VECTOR_U_BLOCK_LEN= 320
11156 - ETA1= 2
11157 - ETA1_RANDOMNESS_SIZE= 128
11158 - ETA2= 2
11159 - ETA2_RANDOMNESS_SIZE= 128
11164 uint8_t randomness[32U]) { in libcrux_ml_kem_ind_cca_instantiations_portable_encapsulate_c6()
11167 uint8_t copy_of_randomness[32U]; in libcrux_ml_kem_ind_cca_instantiations_portable_encapsulate_c6()
11168 memcpy(copy_of_randomness, randomness, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_instantiations_portable_encapsulate_c6()
11173 Encapsulate ML-KEM 768
11181 uint8_t randomness[32U]) { in libcrux_ml_kem_mlkem768_portable_encapsulate()
11184 uint8_t copy_of_randomness[32U]; in libcrux_ml_kem_mlkem768_portable_encapsulate()
11185 memcpy(copy_of_randomness, randomness, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_mlkem768_portable_encapsulate()
11198 - K= 3
11201 Eurydice_slice key_generation_seed, uint8_t ret[64U]) { in libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e()
11202 uint8_t seed[33U] = {0U}; in libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e()
11205 seed, (size_t)0U, in libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e()
11209 (uint8_t)(size_t)3U; in libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e()
11210 uint8_t ret0[64U]; in libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e()
11212 Eurydice_array_to_slice((size_t)33U, seed, uint8_t), ret0); in libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e()
11213 memcpy(ret, ret0, (size_t)64U * sizeof(uint8_t)); in libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e()
11220 - K= 3
11254 for (size_t i = (size_t)0U; in libcrux_ml_kem_polynomial_add_standard_error_reduce_89_03()
11260 self->coefficients[j]); in libcrux_ml_kem_polynomial_add_standard_error_reduce_89_03()
11264 &error->coefficients[j])); in libcrux_ml_kem_polynomial_add_standard_error_reduce_89_03()
11265 self->coefficients[j] = uu____0; in libcrux_ml_kem_polynomial_add_standard_error_reduce_89_03()
11276 - K= 3
11279 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 (*matrix_A)[3U], in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11282 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) { in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11283 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 result[3U]; in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11284 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11287 for (size_t i0 = (size_t)0U; in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11290 (size_t)3U, matrix_A, in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11291 libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]), in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11292 libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]); in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11296 for (size_t i = (size_t)0U; in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11299 (size_t)3U, row, in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11317 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_matrix_compute_As_plus_e_60()
11328 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re, uint8_t ret[384U]) { in libcrux_ml_kem_serialize_serialize_uncompressed_ring_element_5b()
11329 uint8_t serialized[384U] = {0U}; in libcrux_ml_kem_serialize_serialize_uncompressed_ring_element_5b()
11330 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_serialize_uncompressed_ring_element_5b()
11335 re->coefficients[i0]); in libcrux_ml_kem_serialize_serialize_uncompressed_ring_element_5b()
11336 uint8_t bytes[24U]; in libcrux_ml_kem_serialize_serialize_uncompressed_ring_element_5b()
11339 serialized, (size_t)24U * i0, (size_t)24U * i0 + (size_t)24U, uint8_t); in libcrux_ml_kem_serialize_serialize_uncompressed_ring_element_5b()
11341 uu____0, Eurydice_array_to_slice((size_t)24U, bytes, uint8_t), uint8_t); in libcrux_ml_kem_serialize_serialize_uncompressed_ring_element_5b()
11343 memcpy(ret, serialized, (size_t)384U * sizeof(uint8_t)); in libcrux_ml_kem_serialize_serialize_uncompressed_ring_element_5b()
11353 - K= 3
11354 - OUT_LEN= 1152
11358 uint8_t ret[1152U]) { in libcrux_ml_kem_ind_cpa_serialize_secret_key_b5()
11359 uint8_t out[1152U] = {0U}; in libcrux_ml_kem_ind_cpa_serialize_secret_key_b5()
11360 for (size_t i = (size_t)0U; in libcrux_ml_kem_ind_cpa_serialize_secret_key_b5()
11363 (size_t)3U, key, in libcrux_ml_kem_ind_cpa_serialize_secret_key_b5()
11371 (i0 + (size_t)1U) * LIBCRUX_ML_KEM_CONSTANTS_BYTES_PER_RING_ELEMENT, in libcrux_ml_kem_ind_cpa_serialize_secret_key_b5()
11373 uint8_t ret0[384U]; in libcrux_ml_kem_ind_cpa_serialize_secret_key_b5()
11376 uu____0, Eurydice_array_to_slice((size_t)384U, ret0, uint8_t), uint8_t); in libcrux_ml_kem_ind_cpa_serialize_secret_key_b5()
11378 memcpy(ret, out, (size_t)1152U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_serialize_secret_key_b5()
11388 - K= 3
11389 - RANKED_BYTES_PER_RING_ELEMENT= 1152
11390 - PUBLIC_KEY_SIZE= 1184
11394 Eurydice_slice seed_for_a, uint8_t ret[1184U]) { in libcrux_ml_kem_ind_cpa_serialize_public_key_79()
11395 uint8_t public_key_serialized[1184U] = {0U}; in libcrux_ml_kem_ind_cpa_serialize_public_key_79()
11397 public_key_serialized, (size_t)0U, (size_t)1152U, uint8_t); in libcrux_ml_kem_ind_cpa_serialize_public_key_79()
11398 uint8_t ret0[1152U]; in libcrux_ml_kem_ind_cpa_serialize_public_key_79()
11401 uu____0, Eurydice_array_to_slice((size_t)1152U, ret0, uint8_t), uint8_t); in libcrux_ml_kem_ind_cpa_serialize_public_key_79()
11403 Eurydice_array_to_subslice_from((size_t)1184U, public_key_serialized, in libcrux_ml_kem_ind_cpa_serialize_public_key_79()
11404 (size_t)1152U, uint8_t, size_t), in libcrux_ml_kem_ind_cpa_serialize_public_key_79()
11406 memcpy(ret, public_key_serialized, (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_serialize_public_key_79()
11414 - K= 3
11415 - PRIVATE_KEY_SIZE= 1152
11416 - PUBLIC_KEY_SIZE= 1184
11417 - RANKED_BYTES_PER_RING_ELEMENT= 1152
11418 - ETA1= 2
11419 - ETA1_RANDOMNESS_SIZE= 128
11423 uint8_t hashed[64U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11426 Eurydice_array_to_slice((size_t)64U, hashed, uint8_t), (size_t)32U, in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11430 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 A_transpose[3U][3U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11431 uint8_t ret[34U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11434 uint8_t prf_input[33U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11438 uint8_t copy_of_prf_input0[33U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11439 memcpy(copy_of_prf_input0, prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11441 copy_of_prf_input0, 0U); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11442 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11445 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11448 uint8_t copy_of_prf_input[33U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11449 memcpy(copy_of_prf_input, prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11450 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11456 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11457 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 t_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11460 uint8_t seed_for_A[32U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11462 Eurydice_slice_to_array2(&dst, seed_for_A0, Eurydice_slice, uint8_t[32U]); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11464 uint8_t public_key_serialized[1184U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11466 t_as_ntt, Eurydice_array_to_slice((size_t)32U, seed_for_A, uint8_t), in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11468 uint8_t secret_key_serialized[1152U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11472 uint8_t copy_of_secret_key_serialized[1152U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11474 (size_t)1152U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11476 uint8_t copy_of_public_key_serialized[1184U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11478 (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11481 (size_t)1152U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11483 (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc()
11494 - K= 3
11495 - SERIALIZED_KEY_LEN= 2400
11499 Eurydice_slice implicit_rejection_value, uint8_t ret[2400U]) { in libcrux_ml_kem_ind_cca_serialize_kem_secret_key_48()
11500 uint8_t out[2400U] = {0U}; in libcrux_ml_kem_ind_cca_serialize_kem_secret_key_48()
11501 size_t pointer = (size_t)0U; in libcrux_ml_kem_ind_cca_serialize_kem_secret_key_48()
11522 uint8_t ret0[32U]; in libcrux_ml_kem_ind_cca_serialize_kem_secret_key_48()
11525 uu____6, Eurydice_array_to_slice((size_t)32U, ret0, uint8_t), uint8_t); in libcrux_ml_kem_ind_cca_serialize_kem_secret_key_48()
11536 memcpy(ret, out, (size_t)2400U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_serialize_kem_secret_key_48()
11552 - K= 3
11553 - CPA_PRIVATE_KEY_SIZE= 1152
11554 - PRIVATE_KEY_SIZE= 2400
11555 - PUBLIC_KEY_SIZE= 1184
11556 - BYTES_PER_RING_ELEMENT= 1152
11557 - ETA1= 2
11558 - ETA1_RANDOMNESS_SIZE= 128
11561 libcrux_ml_kem_ind_cca_generate_keypair_8c(uint8_t randomness[64U]) { in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11563 randomness, (size_t)0U, in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11566 (size_t)64U, randomness, in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11571 uint8_t ind_cpa_private_key[1152U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11572 memcpy(ind_cpa_private_key, uu____0.fst, (size_t)1152U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11573 uint8_t public_key[1184U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11574 memcpy(public_key, uu____0.snd, (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11575 uint8_t secret_key_serialized[2400U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11577 Eurydice_array_to_slice((size_t)1152U, ind_cpa_private_key, uint8_t), in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11578 Eurydice_array_to_slice((size_t)1184U, public_key, uint8_t), in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11581 uint8_t copy_of_secret_key_serialized[2400U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11583 (size_t)2400U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11588 uint8_t copy_of_public_key[1184U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11589 memcpy(copy_of_public_key, public_key, (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_generate_keypair_8c()
11601 - K= 3
11602 - CPA_PRIVATE_KEY_SIZE= 1152
11603 - PRIVATE_KEY_SIZE= 2400
11604 - PUBLIC_KEY_SIZE= 1184
11605 - BYTES_PER_RING_ELEMENT= 1152
11606 - ETA1= 2
11607 - ETA1_RANDOMNESS_SIZE= 128
11611 uint8_t randomness[64U]) { in libcrux_ml_kem_ind_cca_instantiations_portable_generate_keypair_d5()
11613 uint8_t copy_of_randomness[64U]; in libcrux_ml_kem_ind_cca_instantiations_portable_generate_keypair_d5()
11614 memcpy(copy_of_randomness, randomness, (size_t)64U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_instantiations_portable_generate_keypair_d5()
11619 Generate ML-KEM 768 Key Pair
11622 libcrux_ml_kem_mlkem768_portable_generate_key_pair(uint8_t randomness[64U]) { in libcrux_ml_kem_mlkem768_portable_generate_key_pair()
11624 uint8_t copy_of_randomness[64U]; in libcrux_ml_kem_mlkem768_portable_generate_key_pair()
11625 memcpy(copy_of_randomness, randomness, (size_t)64U * sizeof(uint8_t)); in libcrux_ml_kem_mlkem768_portable_generate_key_pair()
11638 - K= 3
11639 - CIPHERTEXT_SIZE= 1088
11643 libcrux_ml_kem_mlkem768_MlKem768Ciphertext *ciphertext, uint8_t ret[32U]) { in libcrux_ml_kem_variant_kdf_33_f0()
11644 uint8_t kdf_input[64U]; in libcrux_ml_kem_variant_kdf_33_f0()
11647 (size_t)64U, kdf_input, LIBCRUX_ML_KEM_CONSTANTS_H_DIGEST_SIZE, uint8_t, in libcrux_ml_kem_variant_kdf_33_f0()
11649 uint8_t ret0[32U]; in libcrux_ml_kem_variant_kdf_33_f0()
11651 Eurydice_array_to_slice((size_t)1088U, in libcrux_ml_kem_variant_kdf_33_f0()
11656 uu____0, Eurydice_array_to_slice((size_t)32U, ret0, uint8_t), uint8_t); in libcrux_ml_kem_variant_kdf_33_f0()
11657 uint8_t ret1[32U]; in libcrux_ml_kem_variant_kdf_33_f0()
11659 Eurydice_array_to_slice((size_t)64U, kdf_input, uint8_t), ret1); in libcrux_ml_kem_variant_kdf_33_f0()
11660 memcpy(ret, ret1, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_variant_kdf_33_f0()
11668 - K= 3
11669 - SECRET_KEY_SIZE= 2400
11670 - CPA_SECRET_KEY_SIZE= 1152
11671 - PUBLIC_KEY_SIZE= 1184
11672 - CIPHERTEXT_SIZE= 1088
11673 - T_AS_NTT_ENCODED_SIZE= 1152
11674 - C1_SIZE= 960
11675 - C2_SIZE= 128
11676 - VECTOR_U_COMPRESSION_FACTOR= 10
11677 - VECTOR_V_COMPRESSION_FACTOR= 4
11678 - C1_BLOCK_SIZE= 320
11679 - ETA1= 2
11680 - ETA1_RANDOMNESS_SIZE= 128
11681 - ETA2= 2
11682 - ETA2_RANDOMNESS_SIZE= 128
11683 - IMPLICIT_REJECTION_HASH_INPUT_SIZE= 1120
11687 libcrux_ml_kem_mlkem768_MlKem768Ciphertext *ciphertext, uint8_t ret[32U]) { in libcrux_ml_kem_ind_cca_decapsulate_700()
11689 Eurydice_array_to_slice((size_t)2400U, private_key->value, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_700()
11690 (size_t)1152U, uint8_t, Eurydice_slice_uint8_t_x2); in libcrux_ml_kem_ind_cca_decapsulate_700()
11694 secret_key0, (size_t)1184U, uint8_t, Eurydice_slice_uint8_t_x2); in libcrux_ml_kem_ind_cca_decapsulate_700()
11702 uint8_t decrypted[32U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11703 libcrux_ml_kem_ind_cpa_decrypt_43(ind_cpa_secret_key, ciphertext->value, in libcrux_ml_kem_ind_cca_decapsulate_700()
11705 uint8_t to_hash0[64U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11707 Eurydice_array_to_slice((size_t)32U, decrypted, uint8_t), to_hash0); in libcrux_ml_kem_ind_cca_decapsulate_700()
11710 (size_t)64U, to_hash0, LIBCRUX_ML_KEM_CONSTANTS_SHARED_SECRET_SIZE, in libcrux_ml_kem_ind_cca_decapsulate_700()
11713 uint8_t hashed[64U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11715 Eurydice_array_to_slice((size_t)64U, to_hash0, uint8_t), hashed); in libcrux_ml_kem_ind_cca_decapsulate_700()
11717 Eurydice_array_to_slice((size_t)64U, hashed, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_700()
11722 uint8_t to_hash[1120U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11725 (size_t)1120U, to_hash, LIBCRUX_ML_KEM_CONSTANTS_SHARED_SECRET_SIZE, in libcrux_ml_kem_ind_cca_decapsulate_700()
11729 uint8_t implicit_rejection_shared_secret0[32U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11731 Eurydice_array_to_slice((size_t)1120U, to_hash, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_700()
11735 uint8_t copy_of_decrypted[32U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11736 memcpy(copy_of_decrypted, decrypted, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_decapsulate_700()
11737 uint8_t expected_ciphertext[1088U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11740 uint8_t implicit_rejection_shared_secret[32U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11742 Eurydice_array_to_slice((size_t)32U, implicit_rejection_shared_secret0, in libcrux_ml_kem_ind_cca_decapsulate_700()
11745 uint8_t shared_secret[32U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11747 uint8_t ret0[32U]; in libcrux_ml_kem_ind_cca_decapsulate_700()
11750 Eurydice_array_to_slice((size_t)1088U, expected_ciphertext, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_700()
11751 Eurydice_array_to_slice((size_t)32U, shared_secret, uint8_t), in libcrux_ml_kem_ind_cca_decapsulate_700()
11752 Eurydice_array_to_slice((size_t)32U, implicit_rejection_shared_secret, in libcrux_ml_kem_ind_cca_decapsulate_700()
11755 memcpy(ret, ret0, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_decapsulate_700()
11765 - K= 3
11766 - SECRET_KEY_SIZE= 2400
11767 - CPA_SECRET_KEY_SIZE= 1152
11768 - PUBLIC_KEY_SIZE= 1184
11769 - CIPHERTEXT_SIZE= 1088
11770 - T_AS_NTT_ENCODED_SIZE= 1152
11771 - C1_SIZE= 960
11772 - C2_SIZE= 128
11773 - VECTOR_U_COMPRESSION_FACTOR= 10
11774 - VECTOR_V_COMPRESSION_FACTOR= 4
11775 - C1_BLOCK_SIZE= 320
11776 - ETA1= 2
11777 - ETA1_RANDOMNESS_SIZE= 128
11778 - ETA2= 2
11779 - ETA2_RANDOMNESS_SIZE= 128
11780 - IMPLICIT_REJECTION_HASH_INPUT_SIZE= 1120
11785 libcrux_ml_kem_mlkem768_MlKem768Ciphertext *ciphertext, uint8_t ret[32U]) { in libcrux_ml_kem_ind_cca_instantiations_portable_kyber_decapsulate_fc()
11798 libcrux_ml_kem_mlkem768_MlKem768Ciphertext *ciphertext, uint8_t ret[32U]) { in libcrux_ml_kem_mlkem768_portable_kyber_decapsulate()
11811 - K= 3
11814 Eurydice_slice randomness, uint8_t ret[32U]) { in libcrux_ml_kem_variant_entropy_preprocess_33_8a()
11823 - K= 3
11824 - CIPHERTEXT_SIZE= 1088
11825 - PUBLIC_KEY_SIZE= 1184
11826 - T_AS_NTT_ENCODED_SIZE= 1152
11827 - C1_SIZE= 960
11828 - C2_SIZE= 128
11829 - VECTOR_U_COMPRESSION_FACTOR= 10
11830 - VECTOR_V_COMPRESSION_FACTOR= 4
11831 - VECTOR_U_BLOCK_LEN= 320
11832 - ETA1= 2
11833 - ETA1_RANDOMNESS_SIZE= 128
11834 - ETA2= 2
11835 - ETA2_RANDOMNESS_SIZE= 128
11839 uint8_t randomness[32U]) { in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11840 uint8_t randomness0[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11842 Eurydice_array_to_slice((size_t)32U, randomness, uint8_t), randomness0); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11843 uint8_t to_hash[64U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11845 Eurydice_array_to_slice((size_t)32U, randomness0, uint8_t), to_hash); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11847 (size_t)64U, to_hash, LIBCRUX_ML_KEM_CONSTANTS_H_DIGEST_SIZE, uint8_t, in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11849 uint8_t ret[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11851 Eurydice_array_to_slice((size_t)1184U, in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11856 uu____0, Eurydice_array_to_slice((size_t)32U, ret, uint8_t), uint8_t); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11857 uint8_t hashed[64U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11859 Eurydice_array_to_slice((size_t)64U, to_hash, uint8_t), hashed); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11861 Eurydice_array_to_slice((size_t)64U, hashed, uint8_t), in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11867 (size_t)1184U, libcrux_ml_kem_types_as_slice_cb_50(public_key), uint8_t); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11869 uint8_t copy_of_randomness[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11870 memcpy(copy_of_randomness, randomness0, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11871 uint8_t ciphertext[1088U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11875 uint8_t copy_of_ciphertext[1088U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11876 memcpy(copy_of_ciphertext, ciphertext, (size_t)1088U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11879 uint8_t shared_secret_array[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11884 uint8_t copy_of_shared_secret_array[32U]; in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11886 (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11889 memcpy(lit.snd, copy_of_shared_secret_array, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_encapsulate_cd0()
11900 - K= 3
11901 - CIPHERTEXT_SIZE= 1088
11902 - PUBLIC_KEY_SIZE= 1184
11903 - T_AS_NTT_ENCODED_SIZE= 1152
11904 - C1_SIZE= 960
11905 - C2_SIZE= 128
11906 - VECTOR_U_COMPRESSION_FACTOR= 10
11907 - VECTOR_V_COMPRESSION_FACTOR= 4
11908 - VECTOR_U_BLOCK_LEN= 320
11909 - ETA1= 2
11910 - ETA1_RANDOMNESS_SIZE= 128
11911 - ETA2= 2
11912 - ETA2_RANDOMNESS_SIZE= 128
11917 uint8_t randomness[32U]) { in libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a()
11920 uint8_t copy_of_randomness[32U]; in libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a()
11921 memcpy(copy_of_randomness, randomness, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a()
11934 uint8_t randomness[32U]) { in libcrux_ml_kem_mlkem768_portable_kyber_encapsulate()
11937 uint8_t copy_of_randomness[32U]; in libcrux_ml_kem_mlkem768_portable_kyber_encapsulate()
11938 memcpy(copy_of_randomness, randomness, (size_t)32U * sizeof(uint8_t)); in libcrux_ml_kem_mlkem768_portable_kyber_encapsulate()
11951 - K= 3
11954 Eurydice_slice key_generation_seed, uint8_t ret[64U]) { in libcrux_ml_kem_variant_cpa_keygen_seed_33_b6()
11963 - K= 3
11964 - PRIVATE_KEY_SIZE= 1152
11965 - PUBLIC_KEY_SIZE= 1184
11966 - RANKED_BYTES_PER_RING_ELEMENT= 1152
11967 - ETA1= 2
11968 - ETA1_RANDOMNESS_SIZE= 128
11973 uint8_t hashed[64U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11976 Eurydice_array_to_slice((size_t)64U, hashed, uint8_t), (size_t)32U, in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11980 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 A_transpose[3U][3U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11981 uint8_t ret[34U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11984 uint8_t prf_input[33U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11988 uint8_t copy_of_prf_input0[33U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11989 memcpy(copy_of_prf_input0, prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11991 copy_of_prf_input0, 0U); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11992 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11995 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11998 uint8_t copy_of_prf_input[33U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
11999 memcpy(copy_of_prf_input, prf_input, (size_t)33U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12000 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12006 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12007 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 t_as_ntt[3U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12010 uint8_t seed_for_A[32U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12012 Eurydice_slice_to_array2(&dst, seed_for_A0, Eurydice_slice, uint8_t[32U]); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12014 uint8_t public_key_serialized[1184U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12016 t_as_ntt, Eurydice_array_to_slice((size_t)32U, seed_for_A, uint8_t), in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12018 uint8_t secret_key_serialized[1152U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12022 uint8_t copy_of_secret_key_serialized[1152U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12024 (size_t)1152U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12026 uint8_t copy_of_public_key_serialized[1184U]; in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12028 (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12031 (size_t)1152U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12033 (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cpa_generate_keypair_fc0()
12050 - K= 3
12051 - CPA_PRIVATE_KEY_SIZE= 1152
12052 - PRIVATE_KEY_SIZE= 2400
12053 - PUBLIC_KEY_SIZE= 1184
12054 - BYTES_PER_RING_ELEMENT= 1152
12055 - ETA1= 2
12056 - ETA1_RANDOMNESS_SIZE= 128
12059 libcrux_ml_kem_ind_cca_generate_keypair_8c0(uint8_t randomness[64U]) { in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12061 randomness, (size_t)0U, in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12064 (size_t)64U, randomness, in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12069 uint8_t ind_cpa_private_key[1152U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12070 memcpy(ind_cpa_private_key, uu____0.fst, (size_t)1152U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12071 uint8_t public_key[1184U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12072 memcpy(public_key, uu____0.snd, (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12073 uint8_t secret_key_serialized[2400U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12075 Eurydice_array_to_slice((size_t)1152U, ind_cpa_private_key, uint8_t), in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12076 Eurydice_array_to_slice((size_t)1184U, public_key, uint8_t), in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12079 uint8_t copy_of_secret_key_serialized[2400U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12081 (size_t)2400U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12086 uint8_t copy_of_public_key[1184U]; in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12087 memcpy(copy_of_public_key, public_key, (size_t)1184U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_generate_keypair_8c0()
12096 - K= 3
12097 - CPA_PRIVATE_KEY_SIZE= 1152
12098 - PRIVATE_KEY_SIZE= 2400
12099 - PUBLIC_KEY_SIZE= 1184
12100 - BYTES_PER_RING_ELEMENT= 1152
12101 - ETA1= 2
12102 - ETA1_RANDOMNESS_SIZE= 128
12106 uint8_t randomness[64U]) { in libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b()
12108 uint8_t copy_of_randomness[64U]; in libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b()
12109 memcpy(copy_of_randomness, randomness, (size_t)64U * sizeof(uint8_t)); in libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b()
12118 uint8_t randomness[64U]) { in libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair()
12120 uint8_t copy_of_randomness[64U]; in libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair()
12121 memcpy(copy_of_randomness, randomness, (size_t)64U * sizeof(uint8_t)); in libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair()
12127 Validate an ML-KEM private key.
12137 - K= 3
12138 - SECRET_KEY_SIZE= 2400
12139 - CIPHERTEXT_SIZE= 1088
12144 uint8_t t[32U]; in libcrux_ml_kem_ind_cca_validate_private_key_e7()
12146 Eurydice_array_to_subslice2(private_key->value, (size_t)384U * (size_t)3U, in libcrux_ml_kem_ind_cca_validate_private_key_e7()
12147 (size_t)768U * (size_t)3U + (size_t)32U, in libcrux_ml_kem_ind_cca_validate_private_key_e7()
12151 private_key->value, (size_t)768U * (size_t)3U + (size_t)32U, in libcrux_ml_kem_ind_cca_validate_private_key_e7()
12152 (size_t)768U * (size_t)3U + (size_t)64U, uint8_t); in libcrux_ml_kem_ind_cca_validate_private_key_e7()
12154 (size_t)32U, t, &expected, uint8_t, uint8_t, bool); in libcrux_ml_kem_ind_cca_validate_private_key_e7()
12164 - K= 3
12165 - SECRET_KEY_SIZE= 2400
12166 - CIPHERTEXT_SIZE= 1088
12192 - PUBLIC_KEY_SIZE= 1184
12193 - K= 3
12211 - PUBLIC_KEY_SIZE= 1184
12212 - K= 3
12217 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) { in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330()
12218 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 deserialized_pk[3U]; in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330()
12219 for (size_t i = (size_t)0U; i < (size_t)3U; i++) { in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330()
12222 for (size_t i = (size_t)0U; in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330()
12239 (size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0)); in libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330()
12243 Validate an ML-KEM public key.
12253 - K= 3
12254 - RANKED_BYTES_PER_RING_ELEMENT= 1152
12255 - PUBLIC_KEY_SIZE= 1184
12259 libcrux_ml_kem_polynomial_PolynomialRingElement_f0 deserialized_pk[3U]; in libcrux_ml_kem_ind_cca_validate_public_key_19()
12261 Eurydice_array_to_subslice_to((size_t)1184U, public_key, (size_t)1152U, in libcrux_ml_kem_ind_cca_validate_public_key_19()
12265 uint8_t public_key_serialized[1184U]; in libcrux_ml_kem_ind_cca_validate_public_key_19()
12268 Eurydice_array_to_subslice_from((size_t)1184U, public_key, (size_t)1152U, in libcrux_ml_kem_ind_cca_validate_public_key_19()
12272 (size_t)1184U, public_key, public_key_serialized, uint8_t, uint8_t, bool); in libcrux_ml_kem_ind_cca_validate_public_key_19()
12282 - K= 3
12283 - RANKED_BYTES_PER_RING_ELEMENT= 1152
12284 - PUBLIC_KEY_SIZE= 1184
12300 public_key->value); in libcrux_ml_kem_mlkem768_portable_validate_public_key()
12310 return self[0U]; in libcrux_ml_kem_vector_portable_vector_type_clone_3b()