libcrux_ml_kem_polynomial_PolynomialRingElement_f0
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re_as_ntt[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 copy_of_re_as_ntt[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_1[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 uu____1 =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 copy_of_error_1[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *self,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *error) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 (*a_as_ntt)[3U],
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *r_as_ntt,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *error_1,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 result[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]),
libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]);
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *row = a_as_ntt[i1];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0),
libcrux_ml_kem_polynomial_PolynomialRingElement_f0);
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *a_element = &row[j];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 product =
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re =
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *self,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *message,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 result) {
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *t_as_ntt,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *r_as_ntt,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *error_2,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *message) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 result =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 product =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re, uint8_t ret[320U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re, uint8_t ret[320U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re, uint8_t ret[320U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 input[3U],
libcrux_ml_kem_polynomial_PolynomialRingElement_f0),
libcrux_ml_kem_polynomial_PolynomialRingElement_f0);
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re = input[i0];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re, Eurydice_slice out) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 t_as_ntt[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 A[3U][3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 r_as_ntt[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_1[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_2 =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 u[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 message_as_ring_element =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 v =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 uu____5[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 uu____6 = v;
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *self,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *error) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 (*matrix_A)[3U],
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *s_as_ntt,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *error_as_ntt,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 result[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]),
libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]);
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *row = matrix_A[i1];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0),
libcrux_ml_kem_polynomial_PolynomialRingElement_f0);
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *matrix_element =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 product =
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re, uint8_t ret[384U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *key,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0),
libcrux_ml_kem_polynomial_PolynomialRingElement_f0);
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re = key[i0];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *t_as_ntt,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 A_transpose[3U][3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_as_ntt[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 t_as_ntt[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 A_transpose[3U][3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 error_as_ntt[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 t_as_ntt[3U];
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 deserialized_pk[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 uu____0 =
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 deserialized_pk[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *uu____0 = deserialized_pk;
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 lit;
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 uu____0 =
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U];
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re =
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re =
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
size_t *zeta_i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re,
size_t *zeta_i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re,
size_t *zeta_i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re,
size_t *zeta_i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *self) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 u_as_ntt[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re =
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re =
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *self,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *rhs) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 out =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *self,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *rhs) {
size_t *zeta_i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re,
size_t *zeta_i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re,
size_t *zeta_i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re,
size_t *zeta_i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *re) {
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *self,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 b) {
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *v,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *secret_as_ntt,
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 *u_as_ntt) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 result =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 product =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re, uint8_t ret[32U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 u_as_ntt[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 v =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 message =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 secret_as_ntt[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 copy_of_secret_as_ntt[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 re =
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 deserialized_pk[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 uu____0 =
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
size_t _i, libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) {
static KRML_MUSTINLINE libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 result =
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret0[3U];
(size_t)3U * sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 ret[3U][3U]) {
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 A_transpose[3U][3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 sampled[3U];
libcrux_ml_kem_polynomial_PolynomialRingElement_f0),
libcrux_ml_kem_polynomial_PolynomialRingElement_f0);
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 sample = sampled[j];
sizeof(libcrux_ml_kem_polynomial_PolynomialRingElement_f0[3U]));
libcrux_ml_kem_polynomial_PolynomialRingElement_f0 fst[3U];
static inline libcrux_ml_kem_polynomial_PolynomialRingElement_f0