@@ -7,6 +7,7 @@ needs "arm/proofs/base.ml";;
77
88needs " proofs/mlkem_specs.ml" ;;
99needs " proofs/mlkem_utils.ml" ;;
10+ needs " proofs/mlkem_zetas.ml" ;;
1011
1112(* *** print_literal_from_elf "mlkem/poly_mulcache_compute.o";;
1213****)
@@ -50,43 +51,6 @@ let poly_mulcache_compute_EXEC = ARM_MK_EXEC_RULE poly_mulcache_compute_mc;;
5051(* Specification *)
5152(* ------------------------------------------------------------------------- *)
5253
53- let mulcache_zetas = define
54- `mulcache_zetas:int list =
55- [
56- &17 ; -- &17 ; -- &568 ; &568 ; &583 ; -- &583 ; -- &680 ; &680 ; &1637 ; -- &1637 ; &723 ;
57- -- &723 ; -- &1041 ; &1041 ; &1100 ; -- &1100 ; &1409 ; -- &1409 ; -- &667 ; &667 ; -- &48 ; &48 ;
58- &233 ; -- &233 ; &756 ; -- &756 ; -- &1173 ; &1173 ; -- &314 ; &314 ; -- &279 ; &279 ; -- &1626 ;
59- &1626 ; &1651 ; -- &1651 ; -- &540 ; &540 ; -- &1540 ; &1540 ; -- &1482 ; &1482 ; &952 ; -- &952 ;
60- &1461 ; -- &1461 ; -- &642 ; &642 ; &939 ; -- &939 ; -- &1021 ; &1021 ; -- &892 ; &892 ; -- &941 ;
61- &941 ; &733 ; -- &733 ; -- &992 ; &992 ; &268 ; -- &268 ; &641 ; -- &641 ; &1584 ; -- &1584 ;
62- -- &1031 ; &1031 ; -- &1292 ; &1292 ; -- &109 ; &109 ; &375 ; -- &375 ; -- &780 ; &780 ; -- &1239 ;
63- &1239 ; &1645 ; -- &1645 ; &1063 ; -- &1063 ; &319 ; -- &319 ; -- &556 ; &556 ; &757 ; -- &757 ;
64- -- &1230 ; &1230 ; &561 ; -- &561 ; -- &863 ; &863 ; -- &735 ; &735 ; -- &525 ; &525 ; &1092 ;
65- -- &1092 ; &403 ; -- &403 ; &1026 ; -- &1026 ; &1143 ; -- &1143 ; -- &1179 ; &1179 ; -- &554 ; &554 ;
66- &886 ; -- &886 ; -- &1607 ; &1607 ; &1212 ; -- &1212 ; -- &1455 ; &1455 ; &1029 ; -- &1029 ; -- &1219 ;
67- &1219 ; -- &394 ; &394 ; &885 ; -- &885 ; -- &1175 ; &1175
68- ]`;;
69-
70- let mulcache_zetas_twisted = define
71- `mulcache_zetas_twisted: int list =
72- [
73- &167 ; -- &167 ; -- &5591 ; &5591 ; &5739 ; -- &5739 ; -- &6693 ; &6693 ; &16113 ;
74- -- &16113 ; &7117 ; -- &7117 ; -- &10247 ; &10247 ; &10828 ; -- &10828 ; &13869 ; -- &13869 ;
75- -- &6565 ; &6565 ; -- &472 ; &472 ; &2293 ; -- &2293 ; &7441 ; -- &7441 ; -- &11546 ;
76- &11546 ; -- &3091 ; &3091 ; -- &2746 ; &2746 ; -- &16005 ; &16005 ; &16251 ; -- &16251 ;
77- -- &5315 ; &5315 ; -- &15159 ; &15159 ; -- &14588 ; &14588 ; &9371 ; -- &9371 ; &14381 ;
78- -- &14381 ; -- &6319 ; &6319 ; &9243 ; -- &9243 ; -- &10050 ; &10050 ; -- &8780 ; &8780 ;
79- -- &9262 ; &9262 ; &7215 ; -- &7215 ; -- &9764 ; &9764 ; &2638 ; -- &2638 ; &6309 ;
80- -- &6309 ; &15592 ; -- &15592 ; -- &10148 ; &10148 ; -- &12717 ; &12717 ; -- &1073 ; &1073 ;
81- &3691 ; -- &3691 ; -- &7678 ; &7678 ; -- &12196 ; &12196 ; &16192 ; -- &16192 ; &10463 ;
82- -- &10463 ; &3140 ; -- &3140 ; -- &5473 ; &5473 ; &7451 ; -- &7451 ; -- &12107 ; &12107 ;
83- &5522 ; -- &5522 ; -- &8495 ; &8495 ; -- &7235 ; &7235 ; -- &5168 ; &5168 ; &10749 ;
84- -- &10749 ; &3967 ; -- &3967 ; &10099 ; -- &10099 ; &11251 ; -- &11251 ; -- &11605 ; &11605 ;
85- -- &5453 ; &5453 ; &8721 ; -- &8721 ; -- &15818 ; &15818 ; &11930 ; -- &11930 ; -- &14322 ;
86- &14322 ; &10129 ; -- &10129 ; -- &11999 ; &11999 ; -- &3878 ; &3878 ; &8711 ; -- &8711 ;
87- -- &11566 ; &11566
88- ]`;;
89-
9054let have_mulcache_zetas = define
9155 `have_mulcache_zetas zetas zetas_twisted s <=>
9256 (!i. i < 128 ==> read(memory :> bytes16(word_add zetas (word (2 *i)))) s =
0 commit comments