# Test vectors for Montgomery reduction
+mul {
+ 6277101735386680763835789423207666416083908700390324961279
+ 2455155546008943817740293915197451784769108058161191238065
+ 340282366920938463500268095579187314689
+ 5646741895976341600220572388698743135318229029826089708489;
+}
+
create {
340809809850981098423498794792349 # m
266454859 # -m^{-1} mod b
130655606683780235388773757767708 # R mod m
237786678640282040194246459306177; # R^2 mod m
+
+ 6277101735386680763835789423207666416083908700390324961279
+ 340282366920938463444927863358058659841
+ 18446744073709551617
+ 340282366920938463500268095579187314689;
}
mul {
6456542564
10807149256;
+ 4325987397987458979875737589783
+ 1
+ 4309747041023999857206910900081
+ 4309747041023999857206910900081;
+
+ 170141183460469231731687303715884105727
+ 2
+ 2
+ 4;
+
+ 6277101735386680763835789423207666416083908700390324961279
+ 2455155546008943817740293915197451784769108058161191238065
+ 340282366920938463500268095579187314689
+ 5646741895976341600220572388698743135318229029826089708489;
+
51518627314818829164222247085233898246715229794943812733936714788310185005015428803253311691709787911812368198649776769324928993075889524373913555618270874746833913595051625422038974326537979654635530320271853851973343513053953211672797425464186157719021174955241645388345195723368057041032310152242301620397
7041548659011846562361842096561083537784928869240554198760844555642215260669458833049231069318370838770180094409088437631986867239713464317243824963669990014087444248250948204574690463940534304651099653802302150197753463246181762684347288736386534346725039618007392334267637262008343417972878515511486456037
21451817224897484023627307128311082613304580637202546848860538836010530320943159719981586919811151828606838777812233053319458755053306547823820900602281867134174742586071226220962576712633552196944784360512851517812225731562588375896089193406088239903885470354101095713609394462435076126493339021945199401247
8745435676786567758678547
2439674515119108242643169132064;
+ 170141183460469231731687303715884105727
+ 2
+ 170141183460469231731687303715884105727
+ 2;
+
# --- Bizarre bug ---
#
# This was caused by omission of the test-and-subtract step in the