From e47f7bbb23a7beeeb7063c152edea89653d7e529 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Wed, 20 May 2020 01:00:49 -0400 Subject: [PATCH] Use tighter loose bounds We now compute the loose bounds to be as tight as possible given the tight bounds: they are the tightest bounds that will let us add two tightly-bounded field elements, and will also let us subtract two tightly-bounded field elements (with balance), without needing to carry. This is probably required for having 32-bit p448 work, but even with this, p448 is still not working; see https://github.com/mit-plv/fiat-crypto/issues/797. Seems worth merging anyway. --- fiat-bedrock2/src/curve25519_32.c | 16 ++--- fiat-bedrock2/src/curve25519_64.c | 16 ++--- fiat-bedrock2/src/p448_solinas_64.c | 14 ++--- fiat-bedrock2/src/p521_64.c | 14 ++--- fiat-bedrock2/src/poly1305_32.c | 14 ++--- fiat-bedrock2/src/poly1305_64.c | 14 ++--- fiat-c/src/curve25519_32.c | 16 ++--- fiat-c/src/curve25519_64.c | 16 ++--- fiat-c/src/p448_solinas_64.c | 14 ++--- fiat-c/src/p521_64.c | 14 ++--- fiat-c/src/poly1305_32.c | 14 ++--- fiat-c/src/poly1305_64.c | 14 ++--- fiat-go/src/curve25519_32.go | 16 ++--- fiat-go/src/curve25519_64.go | 16 ++--- fiat-go/src/p448_solinas_64.go | 14 ++--- fiat-go/src/p521_64.go | 14 ++--- fiat-go/src/poly1305_32.go | 14 ++--- fiat-go/src/poly1305_64.go | 14 ++--- fiat-java/src/FiatCurve25519.java | 16 ++--- fiat-java/src/FiatPoly1305.java | 26 ++++---- fiat-rust/src/curve25519_32.rs | 16 ++--- fiat-rust/src/curve25519_64.rs | 16 ++--- fiat-rust/src/p448_solinas_32.rs | 66 ++++++++++---------- fiat-rust/src/p448_solinas_64.rs | 14 ++--- fiat-rust/src/p521_64.rs | 14 ++--- fiat-rust/src/poly1305_32.rs | 14 ++--- fiat-rust/src/poly1305_64.rs | 14 ++--- src/Bedrock/Tests/Proofs/X1305_32.v | 8 +-- src/Bedrock/Tests/Proofs/X25519_32.v | 8 +-- src/Bedrock/Tests/Proofs/X25519_64.v | 15 +++-- src/PushButtonSynthesis/UnsaturatedSolinas.v | 44 ++++++++----- src/UnsaturatedSolinasHeuristics.v | 6 +- 32 files changed, 277 insertions(+), 264 deletions(-) diff --git a/fiat-bedrock2/src/curve25519_32.c b/fiat-bedrock2/src/curve25519_32.c index e66803ab5ad..1080d736120 100644 --- a/fiat-bedrock2/src/curve25519_32.c +++ b/fiat-bedrock2/src/curve25519_32.c @@ -16,8 +16,8 @@ /* * Input Bounds: - * in0: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] - * in1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * in0: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] + * in1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out0: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -713,7 +713,7 @@ void fiat_25519_carry_mul(uintptr_t in0, uintptr_t in1, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * in0: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out0: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -1188,7 +1188,7 @@ void fiat_25519_carry_square(uintptr_t in0, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * in0: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out0: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -1259,7 +1259,7 @@ void fiat_25519_carry(uintptr_t in0, uintptr_t out0) { * in0: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * in1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out0: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out0: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ void fiat_25519_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x10, x1, x11, x2, x12, x3, x13, x4, x14, x5, x15, x6, x16, x7, x17, x8, x18, x9, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39; @@ -1327,7 +1327,7 @@ void fiat_25519_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * in0: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * in1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out0: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out0: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ void fiat_25519_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x10, x1, x11, x2, x12, x3, x13, x4, x14, x5, x15, x6, x16, x7, x17, x8, x18, x9, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39; @@ -1394,7 +1394,7 @@ void fiat_25519_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * Input Bounds: * in0: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out0: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out0: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ void fiat_25519_opp(uintptr_t in0, uintptr_t out0) { uintptr_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29; @@ -1973,7 +1973,7 @@ void fiat_25519_from_bytes(uintptr_t in0, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * in0: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out0: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ diff --git a/fiat-bedrock2/src/curve25519_64.c b/fiat-bedrock2/src/curve25519_64.c index fa92ca0173a..117b21cf0b6 100644 --- a/fiat-bedrock2/src/curve25519_64.c +++ b/fiat-bedrock2/src/curve25519_64.c @@ -16,8 +16,8 @@ /* * Input Bounds: - * in0: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] - * in1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * in0: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] + * in1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out0: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -214,7 +214,7 @@ void fiat_25519_carry_mul(uintptr_t in0, uintptr_t in1, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * in0: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out0: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -353,7 +353,7 @@ void fiat_25519_carry_square(uintptr_t in0, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * in0: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out0: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -399,7 +399,7 @@ void fiat_25519_carry(uintptr_t in0, uintptr_t out0) { * in0: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * in1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out0: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out0: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ void fiat_25519_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x5, x1, x6, x2, x7, x3, x8, x4, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19; @@ -442,7 +442,7 @@ void fiat_25519_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * in0: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * in1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out0: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out0: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ void fiat_25519_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x5, x1, x6, x2, x7, x3, x8, x4, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19; @@ -484,7 +484,7 @@ void fiat_25519_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * Input Bounds: * in0: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out0: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out0: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ void fiat_25519_opp(uintptr_t in0, uintptr_t out0) { uintptr_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14; @@ -898,7 +898,7 @@ void fiat_25519_from_bytes(uintptr_t in0, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * in0: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out0: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ diff --git a/fiat-bedrock2/src/p448_solinas_64.c b/fiat-bedrock2/src/p448_solinas_64.c index 5bf1f1e3c4f..49b9701afac 100644 --- a/fiat-bedrock2/src/p448_solinas_64.c +++ b/fiat-bedrock2/src/p448_solinas_64.c @@ -16,8 +16,8 @@ /* * Input Bounds: - * in0: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] - * in1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * in0: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] + * in1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out0: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -674,7 +674,7 @@ void fiat_p448_carry_mul(uintptr_t in0, uintptr_t in1, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * in0: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out0: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -1091,7 +1091,7 @@ void fiat_p448_carry_square(uintptr_t in0, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * in0: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out0: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -1156,7 +1156,7 @@ void fiat_p448_carry(uintptr_t in0, uintptr_t out0) { * in0: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * in1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out0: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out0: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ void fiat_p448_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x8, x1, x9, x2, x10, x3, x11, x4, x12, x5, x13, x6, x14, x7, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31; @@ -1214,7 +1214,7 @@ void fiat_p448_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * in0: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * in1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out0: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out0: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ void fiat_p448_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x8, x1, x9, x2, x10, x3, x11, x4, x12, x5, x13, x6, x14, x7, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31; @@ -1271,7 +1271,7 @@ void fiat_p448_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * Input Bounds: * in0: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out0: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out0: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ void fiat_p448_opp(uintptr_t in0, uintptr_t out0) { uintptr_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23; diff --git a/fiat-bedrock2/src/p521_64.c b/fiat-bedrock2/src/p521_64.c index 4e6c25f7904..44d9877c55e 100644 --- a/fiat-bedrock2/src/p521_64.c +++ b/fiat-bedrock2/src/p521_64.c @@ -16,8 +16,8 @@ /* * Input Bounds: - * in0: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] - * in1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * in0: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] + * in1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out0: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -588,7 +588,7 @@ void fiat_p521_carry_mul(uintptr_t in0, uintptr_t in1, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * in0: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out0: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -949,7 +949,7 @@ void fiat_p521_carry_square(uintptr_t in0, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * in0: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out0: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -1015,7 +1015,7 @@ void fiat_p521_carry(uintptr_t in0, uintptr_t out0) { * in0: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * in1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out0: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out0: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ void fiat_p521_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x9, x1, x10, x2, x11, x3, x12, x4, x13, x5, x14, x6, x15, x7, x16, x8, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35; @@ -1078,7 +1078,7 @@ void fiat_p521_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * in0: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * in1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out0: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out0: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ void fiat_p521_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x9, x1, x10, x2, x11, x3, x12, x4, x13, x5, x14, x6, x15, x7, x16, x8, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35; @@ -1140,7 +1140,7 @@ void fiat_p521_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * Input Bounds: * in0: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out0: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out0: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ void fiat_p521_opp(uintptr_t in0, uintptr_t out0) { uintptr_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26; diff --git a/fiat-bedrock2/src/poly1305_32.c b/fiat-bedrock2/src/poly1305_32.c index 991d99ff1c2..cea6c03176a 100644 --- a/fiat-bedrock2/src/poly1305_32.c +++ b/fiat-bedrock2/src/poly1305_32.c @@ -16,8 +16,8 @@ /* * Input Bounds: - * in0: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] - * in1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * in0: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] + * in1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out0: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -225,7 +225,7 @@ void fiat_poly1305_carry_mul(uintptr_t in0, uintptr_t in1, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * in0: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out0: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -375,7 +375,7 @@ void fiat_poly1305_carry_square(uintptr_t in0, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * in0: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out0: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -421,7 +421,7 @@ void fiat_poly1305_carry(uintptr_t in0, uintptr_t out0) { * in0: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * in1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out0: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out0: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ void fiat_poly1305_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x5, x1, x6, x2, x7, x3, x8, x4, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19; @@ -464,7 +464,7 @@ void fiat_poly1305_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * in0: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * in1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out0: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out0: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ void fiat_poly1305_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x5, x1, x6, x2, x7, x3, x8, x4, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19; @@ -506,7 +506,7 @@ void fiat_poly1305_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * Input Bounds: * in0: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out0: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out0: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ void fiat_poly1305_opp(uintptr_t in0, uintptr_t out0) { uintptr_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14; diff --git a/fiat-bedrock2/src/poly1305_64.c b/fiat-bedrock2/src/poly1305_64.c index bc496d9efa2..8f68a48b4c0 100644 --- a/fiat-bedrock2/src/poly1305_64.c +++ b/fiat-bedrock2/src/poly1305_64.c @@ -16,8 +16,8 @@ /* * Input Bounds: - * in0: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] - * in1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * in0: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] + * in1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out0: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -108,7 +108,7 @@ void fiat_poly1305_carry_mul(uintptr_t in0, uintptr_t in1, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * in0: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out0: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -181,7 +181,7 @@ void fiat_poly1305_carry_square(uintptr_t in0, uintptr_t out0) { /* * Input Bounds: - * in0: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * in0: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out0: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -217,7 +217,7 @@ void fiat_poly1305_carry(uintptr_t in0, uintptr_t out0) { * in0: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * in1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out0: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out0: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ void fiat_poly1305_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x3, x1, x4, x2, x5, x6, x7, x8, x9, x10, x11; @@ -250,7 +250,7 @@ void fiat_poly1305_add(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * in0: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * in1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out0: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out0: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ void fiat_poly1305_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { uintptr_t x0, x3, x1, x4, x2, x5, x6, x7, x8, x9, x10, x11; @@ -282,7 +282,7 @@ void fiat_poly1305_sub(uintptr_t in0, uintptr_t in1, uintptr_t out0) { * Input Bounds: * in0: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out0: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out0: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ void fiat_poly1305_opp(uintptr_t in0, uintptr_t out0) { uintptr_t x0, x1, x2, x3, x4, x5, x6, x7, x8; diff --git a/fiat-c/src/curve25519_32.c b/fiat-c/src/curve25519_32.c index 81259dc3343..690fe0970b8 100644 --- a/fiat-c/src/curve25519_32.c +++ b/fiat-c/src/curve25519_32.c @@ -133,8 +133,8 @@ static void fiat_25519_cmovznz_u32(uint32_t* out1, fiat_25519_uint1 arg1, uint32 * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] - * arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] + * arg2: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -304,7 +304,7 @@ static void fiat_25519_carry_mul(uint32_t out1[10], const uint32_t arg1[10], con * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -447,7 +447,7 @@ static void fiat_25519_carry_square(uint32_t out1[10], const uint32_t arg1[10]) * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -495,7 +495,7 @@ static void fiat_25519_carry(uint32_t out1[10], const uint32_t arg1[10]) { * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ static void fiat_25519_add(uint32_t out1[10], const uint32_t arg1[10], const uint32_t arg2[10]) { uint32_t x1 = ((arg1[0]) + (arg2[0])); @@ -529,7 +529,7 @@ static void fiat_25519_add(uint32_t out1[10], const uint32_t arg1[10], const uin * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ static void fiat_25519_sub(uint32_t out1[10], const uint32_t arg1[10], const uint32_t arg2[10]) { uint32_t x1 = ((UINT32_C(0x7ffffda) + (arg1[0])) - (arg2[0])); @@ -562,7 +562,7 @@ static void fiat_25519_sub(uint32_t out1[10], const uint32_t arg1[10], const uin * Input Bounds: * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ static void fiat_25519_opp(uint32_t out1[10], const uint32_t arg1[10]) { uint32_t x1 = (UINT32_C(0x7ffffda) - (arg1[0])); @@ -912,7 +912,7 @@ static void fiat_25519_from_bytes(uint32_t out1[10], const uint8_t arg1[32]) { * eval out1 mod m = (121666 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ diff --git a/fiat-c/src/curve25519_64.c b/fiat-c/src/curve25519_64.c index 43239fa57df..173ab62b61b 100644 --- a/fiat-c/src/curve25519_64.c +++ b/fiat-c/src/curve25519_64.c @@ -91,8 +91,8 @@ static void fiat_25519_cmovznz_u64(uint64_t* out1, fiat_25519_uint1 arg1, uint64 * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] - * arg2: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] + * arg2: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -162,7 +162,7 @@ static void fiat_25519_carry_mul(uint64_t out1[5], const uint64_t arg1[5], const * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -230,7 +230,7 @@ static void fiat_25519_carry_square(uint64_t out1[5], const uint64_t arg1[5]) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -263,7 +263,7 @@ static void fiat_25519_carry(uint64_t out1[5], const uint64_t arg1[5]) { * arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * arg2: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ static void fiat_25519_add(uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) { uint64_t x1 = ((arg1[0]) + (arg2[0])); @@ -287,7 +287,7 @@ static void fiat_25519_add(uint64_t out1[5], const uint64_t arg1[5], const uint6 * arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * arg2: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ static void fiat_25519_sub(uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) { uint64_t x1 = ((UINT64_C(0xfffffffffffda) + (arg1[0])) - (arg2[0])); @@ -310,7 +310,7 @@ static void fiat_25519_sub(uint64_t out1[5], const uint64_t arg1[5], const uint6 * Input Bounds: * arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ static void fiat_25519_opp(uint64_t out1[5], const uint64_t arg1[5]) { uint64_t x1 = (UINT64_C(0xfffffffffffda) - (arg1[0])); @@ -575,7 +575,7 @@ static void fiat_25519_from_bytes(uint64_t out1[5], const uint8_t arg1[32]) { * eval out1 mod m = (121666 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ diff --git a/fiat-c/src/p448_solinas_64.c b/fiat-c/src/p448_solinas_64.c index 97913f0e04e..63cda8d710f 100644 --- a/fiat-c/src/p448_solinas_64.c +++ b/fiat-c/src/p448_solinas_64.c @@ -91,8 +91,8 @@ static void fiat_p448_cmovznz_u64(uint64_t* out1, fiat_p448_uint1 arg1, uint64_t * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] - * arg2: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] + * arg2: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -257,7 +257,7 @@ static void fiat_p448_carry_mul(uint64_t out1[8], const uint64_t arg1[8], const * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -401,7 +401,7 @@ static void fiat_p448_carry_square(uint64_t out1[8], const uint64_t arg1[8]) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -447,7 +447,7 @@ static void fiat_p448_carry(uint64_t out1[8], const uint64_t arg1[8]) { * arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * arg2: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ static void fiat_p448_add(uint64_t out1[8], const uint64_t arg1[8], const uint64_t arg2[8]) { uint64_t x1 = ((arg1[0]) + (arg2[0])); @@ -477,7 +477,7 @@ static void fiat_p448_add(uint64_t out1[8], const uint64_t arg1[8], const uint64 * arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * arg2: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ static void fiat_p448_sub(uint64_t out1[8], const uint64_t arg1[8], const uint64_t arg2[8]) { uint64_t x1 = ((UINT64_C(0x1fffffffffffffe) + (arg1[0])) - (arg2[0])); @@ -506,7 +506,7 @@ static void fiat_p448_sub(uint64_t out1[8], const uint64_t arg1[8], const uint64 * Input Bounds: * arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ static void fiat_p448_opp(uint64_t out1[8], const uint64_t arg1[8]) { uint64_t x1 = (UINT64_C(0x1fffffffffffffe) - (arg1[0])); diff --git a/fiat-c/src/p521_64.c b/fiat-c/src/p521_64.c index 9fe91d7c4d6..3920eed2149 100644 --- a/fiat-c/src/p521_64.c +++ b/fiat-c/src/p521_64.c @@ -135,8 +135,8 @@ static void fiat_p521_cmovznz_u64(uint64_t* out1, fiat_p521_uint1 arg1, uint64_t * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] - * arg2: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] + * arg2: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -281,7 +281,7 @@ static void fiat_p521_carry_mul(uint64_t out1[9], const uint64_t arg1[9], const * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -406,7 +406,7 @@ static void fiat_p521_carry_square(uint64_t out1[9], const uint64_t arg1[9]) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -451,7 +451,7 @@ static void fiat_p521_carry(uint64_t out1[9], const uint64_t arg1[9]) { * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * arg2: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ static void fiat_p521_add(uint64_t out1[9], const uint64_t arg1[9], const uint64_t arg2[9]) { uint64_t x1 = ((arg1[0]) + (arg2[0])); @@ -483,7 +483,7 @@ static void fiat_p521_add(uint64_t out1[9], const uint64_t arg1[9], const uint64 * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * arg2: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ static void fiat_p521_sub(uint64_t out1[9], const uint64_t arg1[9], const uint64_t arg2[9]) { uint64_t x1 = ((UINT64_C(0x7fffffffffffffe) + (arg1[0])) - (arg2[0])); @@ -514,7 +514,7 @@ static void fiat_p521_sub(uint64_t out1[9], const uint64_t arg1[9], const uint64 * Input Bounds: * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ static void fiat_p521_opp(uint64_t out1[9], const uint64_t arg1[9]) { uint64_t x1 = (UINT64_C(0x7fffffffffffffe) - (arg1[0])); diff --git a/fiat-c/src/poly1305_32.c b/fiat-c/src/poly1305_32.c index e6ae3569c46..0d96c6aaae3 100644 --- a/fiat-c/src/poly1305_32.c +++ b/fiat-c/src/poly1305_32.c @@ -89,8 +89,8 @@ static void fiat_poly1305_cmovznz_u32(uint32_t* out1, fiat_poly1305_uint1 arg1, * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] - * arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] + * arg2: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -160,7 +160,7 @@ static void fiat_poly1305_carry_mul(uint32_t out1[5], const uint32_t arg1[5], co * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -228,7 +228,7 @@ static void fiat_poly1305_carry_square(uint32_t out1[5], const uint32_t arg1[5]) * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -261,7 +261,7 @@ static void fiat_poly1305_carry(uint32_t out1[5], const uint32_t arg1[5]) { * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ static void fiat_poly1305_add(uint32_t out1[5], const uint32_t arg1[5], const uint32_t arg2[5]) { uint32_t x1 = ((arg1[0]) + (arg2[0])); @@ -285,7 +285,7 @@ static void fiat_poly1305_add(uint32_t out1[5], const uint32_t arg1[5], const ui * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ static void fiat_poly1305_sub(uint32_t out1[5], const uint32_t arg1[5], const uint32_t arg2[5]) { uint32_t x1 = ((UINT32_C(0x7fffff6) + (arg1[0])) - (arg2[0])); @@ -308,7 +308,7 @@ static void fiat_poly1305_sub(uint32_t out1[5], const uint32_t arg1[5], const ui * Input Bounds: * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ static void fiat_poly1305_opp(uint32_t out1[5], const uint32_t arg1[5]) { uint32_t x1 = (UINT32_C(0x7fffff6) - (arg1[0])); diff --git a/fiat-c/src/poly1305_64.c b/fiat-c/src/poly1305_64.c index 3ee86224a88..453d5b9c7b9 100644 --- a/fiat-c/src/poly1305_64.c +++ b/fiat-c/src/poly1305_64.c @@ -135,8 +135,8 @@ static void fiat_poly1305_cmovznz_u64(uint64_t* out1, fiat_poly1305_uint1 arg1, * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] - * arg2: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] + * arg2: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -180,7 +180,7 @@ static void fiat_poly1305_carry_mul(uint64_t out1[3], const uint64_t arg1[3], co * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -225,7 +225,7 @@ static void fiat_poly1305_carry_square(uint64_t out1[3], const uint64_t arg1[3]) * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -252,7 +252,7 @@ static void fiat_poly1305_carry(uint64_t out1[3], const uint64_t arg1[3]) { * arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * arg2: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ static void fiat_poly1305_add(uint64_t out1[3], const uint64_t arg1[3], const uint64_t arg2[3]) { uint64_t x1 = ((arg1[0]) + (arg2[0])); @@ -272,7 +272,7 @@ static void fiat_poly1305_add(uint64_t out1[3], const uint64_t arg1[3], const ui * arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * arg2: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ static void fiat_poly1305_sub(uint64_t out1[3], const uint64_t arg1[3], const uint64_t arg2[3]) { uint64_t x1 = ((UINT64_C(0x1ffffffffff6) + (arg1[0])) - (arg2[0])); @@ -291,7 +291,7 @@ static void fiat_poly1305_sub(uint64_t out1[3], const uint64_t arg1[3], const ui * Input Bounds: * arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ static void fiat_poly1305_opp(uint64_t out1[3], const uint64_t arg1[3]) { uint64_t x1 = (UINT64_C(0x1ffffffffff6) - (arg1[0])); diff --git a/fiat-go/src/curve25519_32.go b/fiat-go/src/curve25519_32.go index b00e508cbaf..d331546a041 100644 --- a/fiat-go/src/curve25519_32.go +++ b/fiat-go/src/curve25519_32.go @@ -132,8 +132,8 @@ func fiat_25519_cmovznz_u32(out1 *uint32, arg1 uint32, arg2 uint32, arg3 uint32) * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] - * arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] + * arg2: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -304,7 +304,7 @@ func fiat_25519_carry_mul(out1 *[10]uint32, arg1 *[10]uint32, arg2 *[10]uint32) * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -448,7 +448,7 @@ func fiat_25519_carry_square(out1 *[10]uint32, arg1 *[10]uint32) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ @@ -497,7 +497,7 @@ func fiat_25519_carry(out1 *[10]uint32, arg1 *[10]uint32) { * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ /*inline*/ func fiat_25519_add(out1 *[10]uint32, arg1 *[10]uint32, arg2 *[10]uint32) { @@ -532,7 +532,7 @@ func fiat_25519_add(out1 *[10]uint32, arg1 *[10]uint32, arg2 *[10]uint32) { * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ /*inline*/ func fiat_25519_sub(out1 *[10]uint32, arg1 *[10]uint32, arg2 *[10]uint32) { @@ -566,7 +566,7 @@ func fiat_25519_sub(out1 *[10]uint32, arg1 *[10]uint32, arg2 *[10]uint32) { * Input Bounds: * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] */ /*inline*/ func fiat_25519_opp(out1 *[10]uint32, arg1 *[10]uint32) { @@ -920,7 +920,7 @@ func fiat_25519_from_bytes(out1 *[10]uint32, arg1 *[32]uint32) { * eval out1 mod m = (121666 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] + * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] */ diff --git a/fiat-go/src/curve25519_64.go b/fiat-go/src/curve25519_64.go index ac7b158866b..11e16a40483 100644 --- a/fiat-go/src/curve25519_64.go +++ b/fiat-go/src/curve25519_64.go @@ -87,8 +87,8 @@ func fiat_25519_cmovznz_u64(out1 *uint64, arg1 uint64, arg2 uint64, arg3 uint64) * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] - * arg2: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] + * arg2: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -316,7 +316,7 @@ func fiat_25519_carry_mul(out1 *[5]uint64, arg1 *[5]uint64, arg2 *[5]uint64) { * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -472,7 +472,7 @@ func fiat_25519_carry_square(out1 *[5]uint64, arg1 *[5]uint64) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ @@ -506,7 +506,7 @@ func fiat_25519_carry(out1 *[5]uint64, arg1 *[5]uint64) { * arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * arg2: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ /*inline*/ func fiat_25519_add(out1 *[5]uint64, arg1 *[5]uint64, arg2 *[5]uint64) { @@ -531,7 +531,7 @@ func fiat_25519_add(out1 *[5]uint64, arg1 *[5]uint64, arg2 *[5]uint64) { * arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * arg2: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ /*inline*/ func fiat_25519_sub(out1 *[5]uint64, arg1 *[5]uint64, arg2 *[5]uint64) { @@ -555,7 +555,7 @@ func fiat_25519_sub(out1 *[5]uint64, arg1 *[5]uint64, arg2 *[5]uint64) { * Input Bounds: * arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] */ /*inline*/ func fiat_25519_opp(out1 *[5]uint64, arg1 *[5]uint64) { @@ -824,7 +824,7 @@ func fiat_25519_from_bytes(out1 *[5]uint64, arg1 *[32]uint64) { * eval out1 mod m = (121666 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] + * arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] */ diff --git a/fiat-go/src/p448_solinas_64.go b/fiat-go/src/p448_solinas_64.go index 62f0741c125..796069864e6 100644 --- a/fiat-go/src/p448_solinas_64.go +++ b/fiat-go/src/p448_solinas_64.go @@ -87,8 +87,8 @@ func fiat_p448_cmovznz_u64(out1 *uint64, arg1 uint64, arg2 uint64, arg3 uint64) * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] - * arg2: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] + * arg2: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -913,7 +913,7 @@ func fiat_p448_carry_mul(out1 *[8]uint64, arg1 *[8]uint64, arg2 *[8]uint64) { * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -1423,7 +1423,7 @@ func fiat_p448_carry_square(out1 *[8]uint64, arg1 *[8]uint64) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] */ @@ -1470,7 +1470,7 @@ func fiat_p448_carry(out1 *[8]uint64, arg1 *[8]uint64) { * arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * arg2: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ /*inline*/ func fiat_p448_add(out1 *[8]uint64, arg1 *[8]uint64, arg2 *[8]uint64) { @@ -1501,7 +1501,7 @@ func fiat_p448_add(out1 *[8]uint64, arg1 *[8]uint64, arg2 *[8]uint64) { * arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * arg2: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ /*inline*/ func fiat_p448_sub(out1 *[8]uint64, arg1 *[8]uint64, arg2 *[8]uint64) { @@ -1531,7 +1531,7 @@ func fiat_p448_sub(out1 *[8]uint64, arg1 *[8]uint64, arg2 *[8]uint64) { * Input Bounds: * arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] * Output Bounds: - * out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] + * out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] */ /*inline*/ func fiat_p448_opp(out1 *[8]uint64, arg1 *[8]uint64) { diff --git a/fiat-go/src/p521_64.go b/fiat-go/src/p521_64.go index 6c39315c38a..b8e4acdce63 100644 --- a/fiat-go/src/p521_64.go +++ b/fiat-go/src/p521_64.go @@ -133,8 +133,8 @@ func fiat_p521_cmovznz_u64(out1 *uint64, arg1 uint64, arg2 uint64, arg3 uint64) * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] - * arg2: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] + * arg2: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -837,7 +837,7 @@ func fiat_p521_carry_mul(out1 *[9]uint64, arg1 *[9]uint64, arg2 *[9]uint64) { * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -1268,7 +1268,7 @@ func fiat_p521_carry_square(out1 *[9]uint64, arg1 *[9]uint64) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] * Output Bounds: * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] */ @@ -1314,7 +1314,7 @@ func fiat_p521_carry(out1 *[9]uint64, arg1 *[9]uint64) { * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * arg2: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ /*inline*/ func fiat_p521_add(out1 *[9]uint64, arg1 *[9]uint64, arg2 *[9]uint64) { @@ -1347,7 +1347,7 @@ func fiat_p521_add(out1 *[9]uint64, arg1 *[9]uint64, arg2 *[9]uint64) { * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * arg2: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ /*inline*/ func fiat_p521_sub(out1 *[9]uint64, arg1 *[9]uint64, arg2 *[9]uint64) { @@ -1379,7 +1379,7 @@ func fiat_p521_sub(out1 *[9]uint64, arg1 *[9]uint64, arg2 *[9]uint64) { * Input Bounds: * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] * Output Bounds: - * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] + * out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] */ /*inline*/ func fiat_p521_opp(out1 *[9]uint64, arg1 *[9]uint64) { diff --git a/fiat-go/src/poly1305_32.go b/fiat-go/src/poly1305_32.go index da69ae09e5c..a95eda30a7d 100644 --- a/fiat-go/src/poly1305_32.go +++ b/fiat-go/src/poly1305_32.go @@ -86,8 +86,8 @@ func fiat_poly1305_cmovznz_u32(out1 *uint32, arg1 uint32, arg2 uint32, arg3 uint * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] - * arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] + * arg2: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -158,7 +158,7 @@ func fiat_poly1305_carry_mul(out1 *[5]uint32, arg1 *[5]uint32, arg2 *[5]uint32) * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -227,7 +227,7 @@ func fiat_poly1305_carry_square(out1 *[5]uint32, arg1 *[5]uint32) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] * Output Bounds: * out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] */ @@ -261,7 +261,7 @@ func fiat_poly1305_carry(out1 *[5]uint32, arg1 *[5]uint32) { * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ /*inline*/ func fiat_poly1305_add(out1 *[5]uint32, arg1 *[5]uint32, arg2 *[5]uint32) { @@ -286,7 +286,7 @@ func fiat_poly1305_add(out1 *[5]uint32, arg1 *[5]uint32, arg2 *[5]uint32) { * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ /*inline*/ func fiat_poly1305_sub(out1 *[5]uint32, arg1 *[5]uint32, arg2 *[5]uint32) { @@ -310,7 +310,7 @@ func fiat_poly1305_sub(out1 *[5]uint32, arg1 *[5]uint32, arg2 *[5]uint32) { * Input Bounds: * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] * Output Bounds: - * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] + * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] */ /*inline*/ func fiat_poly1305_opp(out1 *[5]uint32, arg1 *[5]uint32) { diff --git a/fiat-go/src/poly1305_64.go b/fiat-go/src/poly1305_64.go index 4a9130b196d..dd7856e6626 100644 --- a/fiat-go/src/poly1305_64.go +++ b/fiat-go/src/poly1305_64.go @@ -133,8 +133,8 @@ func fiat_poly1305_cmovznz_u64(out1 *uint64, arg1 uint64, arg2 uint64, arg3 uint * eval out1 mod m = (eval arg1 * eval arg2) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] - * arg2: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] + * arg2: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -230,7 +230,7 @@ func fiat_poly1305_carry_mul(out1 *[3]uint64, arg1 *[3]uint64, arg2 *[3]uint64) * eval out1 mod m = (eval arg1 * eval arg1) mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -306,7 +306,7 @@ func fiat_poly1305_carry_square(out1 *[3]uint64, arg1 *[3]uint64) { * eval out1 mod m = eval arg1 mod m * * Input Bounds: - * arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] * Output Bounds: * out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] */ @@ -334,7 +334,7 @@ func fiat_poly1305_carry(out1 *[3]uint64, arg1 *[3]uint64) { * arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * arg2: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ /*inline*/ func fiat_poly1305_add(out1 *[3]uint64, arg1 *[3]uint64, arg2 *[3]uint64) { @@ -355,7 +355,7 @@ func fiat_poly1305_add(out1 *[3]uint64, arg1 *[3]uint64, arg2 *[3]uint64) { * arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * arg2: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ /*inline*/ func fiat_poly1305_sub(out1 *[3]uint64, arg1 *[3]uint64, arg2 *[3]uint64) { @@ -375,7 +375,7 @@ func fiat_poly1305_sub(out1 *[3]uint64, arg1 *[3]uint64, arg2 *[3]uint64) { * Input Bounds: * arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] * Output Bounds: - * out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] + * out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] */ /*inline*/ func fiat_poly1305_opp(out1 *[3]uint64, arg1 *[3]uint64) { diff --git a/fiat-java/src/FiatCurve25519.java b/fiat-java/src/FiatCurve25519.java index 784423215f2..2347e105831 100644 --- a/fiat-java/src/FiatCurve25519.java +++ b/fiat-java/src/FiatCurve25519.java @@ -136,8 +136,8 @@ static void fiat_Curve25519_cmovznz_u64(Box out1, int arg1, long arg2, lon * eval out1 mod m = (eval arg1 * eval arg2) mod m

*

* Input Bounds:

- * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]

- * arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]

+ * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]]

+ * arg2: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]]

* Output Bounds:

* out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

*/ @@ -307,7 +307,7 @@ public static void fiat_Curve25519_carry_mul(int[] out1, final int[] arg1, final * eval out1 mod m = (eval arg1 * eval arg1) mod m

*

* Input Bounds:

- * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]

+ * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]]

* Output Bounds:

* out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

*/ @@ -450,7 +450,7 @@ public static void fiat_Curve25519_carry_square(int[] out1, final int[] arg1) { * eval out1 mod m = eval arg1 mod m

*

* Input Bounds:

- * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]

+ * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]]

* Output Bounds:

* out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

*/ @@ -498,7 +498,7 @@ public static void fiat_Curve25519_carry(int[] out1, final int[] arg1) { * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

* arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

* Output Bounds:

- * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]

+ * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]]

*/ public static void fiat_Curve25519_add(int[] out1, final int[] arg1, final int[] arg2) { int x1 = ((arg1[0]) + (arg2[0])); @@ -532,7 +532,7 @@ public static void fiat_Curve25519_add(int[] out1, final int[] arg1, final int[] * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

* arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

* Output Bounds:

- * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]

+ * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]]

*/ public static void fiat_Curve25519_sub(int[] out1, final int[] arg1, final int[] arg2) { int x1 = ((0x7ffffda + (arg1[0])) - (arg2[0])); @@ -565,7 +565,7 @@ public static void fiat_Curve25519_sub(int[] out1, final int[] arg1, final int[] * Input Bounds:

* arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

* Output Bounds:

- * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]

+ * out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]]

*/ public static void fiat_Curve25519_opp(int[] out1, final int[] arg1) { int x1 = (0x7ffffda - (arg1[0])); @@ -915,7 +915,7 @@ public static void fiat_Curve25519_from_bytes(int[] out1, final int[] arg1) { * eval out1 mod m = (121666 * eval arg1) mod m

*

* Input Bounds:

- * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]]

+ * arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]]

* Output Bounds:

* out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]]

*/ diff --git a/fiat-java/src/FiatPoly1305.java b/fiat-java/src/FiatPoly1305.java index a79ff42b9d9..91771f46cac 100644 --- a/fiat-java/src/FiatPoly1305.java +++ b/fiat-java/src/FiatPoly1305.java @@ -92,8 +92,8 @@ static void fiat_Poly1305_cmovznz_u64(Box out1, int arg1, long arg2, long * eval out1 mod m = (eval arg1 * eval arg2) mod m

*

* Input Bounds:

- * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]]

- * arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]]

+ * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]]

+ * arg2: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]]

* Output Bounds:

* out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]]

*/ @@ -163,26 +163,26 @@ public static void fiat_Poly1305_carry_mul(int[] out1, final int[] arg1, final i * eval out1 mod m = (eval arg1 * eval arg1) mod m

*

* Input Bounds:

- * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]]

+ * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]]

* Output Bounds:

* out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]]

*/ public static void fiat_Poly1305_carry_square(int[] out1, final int[] arg1) { int x1 = ((arg1[4]) * 0x5); - long x2 = (Long.valueOf(x1).longValue() * Long.valueOf(0x2).longValue()); + int x2 = (x1 * 0x2); int x3 = ((arg1[4]) * 0x2); int x4 = ((arg1[3]) * 0x5); - long x5 = (Long.valueOf(x4).longValue() * Long.valueOf(0x2).longValue()); + int x5 = (x4 * 0x2); int x6 = ((arg1[3]) * 0x2); int x7 = ((arg1[2]) * 0x2); int x8 = ((arg1[1]) * 0x2); long x9 = (Long.valueOf((arg1[4])).longValue() * Long.valueOf(x1).longValue()); - long x10 = (Long.valueOf((arg1[3])).longValue() * x2); + long x10 = (Long.valueOf((arg1[3])).longValue() * Long.valueOf(x2).longValue()); long x11 = (Long.valueOf((arg1[3])).longValue() * Long.valueOf(x4).longValue()); - long x12 = (Long.valueOf((arg1[2])).longValue() * x2); - long x13 = (Long.valueOf((arg1[2])).longValue() * x5); + long x12 = (Long.valueOf((arg1[2])).longValue() * Long.valueOf(x2).longValue()); + long x13 = (Long.valueOf((arg1[2])).longValue() * Long.valueOf(x5).longValue()); long x14 = (Long.valueOf((arg1[2])).longValue() * Long.valueOf((arg1[2])).longValue()); - long x15 = (Long.valueOf((arg1[1])).longValue() * x2); + long x15 = (Long.valueOf((arg1[1])).longValue() * Long.valueOf(x2).longValue()); long x16 = (Long.valueOf((arg1[1])).longValue() * Long.valueOf(x6).longValue()); long x17 = (Long.valueOf((arg1[1])).longValue() * Long.valueOf(x7).longValue()); long x18 = (Long.valueOf((arg1[1])).longValue() * Long.valueOf((arg1[1])).longValue()); @@ -231,7 +231,7 @@ public static void fiat_Poly1305_carry_square(int[] out1, final int[] arg1) { * eval out1 mod m = eval arg1 mod m

*

* Input Bounds:

- * arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]]

+ * arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]]

* Output Bounds:

* out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]]

*/ @@ -264,7 +264,7 @@ public static void fiat_Poly1305_carry(int[] out1, final int[] arg1) { * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]]

* arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]]

* Output Bounds:

- * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]]

+ * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]]

*/ public static void fiat_Poly1305_add(int[] out1, final int[] arg1, final int[] arg2) { int x1 = ((arg1[0]) + (arg2[0])); @@ -288,7 +288,7 @@ public static void fiat_Poly1305_add(int[] out1, final int[] arg1, final int[] a * arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]]

* arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]]

* Output Bounds:

- * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]]

+ * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]]

*/ public static void fiat_Poly1305_sub(int[] out1, final int[] arg1, final int[] arg2) { int x1 = ((0x7fffff6 + (arg1[0])) - (arg2[0])); @@ -311,7 +311,7 @@ public static void fiat_Poly1305_sub(int[] out1, final int[] arg1, final int[] a * Input Bounds:

* arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]]

* Output Bounds:

- * out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]]

+ * out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]]

*/ public static void fiat_Poly1305_opp(int[] out1, final int[] arg1) { int x1 = (0x7fffff6 - (arg1[0])); diff --git a/fiat-rust/src/curve25519_32.rs b/fiat-rust/src/curve25519_32.rs index 521a42d09d0..204894257d5 100644 --- a/fiat-rust/src/curve25519_32.rs +++ b/fiat-rust/src/curve25519_32.rs @@ -127,8 +127,8 @@ pub fn fiat_25519_cmovznz_u32(out1: &mut u32, arg1: fiat_25519_u1, arg2: u32, ar /// eval out1 mod m = (eval arg1 * eval arg2) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] -/// arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] +/// arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] +/// arg2: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] /// Output Bounds: /// out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] #[inline] @@ -297,7 +297,7 @@ pub fn fiat_25519_carry_mul(out1: &mut [u32; 10], arg1: &[u32; 10], arg2: &[u32; /// eval out1 mod m = (eval arg1 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] +/// arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] /// Output Bounds: /// out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] #[inline] @@ -439,7 +439,7 @@ pub fn fiat_25519_carry_square(out1: &mut [u32; 10], arg1: &[u32; 10]) -> () { /// eval out1 mod m = eval arg1 mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] +/// arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] /// Output Bounds: /// out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] #[inline] @@ -486,7 +486,7 @@ pub fn fiat_25519_carry(out1: &mut [u32; 10], arg1: &[u32; 10]) -> () { /// arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] /// arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] +/// out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] #[inline] pub fn fiat_25519_add(out1: &mut [u32; 10], arg1: &[u32; 10], arg2: &[u32; 10]) -> () { let x1: u32 = ((arg1[0]) + (arg2[0])); @@ -519,7 +519,7 @@ pub fn fiat_25519_add(out1: &mut [u32; 10], arg1: &[u32; 10], arg2: &[u32; 10]) /// arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] /// arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] +/// out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] #[inline] pub fn fiat_25519_sub(out1: &mut [u32; 10], arg1: &[u32; 10], arg2: &[u32; 10]) -> () { let x1: u32 = ((0x7ffffda + (arg1[0])) - (arg2[0])); @@ -551,7 +551,7 @@ pub fn fiat_25519_sub(out1: &mut [u32; 10], arg1: &[u32; 10], arg2: &[u32; 10]) /// Input Bounds: /// arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] +/// out1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] #[inline] pub fn fiat_25519_opp(out1: &mut [u32; 10], arg1: &[u32; 10]) -> () { let x1: u32 = (0x7ffffda - (arg1[0])); @@ -897,7 +897,7 @@ pub fn fiat_25519_from_bytes(out1: &mut [u32; 10], arg1: &[u8; 32]) -> () { /// eval out1 mod m = (121666 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999], [0x0 ~> 0xd333332], [0x0 ~> 0x6999999]] +/// arg1: [[0x0 ~> 0xc666640], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331], [0x0 ~> 0xc666664], [0x0 ~> 0x6333331]] /// Output Bounds: /// out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333], [0x0 ~> 0x4666666], [0x0 ~> 0x2333333]] #[inline] diff --git a/fiat-rust/src/curve25519_64.rs b/fiat-rust/src/curve25519_64.rs index 45692935528..66e0bc086a5 100644 --- a/fiat-rust/src/curve25519_64.rs +++ b/fiat-rust/src/curve25519_64.rs @@ -85,8 +85,8 @@ pub fn fiat_25519_cmovznz_u64(out1: &mut u64, arg1: fiat_25519_u1, arg2: u64, ar /// eval out1 mod m = (eval arg1 * eval arg2) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] -/// arg2: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] +/// arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] +/// arg2: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] /// Output Bounds: /// out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] #[inline] @@ -155,7 +155,7 @@ pub fn fiat_25519_carry_mul(out1: &mut [u64; 5], arg1: &[u64; 5], arg2: &[u64; 5 /// eval out1 mod m = (eval arg1 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] +/// arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] /// Output Bounds: /// out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] #[inline] @@ -222,7 +222,7 @@ pub fn fiat_25519_carry_square(out1: &mut [u64; 5], arg1: &[u64; 5]) -> () { /// eval out1 mod m = eval arg1 mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] +/// arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] /// Output Bounds: /// out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] #[inline] @@ -254,7 +254,7 @@ pub fn fiat_25519_carry(out1: &mut [u64; 5], arg1: &[u64; 5]) -> () { /// arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] /// arg2: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] /// Output Bounds: -/// out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] +/// out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] #[inline] pub fn fiat_25519_add(out1: &mut [u64; 5], arg1: &[u64; 5], arg2: &[u64; 5]) -> () { let x1: u64 = ((arg1[0]) + (arg2[0])); @@ -277,7 +277,7 @@ pub fn fiat_25519_add(out1: &mut [u64; 5], arg1: &[u64; 5], arg2: &[u64; 5]) -> /// arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] /// arg2: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] /// Output Bounds: -/// out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] +/// out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] #[inline] pub fn fiat_25519_sub(out1: &mut [u64; 5], arg1: &[u64; 5], arg2: &[u64; 5]) -> () { let x1: u64 = ((0xfffffffffffda + (arg1[0])) - (arg2[0])); @@ -299,7 +299,7 @@ pub fn fiat_25519_sub(out1: &mut [u64; 5], arg1: &[u64; 5], arg2: &[u64; 5]) -> /// Input Bounds: /// arg1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] /// Output Bounds: -/// out1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] +/// out1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] #[inline] pub fn fiat_25519_opp(out1: &mut [u64; 5], arg1: &[u64; 5]) -> () { let x1: u64 = (0xfffffffffffda - (arg1[0])); @@ -560,7 +560,7 @@ pub fn fiat_25519_from_bytes(out1: &mut [u64; 5], arg1: &[u8; 32]) -> () { /// eval out1 mod m = (121666 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]] +/// arg1: [[0x0 ~> 0x18cccccccccca6], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca], [0x0 ~> 0x18ccccccccccca]] /// Output Bounds: /// out1: [[0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]] #[inline] diff --git a/fiat-rust/src/p448_solinas_32.rs b/fiat-rust/src/p448_solinas_32.rs index 607b655fe2c..4da53adbf9b 100644 --- a/fiat-rust/src/p448_solinas_32.rs +++ b/fiat-rust/src/p448_solinas_32.rs @@ -85,8 +85,8 @@ pub fn fiat_p448_cmovznz_u32(out1: &mut u32, arg1: fiat_p448_u1, arg2: u32, arg3 /// eval out1 mod m = (eval arg1 * eval arg2) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb]] -/// arg2: [[0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb]] +/// arg1: [[0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999995], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997]] +/// arg2: [[0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999995], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997]] /// Output Bounds: /// out1: [[0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999]] #[inline] @@ -498,14 +498,14 @@ pub fn fiat_p448_carry_mul(out1: &mut [u32; 16], arg1: &[u32; 16], arg2: &[u32; let x405: u64 = (x397 + (x382 + (x368 + (x355 + (x343 + (x332 + (x322 + (x313 + (x141 + (x133 + (x124 + (x114 + (x103 + (x91 + (x78 + x64))))))))))))))); let x406: u64 = (x405 >> 28); let x407: u32 = ((x405 & (0xfffffff as u64)) as u32); - let x408: u128 = ((x389 as u128) + ((x374 + (x360 + (x347 + (x335 + (x324 + (x314 + (x305 + (x297 + (x290 + (x284 + (x279 + (x275 + (x272 + (x270 + (x269 + (x233 + (x225 + (x217 + (x209 + (x201 + (x193 + (x185 + x177)))))))))))))))))))))) as u128)); - let x409: u128 = ((x390 as u128) + ((x375 as u128) + ((x361 as u128) + ((x348 + (x336 + (x325 + (x315 + (x306 + (x298 + (x291 + (x285 + (x280 + (x276 + (x273 + (x271 + (x241 + (x234 + (x226 + (x218 + (x210 + (x202 + (x194 + (x186 + (x178 + (x57 + x29)))))))))))))))))))))) as u128)))); - let x410: u128 = ((x391 as u128) + ((x376 as u128) + ((x362 as u128) + ((x349 as u128) + ((x337 as u128) + ((x326 + (x316 + (x307 + (x299 + (x292 + (x286 + (x281 + (x277 + (x274 + (x248 + (x242 + (x235 + (x227 + (x219 + (x211 + (x203 + (x195 + (x187 + (x179 + (x72 + (x58 + (x36 + x30)))))))))))))))))))))) as u128)))))); - let x411: u128 = ((x392 as u128) + ((x377 as u128) + ((x363 as u128) + ((x350 as u128) + ((x338 as u128) + ((x327 as u128) + ((x317 as u128) + ((x308 + (x300 + (x293 + (x287 + (x282 + (x278 + (x254 + (x249 + (x243 + (x236 + (x228 + (x220 + (x212 + (x204 + (x196 + (x188 + (x180 + (x86 + (x73 + (x59 + (x42 + (x37 + x31)))))))))))))))))))))) as u128)))))))); - let x412: u128 = ((x393 as u128) + ((x378 as u128) + ((x364 as u128) + ((x351 as u128) + ((x339 as u128) + ((x328 as u128) + ((x318 as u128) + ((x309 as u128) + ((x301 as u128) + ((x294 + (x288 + (x283 + (x259 + (x255 + (x250 + (x244 + (x237 + (x229 + (x221 + (x213 + (x205 + (x197 + (x189 + (x181 + (x99 + (x87 + (x74 + (x60 + (x47 + (x43 + (x38 + x32)))))))))))))))))))))) as u128)))))))))); - let x413: u128 = ((x394 as u128) + ((x379 as u128) + ((x365 as u128) + ((x352 as u128) + ((x340 as u128) + ((x329 as u128) + ((x319 as u128) + ((x310 as u128) + ((x302 as u128) + ((x295 as u128) + ((x289 as u128) + ((x263 + (x260 + (x256 + (x251 + (x245 + (x238 + (x230 + (x222 + (x214 + (x206 + (x198 + (x190 + (x182 + (x111 + (x100 + (x88 + (x75 + (x61 + (x51 + (x48 + (x44 + (x39 + x33)))))))))))))))))))))) as u128)))))))))))); - let x414: u128 = ((x395 as u128) + ((x380 as u128) + ((x366 as u128) + ((x353 as u128) + ((x341 as u128) + ((x330 as u128) + ((x320 as u128) + ((x311 as u128) + ((x303 as u128) + ((x296 as u128) + ((x266 as u128) + ((x264 as u128) + ((x261 as u128) + ((x257 + (x252 + (x246 + (x239 + (x231 + (x223 + (x215 + (x207 + (x199 + (x191 + (x183 + (x122 + (x112 + (x101 + (x89 + (x76 + (x62 + (x54 + (x52 + (x49 + (x45 + (x40 + x34)))))))))))))))))))))) as u128)))))))))))))); - let x415: u128 = ((x396 as u128) + ((x381 as u128) + ((x367 as u128) + ((x354 as u128) + ((x342 as u128) + ((x331 as u128) + ((x321 as u128) + ((x312 as u128) + ((x304 as u128) + ((x268 as u128) + ((x267 as u128) + ((x265 as u128) + ((x262 as u128) + ((x258 as u128) + ((x253 as u128) + ((x247 + (x240 + (x232 + (x224 + (x216 + (x208 + (x200 + (x192 + (x184 + (x132 + (x123 + (x113 + (x102 + (x90 + (x77 + (x63 + (x56 + (x55 + (x53 + (x50 + (x46 + (x41 + x35)))))))))))))))))))))) as u128)))))))))))))))); + let x408: u64 = (x389 + (x374 + (x360 + (x347 + (x335 + (x324 + (x314 + (x305 + (x297 + (x290 + (x284 + (x279 + (x275 + (x272 + (x270 + (x269 + (x233 + (x225 + (x217 + (x209 + (x201 + (x193 + (x185 + x177))))))))))))))))))))))); + let x409: u64 = (x390 + (x375 + (x361 + (x348 + (x336 + (x325 + (x315 + (x306 + (x298 + (x291 + (x285 + (x280 + (x276 + (x273 + (x271 + (x241 + (x234 + (x226 + (x218 + (x210 + (x202 + (x194 + (x186 + (x178 + (x57 + x29))))))))))))))))))))))))); + let x410: u128 = ((x391 as u128) + ((x376 as u128) + ((x362 + (x349 + (x337 + (x326 + (x316 + (x307 + (x299 + (x292 + (x286 + (x281 + (x277 + (x274 + (x248 + (x242 + (x235 + (x227 + (x219 + (x211 + (x203 + (x195 + (x187 + (x179 + (x72 + (x58 + (x36 + x30))))))))))))))))))))))))) as u128))); + let x411: u128 = ((x392 as u128) + ((x377 as u128) + ((x363 as u128) + ((x350 as u128) + ((x338 + (x327 + (x317 + (x308 + (x300 + (x293 + (x287 + (x282 + (x278 + (x254 + (x249 + (x243 + (x236 + (x228 + (x220 + (x212 + (x204 + (x196 + (x188 + (x180 + (x86 + (x73 + (x59 + (x42 + (x37 + x31))))))))))))))))))))))))) as u128))))); + let x412: u128 = ((x393 as u128) + ((x378 as u128) + ((x364 as u128) + ((x351 as u128) + ((x339 as u128) + ((x328 as u128) + ((x318 + (x309 + (x301 + (x294 + (x288 + (x283 + (x259 + (x255 + (x250 + (x244 + (x237 + (x229 + (x221 + (x213 + (x205 + (x197 + (x189 + (x181 + (x99 + (x87 + (x74 + (x60 + (x47 + (x43 + (x38 + x32))))))))))))))))))))))))) as u128))))))); + let x413: u128 = ((x394 as u128) + ((x379 as u128) + ((x365 as u128) + ((x352 as u128) + ((x340 as u128) + ((x329 as u128) + ((x319 as u128) + ((x310 as u128) + ((x302 + (x295 + (x289 + (x263 + (x260 + (x256 + (x251 + (x245 + (x238 + (x230 + (x222 + (x214 + (x206 + (x198 + (x190 + (x182 + (x111 + (x100 + (x88 + (x75 + (x61 + (x51 + (x48 + (x44 + (x39 + x33))))))))))))))))))))))))) as u128))))))))); + let x414: u128 = ((x395 as u128) + ((x380 as u128) + ((x366 as u128) + ((x353 as u128) + ((x341 as u128) + ((x330 as u128) + ((x320 as u128) + ((x311 as u128) + ((x303 as u128) + ((x296 as u128) + ((x266 + (x264 + (x261 + (x257 + (x252 + (x246 + (x239 + (x231 + (x223 + (x215 + (x207 + (x199 + (x191 + (x183 + (x122 + (x112 + (x101 + (x89 + (x76 + (x62 + (x54 + (x52 + (x49 + (x45 + (x40 + x34))))))))))))))))))))))))) as u128))))))))))); + let x415: u128 = ((x396 as u128) + ((x381 as u128) + ((x367 as u128) + ((x354 as u128) + ((x342 as u128) + ((x331 as u128) + ((x321 as u128) + ((x312 as u128) + ((x304 as u128) + ((x268 as u128) + ((x267 as u128) + ((x265 as u128) + ((x262 + (x258 + (x253 + (x247 + (x240 + (x232 + (x224 + (x216 + (x208 + (x200 + (x192 + (x184 + (x132 + (x123 + (x113 + (x102 + (x90 + (x77 + (x63 + (x56 + (x55 + (x53 + (x50 + (x46 + (x41 + x35))))))))))))))))))))))))) as u128))))))))))))); let x416: u64 = (x398 + (x383 + (x369 + (x356 + (x344 + (x333 + (x323 + (x149 + (x142 + (x134 + (x125 + (x115 + (x104 + (x92 + (x79 + (x65 + x1)))))))))))))))); let x417: u64 = (x399 + (x384 + (x370 + (x357 + (x345 + (x334 + (x156 + (x150 + (x143 + (x135 + (x126 + (x116 + (x105 + (x93 + (x80 + (x66 + (x8 + x2))))))))))))))))); let x418: u64 = (x400 + (x385 + (x371 + (x358 + (x346 + (x162 + (x157 + (x151 + (x144 + (x136 + (x127 + (x117 + (x106 + (x94 + (x81 + (x67 + (x14 + (x9 + x3)))))))))))))))))); @@ -514,8 +514,8 @@ pub fn fiat_p448_carry_mul(out1: &mut [u32; 16], arg1: &[u32; 16], arg2: &[u32; let x421: u64 = (x403 + (x388 + (x174 + (x172 + (x169 + (x165 + (x160 + (x154 + (x147 + (x139 + (x130 + (x120 + (x109 + (x97 + (x84 + (x70 + (x26 + (x24 + (x21 + (x17 + (x12 + x6))))))))))))))))))))); let x422: u64 = (x404 + (x176 + (x175 + (x173 + (x170 + (x166 + (x161 + (x155 + (x148 + (x140 + (x131 + (x121 + (x110 + (x98 + (x85 + (x71 + (x28 + (x27 + (x25 + (x22 + (x18 + (x13 + x7)))))))))))))))))))))); let x423: u128 = ((x406 as u128) + x415); - let x424: u64 = ((x408 >> 28) as u64); - let x425: u32 = ((x408 & (0xfffffff as u128)) as u32); + let x424: u64 = (x408 >> 28); + let x425: u32 = ((x408 & (0xfffffff as u64)) as u32); let x426: u128 = (x423 + (x424 as u128)); let x427: u64 = ((x426 >> 28) as u64); let x428: u32 = ((x426 & (0xfffffff as u128)) as u32); @@ -550,12 +550,12 @@ pub fn fiat_p448_carry_mul(out1: &mut [u32; 16], arg1: &[u32; 16], arg2: &[u32; let x457: u64 = (x455 + x417); let x458: u64 = ((x454 >> 28) as u64); let x459: u32 = ((x454 & (0xfffffff as u128)) as u32); - let x460: u128 = ((x458 as u128) + x409); + let x460: u64 = (x458 + x409); let x461: u64 = (x457 >> 28); let x462: u32 = ((x457 & (0xfffffff as u64)) as u32); let x463: u64 = (x461 + x416); - let x464: u64 = ((x460 >> 28) as u64); - let x465: u32 = ((x460 & (0xfffffff as u128)) as u32); + let x464: u64 = (x460 >> 28); + let x465: u32 = ((x460 & (0xfffffff as u64)) as u32); let x466: u64 = (x464 + (x425 as u64)); let x467: u64 = (x463 >> 28); let x468: u32 = ((x463 & (0xfffffff as u64)) as u32); @@ -596,7 +596,7 @@ pub fn fiat_p448_carry_mul(out1: &mut [u32; 16], arg1: &[u32; 16], arg2: &[u32; /// eval out1 mod m = (eval arg1 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb]] +/// arg1: [[0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999995], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997]] /// Output Bounds: /// out1: [[0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999]] #[inline] @@ -865,14 +865,14 @@ pub fn fiat_p448_carry_square(out1: &mut [u32; 16], arg1: &[u32; 16]) -> () { let x262: u64 = (x254 + (x240 + (x226 + (x212 + (x118 + (x106 + (x97 + x91))))))); let x263: u64 = (x262 >> 28); let x264: u32 = ((x262 & (0xfffffff as u64)) as u32); - let x265: u128 = ((x246 as u128) + ((x232 + (x218 + (x204 + (x190 + (x176 + (x162 + (x148 + (x119 + (x107 + (x98 + x92)))))))))) as u128)); - let x266: u128 = ((x247 as u128) + ((x233 as u128) + ((x219 + (x205 + (x191 + (x177 + (x163 + (x149 + (x135 + (x121 + (x109 + (x100 + (x94 + (x78 + x62)))))))))))) as u128))); - let x267: u128 = ((x248 as u128) + ((x234 as u128) + ((x220 as u128) + ((x206 + (x192 + (x178 + (x164 + (x151 + (x137 + (x123 + (x111 + (x102 + (x79 + x63)))))))))) as u128)))); - let x268: u128 = ((x249 as u128) + ((x235 as u128) + ((x221 as u128) + ((x207 as u128) + ((x193 + (x179 + (x167 + (x165 + (x153 + (x139 + (x125 + (x113 + (x104 + (x81 + (x80 + (x65 + x64)))))))))))) as u128))))); - let x269: u128 = ((x250 as u128) + ((x236 as u128) + ((x222 as u128) + ((x208 as u128) + ((x194 as u128) + ((x183 + (x180 + (x169 + (x155 + (x141 + (x127 + (x115 + (x84 + (x82 + (x68 + x66)))))))))) as u128)))))); - let x270: u128 = ((x251 as u128) + ((x237 as u128) + ((x223 as u128) + ((x209 as u128) + ((x199 as u128) + ((x195 as u128) + ((x185 + (x181 + (x171 + (x157 + (x143 + (x129 + (x117 + (x88 + (x85 + (x83 + (x72 + (x69 + x67)))))))))))) as u128))))))); - let x271: u128 = ((x252 as u128) + ((x238 as u128) + ((x224 as u128) + ((x215 as u128) + ((x210 as u128) + ((x201 as u128) + ((x196 as u128) + ((x187 + (x173 + (x159 + (x145 + (x131 + (x95 + (x89 + (x86 + (x75 + (x73 + x70)))))))))) as u128)))))))); - let x272: u128 = ((x253 as u128) + ((x239 as u128) + ((x231 as u128) + ((x225 as u128) + ((x217 as u128) + ((x211 as u128) + ((x203 as u128) + ((x197 as u128) + ((x189 + (x175 + (x161 + (x147 + (x133 + (x105 + (x96 + (x90 + (x87 + (x77 + (x76 + (x74 + x71)))))))))))) as u128))))))))); + let x265: u64 = (x246 + (x232 + (x218 + (x204 + (x190 + (x176 + (x162 + (x148 + (x119 + (x107 + (x98 + x92))))))))))); + let x266: u64 = (x247 + (x233 + (x219 + (x205 + (x191 + (x177 + (x163 + (x149 + (x135 + (x121 + (x109 + (x100 + (x94 + (x78 + x62)))))))))))))); + let x267: u128 = ((x248 as u128) + ((x234 + (x220 + (x206 + (x192 + (x178 + (x164 + (x151 + (x137 + (x123 + (x111 + (x102 + (x79 + x63)))))))))))) as u128)); + let x268: u128 = ((x249 as u128) + ((x235 as u128) + ((x221 + (x207 + (x193 + (x179 + (x167 + (x165 + (x153 + (x139 + (x125 + (x113 + (x104 + (x81 + (x80 + (x65 + x64)))))))))))))) as u128))); + let x269: u128 = ((x250 as u128) + ((x236 as u128) + ((x222 as u128) + ((x208 + (x194 + (x183 + (x180 + (x169 + (x155 + (x141 + (x127 + (x115 + (x84 + (x82 + (x68 + x66)))))))))))) as u128)))); + let x270: u128 = ((x251 as u128) + ((x237 as u128) + ((x223 as u128) + ((x209 as u128) + ((x199 + (x195 + (x185 + (x181 + (x171 + (x157 + (x143 + (x129 + (x117 + (x88 + (x85 + (x83 + (x72 + (x69 + x67)))))))))))))) as u128))))); + let x271: u128 = ((x252 as u128) + ((x238 as u128) + ((x224 as u128) + ((x215 as u128) + ((x210 as u128) + ((x201 + (x196 + (x187 + (x173 + (x159 + (x145 + (x131 + (x95 + (x89 + (x86 + (x75 + (x73 + x70)))))))))))) as u128)))))); + let x272: u128 = ((x253 as u128) + ((x239 as u128) + ((x231 as u128) + ((x225 as u128) + ((x217 as u128) + ((x211 as u128) + ((x203 + (x197 + (x189 + (x175 + (x161 + (x147 + (x133 + (x105 + (x96 + (x90 + (x87 + (x77 + (x76 + (x74 + x71)))))))))))))) as u128))))))); let x273: u64 = (x255 + (x241 + (x227 + (x213 + (x134 + (x120 + (x108 + (x99 + (x93 + x46))))))))); let x274: u64 = (x256 + (x242 + (x228 + (x150 + (x136 + (x122 + (x110 + (x101 + x47)))))))); let x275: u64 = (x257 + (x243 + (x229 + (x166 + (x152 + (x138 + (x124 + (x112 + (x103 + (x49 + x48)))))))))); @@ -881,8 +881,8 @@ pub fn fiat_p448_carry_square(out1: &mut [u32; 16], arg1: &[u32; 16]) -> () { let x278: u64 = (x260 + (x214 + (x200 + (x186 + (x172 + (x158 + (x144 + (x130 + (x59 + (x57 + x54)))))))))); let x279: u64 = (x261 + (x230 + (x216 + (x202 + (x188 + (x174 + (x160 + (x146 + (x132 + (x61 + (x60 + (x58 + x55)))))))))))); let x280: u128 = ((x263 as u128) + x272); - let x281: u64 = ((x265 >> 28) as u64); - let x282: u32 = ((x265 & (0xfffffff as u128)) as u32); + let x281: u64 = (x265 >> 28); + let x282: u32 = ((x265 & (0xfffffff as u64)) as u32); let x283: u128 = (x280 + (x281 as u128)); let x284: u64 = ((x283 >> 28) as u64); let x285: u32 = ((x283 & (0xfffffff as u128)) as u32); @@ -917,12 +917,12 @@ pub fn fiat_p448_carry_square(out1: &mut [u32; 16], arg1: &[u32; 16]) -> () { let x314: u64 = (x312 + x274); let x315: u64 = ((x311 >> 28) as u64); let x316: u32 = ((x311 & (0xfffffff as u128)) as u32); - let x317: u128 = ((x315 as u128) + x266); + let x317: u64 = (x315 + x266); let x318: u64 = (x314 >> 28); let x319: u32 = ((x314 & (0xfffffff as u64)) as u32); let x320: u64 = (x318 + x273); - let x321: u64 = ((x317 >> 28) as u64); - let x322: u32 = ((x317 & (0xfffffff as u128)) as u32); + let x321: u64 = (x317 >> 28); + let x322: u32 = ((x317 & (0xfffffff as u64)) as u32); let x323: u64 = (x321 + (x282 as u64)); let x324: u64 = (x320 >> 28); let x325: u32 = ((x320 & (0xfffffff as u64)) as u32); @@ -963,7 +963,7 @@ pub fn fiat_p448_carry_square(out1: &mut [u32; 16], arg1: &[u32; 16]) -> () { /// eval out1 mod m = eval arg1 mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb]] +/// arg1: [[0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999995], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997]] /// Output Bounds: /// out1: [[0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999]] #[inline] @@ -1032,7 +1032,7 @@ pub fn fiat_p448_carry(out1: &mut [u32; 16], arg1: &[u32; 16]) -> () { /// arg1: [[0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999]] /// arg2: [[0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb]] +/// out1: [[0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999995], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997]] #[inline] pub fn fiat_p448_add(out1: &mut [u32; 16], arg1: &[u32; 16], arg2: &[u32; 16]) -> () { let x1: u32 = ((arg1[0]) + (arg2[0])); @@ -1077,7 +1077,7 @@ pub fn fiat_p448_add(out1: &mut [u32; 16], arg1: &[u32; 16], arg2: &[u32; 16]) - /// arg1: [[0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999]] /// arg2: [[0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb]] +/// out1: [[0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999995], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997]] #[inline] pub fn fiat_p448_sub(out1: &mut [u32; 16], arg1: &[u32; 16], arg2: &[u32; 16]) -> () { let x1: u32 = ((0x1ffffffe + (arg1[0])) - (arg2[0])); @@ -1121,7 +1121,7 @@ pub fn fiat_p448_sub(out1: &mut [u32; 16], arg1: &[u32; 16], arg2: &[u32; 16]) - /// Input Bounds: /// arg1: [[0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999], [0x0 ~> 0x11999999]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb], [0x0 ~> 0x34cccccb]] +/// out1: [[0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999995], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997], [0x0 ~> 0x31999997]] #[inline] pub fn fiat_p448_opp(out1: &mut [u32; 16], arg1: &[u32; 16]) -> () { let x1: u32 = (0x1ffffffe - (arg1[0])); diff --git a/fiat-rust/src/p448_solinas_64.rs b/fiat-rust/src/p448_solinas_64.rs index be2bc7e3f96..c339ffe3ae5 100644 --- a/fiat-rust/src/p448_solinas_64.rs +++ b/fiat-rust/src/p448_solinas_64.rs @@ -85,8 +85,8 @@ pub fn fiat_p448_cmovznz_u64(out1: &mut u64, arg1: fiat_p448_u1, arg2: u64, arg3 /// eval out1 mod m = (eval arg1 * eval arg2) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] -/// arg2: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] +/// arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] +/// arg2: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] /// Output Bounds: /// out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] #[inline] @@ -250,7 +250,7 @@ pub fn fiat_p448_carry_mul(out1: &mut [u64; 8], arg1: &[u64; 8], arg2: &[u64; 8] /// eval out1 mod m = (eval arg1 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] +/// arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] /// Output Bounds: /// out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] #[inline] @@ -393,7 +393,7 @@ pub fn fiat_p448_carry_square(out1: &mut [u64; 8], arg1: &[u64; 8]) -> () { /// eval out1 mod m = eval arg1 mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] +/// arg1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] /// Output Bounds: /// out1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] #[inline] @@ -438,7 +438,7 @@ pub fn fiat_p448_carry(out1: &mut [u64; 8], arg1: &[u64; 8]) -> () { /// arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] /// arg2: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] +/// out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] #[inline] pub fn fiat_p448_add(out1: &mut [u64; 8], arg1: &[u64; 8], arg2: &[u64; 8]) -> () { let x1: u64 = ((arg1[0]) + (arg2[0])); @@ -467,7 +467,7 @@ pub fn fiat_p448_add(out1: &mut [u64; 8], arg1: &[u64; 8], arg2: &[u64; 8]) -> ( /// arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] /// arg2: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] +/// out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] #[inline] pub fn fiat_p448_sub(out1: &mut [u64; 8], arg1: &[u64; 8], arg2: &[u64; 8]) -> () { let x1: u64 = ((0x1fffffffffffffe + (arg1[0])) - (arg2[0])); @@ -495,7 +495,7 @@ pub fn fiat_p448_sub(out1: &mut [u64; 8], arg1: &[u64; 8], arg2: &[u64; 8]) -> ( /// Input Bounds: /// arg1: [[0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999], [0x0 ~> 0x119999999999999]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb], [0x0 ~> 0x34ccccccccccccb]] +/// out1: [[0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999995], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997], [0x0 ~> 0x319999999999997]] #[inline] pub fn fiat_p448_opp(out1: &mut [u64; 8], arg1: &[u64; 8]) -> () { let x1: u64 = (0x1fffffffffffffe - (arg1[0])); diff --git a/fiat-rust/src/p521_64.rs b/fiat-rust/src/p521_64.rs index 95c268a1d84..1c15e31bb8f 100644 --- a/fiat-rust/src/p521_64.rs +++ b/fiat-rust/src/p521_64.rs @@ -127,8 +127,8 @@ pub fn fiat_p521_cmovznz_u64(out1: &mut u64, arg1: fiat_p521_u1, arg2: u64, arg3 /// eval out1 mod m = (eval arg1 * eval arg2) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] -/// arg2: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] +/// arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] +/// arg2: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] /// Output Bounds: /// out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] #[inline] @@ -272,7 +272,7 @@ pub fn fiat_p521_carry_mul(out1: &mut [u64; 9], arg1: &[u64; 9], arg2: &[u64; 9] /// eval out1 mod m = (eval arg1 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] +/// arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] /// Output Bounds: /// out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] #[inline] @@ -396,7 +396,7 @@ pub fn fiat_p521_carry_square(out1: &mut [u64; 9], arg1: &[u64; 9]) -> () { /// eval out1 mod m = eval arg1 mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] +/// arg1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] /// Output Bounds: /// out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] #[inline] @@ -440,7 +440,7 @@ pub fn fiat_p521_carry(out1: &mut [u64; 9], arg1: &[u64; 9]) -> () { /// arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] /// arg2: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] +/// out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] #[inline] pub fn fiat_p521_add(out1: &mut [u64; 9], arg1: &[u64; 9], arg2: &[u64; 9]) -> () { let x1: u64 = ((arg1[0]) + (arg2[0])); @@ -471,7 +471,7 @@ pub fn fiat_p521_add(out1: &mut [u64; 9], arg1: &[u64; 9], arg2: &[u64; 9]) -> ( /// arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] /// arg2: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] +/// out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] #[inline] pub fn fiat_p521_sub(out1: &mut [u64; 9], arg1: &[u64; 9], arg2: &[u64; 9]) -> () { let x1: u64 = ((0x7fffffffffffffe + (arg1[0])) - (arg2[0])); @@ -501,7 +501,7 @@ pub fn fiat_p521_sub(out1: &mut [u64; 9], arg1: &[u64; 9], arg2: &[u64; 9]) -> ( /// Input Bounds: /// arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]] +/// out1: [[0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0xc66666666666664], [0x0 ~> 0x633333333333331]] #[inline] pub fn fiat_p521_opp(out1: &mut [u64; 9], arg1: &[u64; 9]) -> () { let x1: u64 = (0x7fffffffffffffe - (arg1[0])); diff --git a/fiat-rust/src/poly1305_32.rs b/fiat-rust/src/poly1305_32.rs index 22eaed1870a..dcd489ca437 100644 --- a/fiat-rust/src/poly1305_32.rs +++ b/fiat-rust/src/poly1305_32.rs @@ -85,8 +85,8 @@ pub fn fiat_poly1305_cmovznz_u32(out1: &mut u32, arg1: fiat_poly1305_u1, arg2: u /// eval out1 mod m = (eval arg1 * eval arg2) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] -/// arg2: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] +/// arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] +/// arg2: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] /// Output Bounds: /// out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] #[inline] @@ -155,7 +155,7 @@ pub fn fiat_poly1305_carry_mul(out1: &mut [u32; 5], arg1: &[u32; 5], arg2: &[u32 /// eval out1 mod m = (eval arg1 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] +/// arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] /// Output Bounds: /// out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] #[inline] @@ -222,7 +222,7 @@ pub fn fiat_poly1305_carry_square(out1: &mut [u32; 5], arg1: &[u32; 5]) -> () { /// eval out1 mod m = eval arg1 mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] +/// arg1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] /// Output Bounds: /// out1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] #[inline] @@ -254,7 +254,7 @@ pub fn fiat_poly1305_carry(out1: &mut [u32; 5], arg1: &[u32; 5]) -> () { /// arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] /// arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] +/// out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] #[inline] pub fn fiat_poly1305_add(out1: &mut [u32; 5], arg1: &[u32; 5], arg2: &[u32; 5]) -> () { let x1: u32 = ((arg1[0]) + (arg2[0])); @@ -277,7 +277,7 @@ pub fn fiat_poly1305_add(out1: &mut [u32; 5], arg1: &[u32; 5], arg2: &[u32; 5]) /// arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] /// arg2: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] +/// out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] #[inline] pub fn fiat_poly1305_sub(out1: &mut [u32; 5], arg1: &[u32; 5], arg2: &[u32; 5]) -> () { let x1: u32 = ((0x7fffff6 + (arg1[0])) - (arg2[0])); @@ -299,7 +299,7 @@ pub fn fiat_poly1305_sub(out1: &mut [u32; 5], arg1: &[u32; 5], arg2: &[u32; 5]) /// Input Bounds: /// arg1: [[0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666], [0x0 ~> 0x4666666]] /// Output Bounds: -/// out1: [[0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332], [0x0 ~> 0xd333332]] +/// out1: [[0x0 ~> 0xc66665c], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664], [0x0 ~> 0xc666664]] #[inline] pub fn fiat_poly1305_opp(out1: &mut [u32; 5], arg1: &[u32; 5]) -> () { let x1: u32 = (0x7fffff6 - (arg1[0])); diff --git a/fiat-rust/src/poly1305_64.rs b/fiat-rust/src/poly1305_64.rs index dbccb72e3d7..97fe2810318 100644 --- a/fiat-rust/src/poly1305_64.rs +++ b/fiat-rust/src/poly1305_64.rs @@ -127,8 +127,8 @@ pub fn fiat_poly1305_cmovznz_u64(out1: &mut u64, arg1: fiat_poly1305_u1, arg2: u /// eval out1 mod m = (eval arg1 * eval arg2) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] -/// arg2: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] +/// arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] +/// arg2: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] /// Output Bounds: /// out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] #[inline] @@ -171,7 +171,7 @@ pub fn fiat_poly1305_carry_mul(out1: &mut [u64; 3], arg1: &[u64; 3], arg2: &[u64 /// eval out1 mod m = (eval arg1 * eval arg1) mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] +/// arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] /// Output Bounds: /// out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] #[inline] @@ -215,7 +215,7 @@ pub fn fiat_poly1305_carry_square(out1: &mut [u64; 3], arg1: &[u64; 3]) -> () { /// eval out1 mod m = eval arg1 mod m /// /// Input Bounds: -/// arg1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] +/// arg1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] /// Output Bounds: /// out1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] #[inline] @@ -241,7 +241,7 @@ pub fn fiat_poly1305_carry(out1: &mut [u64; 3], arg1: &[u64; 3]) -> () { /// arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] /// arg2: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] +/// out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] #[inline] pub fn fiat_poly1305_add(out1: &mut [u64; 3], arg1: &[u64; 3], arg2: &[u64; 3]) -> () { let x1: u64 = ((arg1[0]) + (arg2[0])); @@ -260,7 +260,7 @@ pub fn fiat_poly1305_add(out1: &mut [u64; 3], arg1: &[u64; 3], arg2: &[u64; 3]) /// arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] /// arg2: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] +/// out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] #[inline] pub fn fiat_poly1305_sub(out1: &mut [u64; 3], arg1: &[u64; 3], arg2: &[u64; 3]) -> () { let x1: u64 = ((0x1ffffffffff6 + (arg1[0])) - (arg2[0])); @@ -278,7 +278,7 @@ pub fn fiat_poly1305_sub(out1: &mut [u64; 3], arg1: &[u64; 3], arg2: &[u64; 3]) /// Input Bounds: /// arg1: [[0x0 ~> 0x119999999999], [0x0 ~> 0x8cccccccccc], [0x0 ~> 0x8cccccccccc]] /// Output Bounds: -/// out1: [[0x0 ~> 0x34cccccccccb], [0x0 ~> 0x1a6666666664], [0x0 ~> 0x1a6666666664]] +/// out1: [[0x0 ~> 0x31999999998f], [0x0 ~> 0x18ccccccccca], [0x0 ~> 0x18ccccccccca]] #[inline] pub fn fiat_poly1305_opp(out1: &mut [u64; 3], arg1: &[u64; 3]) -> () { let x1: u64 = (0x1ffffffffff6 - (arg1[0])); diff --git a/src/Bedrock/Tests/Proofs/X1305_32.v b/src/Bedrock/Tests/Proofs/X1305_32.v index ea9e90e7d61..36deb2d9dce 100644 --- a/src/Bedrock/Tests/Proofs/X1305_32.v +++ b/src/Bedrock/Tests/Proofs/X1305_32.v @@ -78,8 +78,8 @@ Section Proofs. Local Notation eval := (eval (weight (Qnum (inject_Z (Z.log2_up M) / inject_Z (Z.of_nat n))) (QDen (inject_Z (Z.log2_up M) / inject_Z (Z.of_nat n)))) n). - Local Notation loose_bounds := (UnsaturatedSolinas.loose_bounds n s c). - Local Notation tight_bounds := (UnsaturatedSolinas.tight_bounds n s c). + Local Notation loose_bounds := (UnsaturatedSolinasHeuristics.loose_bounds n s c). + Local Notation tight_bounds := (UnsaturatedSolinasHeuristics.tight_bounds n s c). Definition Bignum bounds @@ -190,8 +190,8 @@ Section Proofs. Solinas.carry_mul_correct (weight (Qnum (Z.log2_up M / n)) (Qden (Z.log2_up M / n))) n M - (UnsaturatedSolinas.tight_bounds n s c) - (UnsaturatedSolinas.loose_bounds n s c) + tight_bounds + loose_bounds (API.Interp mulmod). Proof. apply carry_mul_correct with (machine_wordsize0:=machine_wordsize). diff --git a/src/Bedrock/Tests/Proofs/X25519_32.v b/src/Bedrock/Tests/Proofs/X25519_32.v index 2be869defe7..52914524a91 100644 --- a/src/Bedrock/Tests/Proofs/X25519_32.v +++ b/src/Bedrock/Tests/Proofs/X25519_32.v @@ -79,8 +79,8 @@ Section Proofs. Local Notation eval := (eval (weight (Qnum (inject_Z (Z.log2_up M) / inject_Z (Z.of_nat n))) (QDen (inject_Z (Z.log2_up M) / inject_Z (Z.of_nat n)))) n). - Local Notation loose_bounds := (UnsaturatedSolinas.loose_bounds n s c). - Local Notation tight_bounds := (UnsaturatedSolinas.tight_bounds n s c). + Local Notation loose_bounds := (UnsaturatedSolinasHeuristics.loose_bounds n s c). + Local Notation tight_bounds := (UnsaturatedSolinasHeuristics.tight_bounds n s c). Definition Bignum bounds @@ -191,8 +191,8 @@ Section Proofs. Solinas.carry_mul_correct (weight (Qnum (Z.log2_up M / n)) (Qden (Z.log2_up M / n))) n M - (UnsaturatedSolinas.tight_bounds n s c) - (UnsaturatedSolinas.loose_bounds n s c) + tight_bounds + loose_bounds (API.Interp mulmod). Proof. apply carry_mul_correct with (machine_wordsize0:=machine_wordsize). diff --git a/src/Bedrock/Tests/Proofs/X25519_64.v b/src/Bedrock/Tests/Proofs/X25519_64.v index e3079682f8c..765f34571e9 100644 --- a/src/Bedrock/Tests/Proofs/X25519_64.v +++ b/src/Bedrock/Tests/Proofs/X25519_64.v @@ -31,6 +31,9 @@ Require Import Crypto.PushButtonSynthesis.UnsaturatedSolinas. Require Import Crypto.Util.Tactics.BreakMatch. Require Import Crypto.Util.ZUtil.Tactics.LtbToLt. Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall. +Require Import Crypto.Util.Option. +Import Coq.Lists.List. +Require Import Crypto.Util.Tactics.DestructHead. Require Import Rewriter.Language.Wf. Require bedrock2.Map.SeparationLogic. (* if imported, list firstn/skipn get overwritten and it's annoying *) Local Open Scope Z_scope. @@ -74,8 +77,8 @@ Section Proofs. Local Notation eval := (eval (weight (Qnum (inject_Z (Z.log2_up M) / inject_Z (Z.of_nat n))) (QDen (inject_Z (Z.log2_up M) / inject_Z (Z.of_nat n)))) n). - Local Notation loose_bounds := (UnsaturatedSolinas.loose_bounds n s c). - Local Notation tight_bounds := (UnsaturatedSolinas.tight_bounds n s c). + Local Notation loose_bounds := (UnsaturatedSolinasHeuristics.loose_bounds n s c). + Local Notation tight_bounds := (UnsaturatedSolinasHeuristics.tight_bounds n s c). Definition Bignum bounds @@ -158,8 +161,8 @@ Section Proofs. Proof. cbn [LoadStoreList.within_base_access_sizes LoadStoreList.within_access_sizes_args]. - let r := eval vm_compute in (hd None loose_bounds) in - change loose_bounds with (repeat r n). + let r := (eval vm_compute in (List.fold_right (fun x y => (x <- x; y <- y; Some (Operations.ZRange.union x y))%option) (hd None loose_bounds) loose_bounds)) in + intro H; cut (list_Z_bounded_by (repeat r n) xs); [ clear H | revert H; apply relax_list_Z_bounded_by; vm_compute; reflexivity ]. let H := fresh in intro H; pose proof length_list_Z_bounded_by _ _ H. rewrite repeat_length in *. @@ -187,8 +190,8 @@ Section Proofs. Solinas.carry_mul_correct (weight (Qnum (Z.log2_up M / n)) (Qden (Z.log2_up M / n))) n M - (UnsaturatedSolinas.tight_bounds n s c) - (UnsaturatedSolinas.loose_bounds n s c) + tight_bounds + loose_bounds (API.Interp mulmod). Proof. apply carry_mul_correct with (machine_wordsize0:=machine_wordsize). diff --git a/src/PushButtonSynthesis/UnsaturatedSolinas.v b/src/PushButtonSynthesis/UnsaturatedSolinas.v index 5513445f0eb..2dfe3eb9473 100644 --- a/src/PushButtonSynthesis/UnsaturatedSolinas.v +++ b/src/PushButtonSynthesis/UnsaturatedSolinas.v @@ -17,6 +17,7 @@ Require Import Crypto.Util.Strings.Show. Require Import Crypto.Util.ZUtil.Definitions. Require Import Crypto.Util.ZUtil.Zselect. Require Import Crypto.Util.ZUtil.Tactics.LtbToLt. +Require Import Crypto.Util.Prod. Require Import Crypto.Util.Tactics.HasBody. Require Import Crypto.Util.Tactics.Head. Require Import Crypto.Util.Tactics.SpecializeBy. @@ -97,16 +98,14 @@ Section __. Let limbwidth := (Z.log2_up (s - Associational.eval c) / Z.of_nat n)%Q. Let idxs : list nat := carry_chains n s c. - Let coef := 2. Let n_bytes := bytes_n (Qnum limbwidth) (Qden limbwidth) n. - Let prime_upperbound_list : list Z - := encode_no_reduce (weight (Qnum limbwidth) (Qden limbwidth)) n (s-1). + Local Notation prime_upperbound_list := (prime_upperbound_list n s c) (only parsing). Let prime_bytes_upperbound_list : list Z := encode_no_reduce (weight 8 1) n_bytes (s-1). - Let tight_upperbounds : list Z - := List.map - (fun v : Z => Qceiling (tight_upperbound_fraction * v)) - prime_upperbound_list. + Local Notation tight_upperbounds := (tight_upperbounds n s c) (only parsing). + Local Notation loose_upperbounds := (loose_upperbounds n s c) (only parsing). + Local Notation tight_bounds := (tight_bounds n s c) (only parsing). + Local Notation loose_bounds := (loose_bounds n s c) (only parsing). Definition prime_bound : ZRange.type.option.interp (base.type.Z) := Some r[0~>(s - Associational.eval c - 1)]%zrange. Definition prime_bounds : ZRange.type.option.interp (base.type.list (base.type.Z)) @@ -130,12 +129,6 @@ Section __. Let possible_values := possible_values_of_machine_wordsize. Let possible_values_with_bytes := possible_values_of_machine_wordsize_with_bytes. - Let loose_upperbounds : list Z - := List.map (fun u => loose_upperbound_extra_multiplicand * u) tight_upperbounds. - Definition tight_bounds : list (ZRange.type.option.interp base.type.Z) - := List.map (fun u => Some r[0~>u]%zrange) tight_upperbounds. - Definition loose_bounds : list (ZRange.type.option.interp base.type.Z) - := List.map (fun u => Some r[0~>u]%zrange) loose_upperbounds. Local Instance no_select_size : no_select_size_opt := no_select_size_of_no_select machine_wordsize. Local Instance split_mul_to : split_mul_to_opt := split_mul_to_of_should_split_mul machine_wordsize possible_values. @@ -151,7 +144,7 @@ Section __. Proof using Type. cbv [tight_bounds]; now autorewrite with distr_length. Qed. Hint Rewrite length_tight_bounds : distr_length. Lemma length_loose_bounds : List.length loose_bounds = n. - Proof using Type. cbv [loose_bounds]; now autorewrite with distr_length. Qed. + Proof using Type. cbv [loose_bounds]; now autorewrite with distr_length natsimplify. Qed. Hint Rewrite length_loose_bounds : distr_length. Lemma length_prime_bytes_upperbound_list : List.length prime_bytes_upperbound_list = bytes_n (Qnum limbwidth) (Qden limbwidth) n. Proof using Type. cbv [prime_bytes_upperbound_list]; now autorewrite with distr_length. Qed. @@ -606,16 +599,33 @@ Section __. Lemma relax_correct : forall x, list_Z_bounded_by tight_bounds x -> list_Z_bounded_by loose_bounds x. Proof using Type. - cbv [tight_bounds loose_bounds list_Z_bounded_by]. + cbv [tight_bounds loose_bounds list_Z_bounded_by tight_upperbounds loose_upperbounds]. intro. rewrite !fold_andb_map_map1, !fold_andb_map_iff; cbn [upper lower]. setoid_rewrite Bool.andb_true_iff. intro H. + autorewrite with distr_length natsimplify in *. + setoid_rewrite In_nth_error_iff in H; setoid_rewrite In_nth_error_iff. repeat first [ lazymatch type of H with | and _ _ => let H' := fresh in destruct H as [H' H]; split; [ assumption | ] + | forall v : _ * _, @ex nat _ -> _ + => let x := fresh in let n := fresh "n" in intros [ [? ?] ? ] [n x]; revert x; specialize (fun v y => H v (ex_intro _ n y)) + | forall v, Some _ = Some v -> _ => specialize (H _ eq_refl) end - | let x := fresh in intro x; specialize (H x) ]. - cbv [loose_upperbound_extra_multiplicand]. + | match goal with + | [ H : ?x = ?y |- _ ] + => first [ is_var x; subst x | is_var y; subst y ] + end + | progress cbn [fst snd] in * + | rewrite @In_nth_error_iff in H |- * + | rewrite !@nth_error_combine in H + | rewrite !@nth_error_combine + | rewrite !@nth_error_map + | progress cbv [option_map] + | progress break_innermost_match + | progress intros + | progress Option.inversion_option + | progress inversion_prod ]. Z.ltb_to_lt; lia. Qed. diff --git a/src/UnsaturatedSolinasHeuristics.v b/src/UnsaturatedSolinasHeuristics.v index bffb021790f..03545d2df9c 100644 --- a/src/UnsaturatedSolinasHeuristics.v +++ b/src/UnsaturatedSolinasHeuristics.v @@ -60,7 +60,7 @@ else: else (List.seq 0 n ++ [0; 1])%list%nat. Definition default_tight_upperbound_fraction : Q := (11/10)%Q. - Definition loose_upperbound_extra_multiplicand : Z := 3. + Definition coef := 2. (* for balance in sub *) Definition prime_upperbound_list : list Z := encode_no_reduce (weight (Qnum limbwidth) (Qden limbwidth)) n (s-1). Definition tight_upperbounds : list Z @@ -70,8 +70,8 @@ else: Definition loose_upperbounds : list Z := List.map - (fun v : Z => loose_upperbound_extra_multiplicand * v) - tight_upperbounds. + (fun '(v, bal) => v + Z.max v bal) + (List.combine tight_upperbounds (balance (weight (Qnum limbwidth) (Qden limbwidth)) n s c coef)). Definition tight_bounds : list (option zrange) := List.map (fun u => Some r[0~>u]%zrange) tight_upperbounds.