aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2018-01-02 17:57:41 -0500
committerGravatar Jason Gross <jgross@mit.edu>2018-01-02 17:59:23 -0500
commit8d465a7de3c0af6be9bc1f998cbeb43f6f4da7fe (patch)
tree628644f073f45c7dfc07e24526d6cc8fdfc463db
parentd658ab8f158df660d2b755b931b2de44abda7388 (diff)
Add support for {addcarryx,subborrow}_u{25,26}
This closes #286 This is actually a +1,-1 diff in the python script generating the notations, plus running it and rebuilding: ```diff -ADD_CARRY_SUB_BORROW_SIZES = (32, 64, 128, 51) +ADD_CARRY_SUB_BORROW_SIZES = (32, 64, 128, 25, 26, 51) ```
-rw-r--r--src/Compilers/Z/CNotations.v650
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/freeze.c40
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.log40
3 files changed, 689 insertions, 41 deletions
diff --git a/src/Compilers/Z/CNotations.v b/src/Compilers/Z/CNotations.v
index df49cf7e0..18f06f50d 100644
--- a/src/Compilers/Z/CNotations.v
+++ b/src/Compilers/Z/CNotations.v
@@ -42,18 +42,26 @@ Reserved Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c_in , a , b , & out )
Reserved Notation "'addcarryx_u32' ( c , a , b )" (format "'addcarryx_u32' ( c , a , b )").
Reserved Notation "'addcarryx_u64' ( c , a , b )" (format "'addcarryx_u64' ( c , a , b )").
Reserved Notation "'addcarryx_u128' ( c , a , b )" (format "'addcarryx_u128' ( c , a , b )").
+Reserved Notation "'addcarryx_u25' ( c , a , b )" (format "'addcarryx_u25' ( c , a , b )").
+Reserved Notation "'addcarryx_u26' ( c , a , b )" (format "'addcarryx_u26' ( c , a , b )").
Reserved Notation "'addcarryx_u51' ( c , a , b )" (format "'addcarryx_u51' ( c , a , b )").
Reserved Notation "'subborrow_u32' ( c , a , b )" (format "'subborrow_u32' ( c , a , b )").
Reserved Notation "'subborrow_u64' ( c , a , b )" (format "'subborrow_u64' ( c , a , b )").
Reserved Notation "'subborrow_u128' ( c , a , b )" (format "'subborrow_u128' ( c , a , b )").
+Reserved Notation "'subborrow_u25' ( c , a , b )" (format "'subborrow_u25' ( c , a , b )").
+Reserved Notation "'subborrow_u26' ( c , a , b )" (format "'subborrow_u26' ( c , a , b )").
Reserved Notation "'subborrow_u51' ( c , a , b )" (format "'subborrow_u51' ( c , a , b )").
Reserved Notation "'addcarryx_u32ℤ' ( c , a , b )" (format "'addcarryx_u32ℤ' ( c , a , b )").
Reserved Notation "'addcarryx_u64ℤ' ( c , a , b )" (format "'addcarryx_u64ℤ' ( c , a , b )").
Reserved Notation "'addcarryx_u128ℤ' ( c , a , b )" (format "'addcarryx_u128ℤ' ( c , a , b )").
+Reserved Notation "'addcarryx_u25ℤ' ( c , a , b )" (format "'addcarryx_u25ℤ' ( c , a , b )").
+Reserved Notation "'addcarryx_u26ℤ' ( c , a , b )" (format "'addcarryx_u26ℤ' ( c , a , b )").
Reserved Notation "'addcarryx_u51ℤ' ( c , a , b )" (format "'addcarryx_u51ℤ' ( c , a , b )").
Reserved Notation "'subborrow_u32ℤ' ( c , a , b )" (format "'subborrow_u32ℤ' ( c , a , b )").
Reserved Notation "'subborrow_u64ℤ' ( c , a , b )" (format "'subborrow_u64ℤ' ( c , a , b )").
Reserved Notation "'subborrow_u128ℤ' ( c , a , b )" (format "'subborrow_u128ℤ' ( c , a , b )").
+Reserved Notation "'subborrow_u25ℤ' ( c , a , b )" (format "'subborrow_u25ℤ' ( c , a , b )").
+Reserved Notation "'subborrow_u26ℤ' ( c , a , b )" (format "'subborrow_u26ℤ' ( c , a , b )").
Reserved Notation "'subborrow_u51ℤ' ( c , a , b )" (format "'subborrow_u51ℤ' ( c , a , b )").
Reserved Notation "'mulx_u32' ( a , b )" (format "'mulx_u32' ( a , b )").
@@ -100,7 +108,7 @@ Reserved Notation "'cmovznzℤ' ( v , a , b )" (format "'cmovznzℤ' ( v , a ,
import math
PARENTHESIZED = True
-ADD_CARRY_SUB_BORROW_SIZES = (32, 64, 128, 51)
+ADD_CARRY_SUB_BORROW_SIZES = (32, 64, 128, 25, 26, 51)
print(r"""Require Export Crypto.Compilers.Syntax.
Require Import Crypto.Compilers.Z.Syntax.
@@ -2902,6 +2910,262 @@ Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 3)
(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
@@ -3414,6 +3678,262 @@ Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 3)
(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 3) (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
@@ -4694,6 +5214,70 @@ Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _
Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
@@ -4822,6 +5406,70 @@ Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _
Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
+(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
diff --git a/src/Specific/solinas32_2e255m19_10limbs/freeze.c b/src/Specific/solinas32_2e255m19_10limbs/freeze.c
index 43d2310ed..0a55529ee 100644
--- a/src/Specific/solinas32_2e255m19_10limbs/freeze.c
+++ b/src/Specific/solinas32_2e255m19_10limbs/freeze.c
@@ -9,37 +9,37 @@ static void freeze(uint32_t out[10], const uint32_t in1[10]) {
{ const uint32_t x6 = in1[2];
{ const uint32_t x4 = in1[1];
{ const uint32_t x2 = in1[0];
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffed);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x3ffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x3ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x3ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffff);
+ { uint32_t x20; uint8_t x21 = _subborrow_u26(0x0, x2, 0x3ffffed, &x20);
+ { uint32_t x23; uint8_t x24 = _subborrow_u25(x21, x4, 0x1ffffff, &x23);
+ { uint32_t x26; uint8_t x27 = _subborrow_u26(x24, x6, 0x3ffffff, &x26);
+ { uint32_t x29; uint8_t x30 = _subborrow_u25(x27, x8, 0x1ffffff, &x29);
+ { uint32_t x32; uint8_t x33 = _subborrow_u26(x30, x10, 0x3ffffff, &x32);
+ { uint32_t x35; uint8_t x36 = _subborrow_u25(x33, x12, 0x1ffffff, &x35);
+ { uint32_t x38; uint8_t x39 = _subborrow_u26(x36, x14, 0x3ffffff, &x38);
+ { uint32_t x41; uint8_t x42 = _subborrow_u25(x39, x16, 0x1ffffff, &x41);
+ { uint32_t x44; uint8_t x45 = _subborrow_u26(x42, x18, 0x3ffffff, &x44);
+ { uint32_t x47; uint8_t x48 = _subborrow_u25(x45, x17, 0x1ffffff, &x47);
{ uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
{ uint32_t x50 = (x49 & 0x3ffffed);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
+ { uint32_t x52; uint8_t x53 = _addcarryx_u26(0x0, x20, x50, &x52);
{ uint32_t x54 = (x49 & 0x1ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
+ { uint32_t x56; uint8_t x57 = _addcarryx_u25(x53, x23, x54, &x56);
{ uint32_t x58 = (x49 & 0x3ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
+ { uint32_t x60; uint8_t x61 = _addcarryx_u26(x57, x26, x58, &x60);
{ uint32_t x62 = (x49 & 0x1ffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
+ { uint32_t x64; uint8_t x65 = _addcarryx_u25(x61, x29, x62, &x64);
{ uint32_t x66 = (x49 & 0x3ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
+ { uint32_t x68; uint8_t x69 = _addcarryx_u26(x65, x32, x66, &x68);
{ uint32_t x70 = (x49 & 0x1ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
+ { uint32_t x72; uint8_t x73 = _addcarryx_u25(x69, x35, x70, &x72);
{ uint32_t x74 = (x49 & 0x3ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
+ { uint32_t x76; uint8_t x77 = _addcarryx_u26(x73, x38, x74, &x76);
{ uint32_t x78 = (x49 & 0x1ffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
+ { uint32_t x80; uint8_t x81 = _addcarryx_u25(x77, x41, x78, &x80);
{ uint32_t x82 = (x49 & 0x3ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
+ { uint32_t x84; uint8_t x85 = _addcarryx_u26(x81, x44, x82, &x84);
{ uint32_t x86 = (x49 & 0x1ffffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
+ { uint32_t x88; uint8_t _ = _addcarryx_u25(x85, x47, x86, &x88);
out[0] = x52;
out[1] = x56;
out[2] = x60;
diff --git a/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.log
index b226eaf75..1b8894106 100644
--- a/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.log
+++ b/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.log
@@ -2,37 +2,37 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffed);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x3ffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x3ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x3ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffff);
+ uint32_t x20, uint8_t x21 = subborrow_u26(0x0, x2, 0x3ffffed);
+ uint32_t x23, uint8_t x24 = subborrow_u25(x21, x4, 0x1ffffff);
+ uint32_t x26, uint8_t x27 = subborrow_u26(x24, x6, 0x3ffffff);
+ uint32_t x29, uint8_t x30 = subborrow_u25(x27, x8, 0x1ffffff);
+ uint32_t x32, uint8_t x33 = subborrow_u26(x30, x10, 0x3ffffff);
+ uint32_t x35, uint8_t x36 = subborrow_u25(x33, x12, 0x1ffffff);
+ uint32_t x38, uint8_t x39 = subborrow_u26(x36, x14, 0x3ffffff);
+ uint32_t x41, uint8_t x42 = subborrow_u25(x39, x16, 0x1ffffff);
+ uint32_t x44, uint8_t x45 = subborrow_u26(x42, x18, 0x3ffffff);
+ uint32_t x47, uint8_t x48 = subborrow_u25(x45, x17, 0x1ffffff);
uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
uint32_t x50 = (x49 & 0x3ffffed);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
+ uint32_t x52, uint8_t x53 = addcarryx_u26(0x0, x20, x50);
uint32_t x54 = (x49 & 0x1ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
+ uint32_t x56, uint8_t x57 = addcarryx_u25(x53, x23, x54);
uint32_t x58 = (x49 & 0x3ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
+ uint32_t x60, uint8_t x61 = addcarryx_u26(x57, x26, x58);
uint32_t x62 = (x49 & 0x1ffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
+ uint32_t x64, uint8_t x65 = addcarryx_u25(x61, x29, x62);
uint32_t x66 = (x49 & 0x3ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
+ uint32_t x68, uint8_t x69 = addcarryx_u26(x65, x32, x66);
uint32_t x70 = (x49 & 0x1ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
+ uint32_t x72, uint8_t x73 = addcarryx_u25(x69, x35, x70);
uint32_t x74 = (x49 & 0x3ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
+ uint32_t x76, uint8_t x77 = addcarryx_u26(x73, x38, x74);
uint32_t x78 = (x49 & 0x1ffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
+ uint32_t x80, uint8_t x81 = addcarryx_u25(x77, x41, x78);
uint32_t x82 = (x49 & 0x3ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
+ uint32_t x84, uint8_t x85 = addcarryx_u26(x81, x44, x82);
uint32_t x86 = (x49 & 0x1ffffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
+ uint32_t x88, uint8_t _ = addcarryx_u25(x85, x47, x86);
(Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)