aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/CurveParameters
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-11-02 04:37:37 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-11-02 04:37:37 -0400
commit631e3c7dca28f754f997f9d079d6900d76b8430e (patch)
treea587aae695cb8e27cbe63f10928c12ccf9c56799 /src/Specific/CurveParameters
parentc1a11d3b06cd984099e00a298b087f3a67855474 (diff)
python3 generate_parameters.py primes.txt; (cd src/Specific/CurveParameters/; ./remake_curves.sh -f)
Diffstat (limited to 'src/Specific/CurveParameters')
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e127m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e129m25.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e130m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e137m13.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e140m27.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e141m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e150m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e150m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e152m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e158m15.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e165m25.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e166m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e171m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e174m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e174m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e189m25.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e190m11.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e191m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e192m2e64m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e194m33.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e196m15.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e198m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e206m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e212m29.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e213m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e216m2e108m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e221m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e222m117.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e224m2e96p1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e226m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e230m27.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e235m15.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e243m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e251m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e255m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e255m2e4m2e1m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e255m765.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m189.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m2e32m977.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e266m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e285m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e291m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e321m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e322m2e161m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e336m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e336m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e338m15.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e369m25.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e379m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e382m105.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e383m187.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e383m31.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e383m421.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e384m317.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e389m21.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e401m31.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e413m21.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e414m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e416m2e208m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e444m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e448m2e224m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e450m2e225m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e452m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e468m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e480m2e240m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e488m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e489m21.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e495m31.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e511m187.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e511m481.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e512m569.json4
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e521m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e127m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e129m25.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e130m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e137m13.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e140m27.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e141m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e150m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e150m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e152m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e158m15.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e165m25.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e166m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e171m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e174m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e174m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e189m25.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e190m11.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e191m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e192m2e64m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e194m33.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e196m15.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e198m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e206m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e212m29.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e213m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e216m2e108m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e221m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e222m117.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e224m2e96p1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e226m5.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e230m27.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e235m15.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e243m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e251m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e255m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e255m2e4m2e1m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e255m765.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m189.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m2e32m977.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e266m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e285m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e291m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e321m9.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e322m2e161m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e336m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e336m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e338m15.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e369m25.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e379m19.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e382m105.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e383m187.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e383m31.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e383m421.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e384m317.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e389m21.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e401m31.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e413m21.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e414m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e416m2e208m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e444m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e448m2e224m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e450m2e225m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e452m3.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e468m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e480m2e240m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e488m17.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e489m21.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e495m31.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e511m187.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e511m481.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e512m569.json4
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e521m1.json4
-rw-r--r--src/Specific/CurveParameters/solinas32_2e127m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e129m25.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e130m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e137m13.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e140m27.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e141m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e150m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e150m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e152m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e158m15.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e165m25.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e166m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e171m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e174m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e174m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e189m25.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e190m11.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e191m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e192m2e64m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e194m33.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e196m15.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e198m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e205m45x2e198m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e206m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e212m29.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e213m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e216m2e108m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e221m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e222m117.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e224m2e96p1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e226m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e230m27.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e235m15.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e243m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e251m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e254m127x2e240m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e255m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e255m2e4m2e1m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e255m765.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m189.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m2e32m977.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m88x2e240m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e266m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e285m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e291m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e321m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e322m2e161m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e336m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e336m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e338m15.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e369m25.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e379m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e382m105.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e384m317.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e384m5x2e368m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e384m79x2e376m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e401m31.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e414m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e416m2e208m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e444m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e448m2e224m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e450m2e225m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e452m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e468m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e480m2e240m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e488m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e489m21.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e495m31.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e510m290x2e496m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e511m187.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e511m481.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e512m491x2e496m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e512m569.json6
-rw-r--r--src/Specific/CurveParameters/solinas32_2e521m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e127m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e129m25.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e130m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e137m13.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e140m27.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e141m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e150m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e150m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e152m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e158m15.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e165m25.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e166m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e171m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e174m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e174m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e189m25.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e190m11.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e191m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e192m2e64m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e194m33.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e196m15.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e198m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e205m45x2e198m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e206m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e212m29.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e213m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e216m2e108m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e221m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e222m117.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e224m2e96p1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e226m5.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e230m27.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e235m15.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e243m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e251m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e254m127x2e240m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e255m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e255m2e4m2e1m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e255m765.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m189.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m2e32m977.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m88x2e240m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e266m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e285m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e291m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e321m9.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e322m2e161m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e336m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e336m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e338m15.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e369m25.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e379m19.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e382m105.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e384m317.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e384m5x2e368m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e384m79x2e376m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e401m31.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e413m21.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e414m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e416m2e208m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e444m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e448m2e224m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e450m2e225m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e452m3.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e468m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e480m2e240m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e488m17.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e489m21.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e495m31.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e510m290x2e496m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e511m187.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e511m481.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e512m491x2e496m1.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e512m569.json6
-rw-r--r--src/Specific/CurveParameters/solinas64_2e521m1.json6
315 files changed, 936 insertions, 630 deletions
diff --git a/src/Specific/CurveParameters/montgomery32_2e127m1.json b/src/Specific/CurveParameters/montgomery32_2e127m1.json
index c22009822..92c5defd7 100644
--- a/src/Specific/CurveParameters/montgomery32_2e127m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e127m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<127) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<127) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<127) - 1 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<127) - 1 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^127 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e129m25.json b/src/Specific/CurveParameters/montgomery32_2e129m25.json
index f74a8e9ab..9090d7aee 100644
--- a/src/Specific/CurveParameters/montgomery32_2e129m25.json
+++ b/src/Specific/CurveParameters/montgomery32_2e129m25.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<129) - 25'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<129) - 25' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<129) - 25' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^129 - 25",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e130m5.json b/src/Specific/CurveParameters/montgomery32_2e130m5.json
index 7a7f89ca2..4ba13555d 100644
--- a/src/Specific/CurveParameters/montgomery32_2e130m5.json
+++ b/src/Specific/CurveParameters/montgomery32_2e130m5.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<130) - 5 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<130) - 5 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<130) - 5 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<130) - 5 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^130 - 5 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e137m13.json b/src/Specific/CurveParameters/montgomery32_2e137m13.json
index 324bcc583..64b266630 100644
--- a/src/Specific/CurveParameters/montgomery32_2e137m13.json
+++ b/src/Specific/CurveParameters/montgomery32_2e137m13.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dq_mpz='(1_mpz<<137) - 13'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<137) - 13' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<137) - 13' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}'",
"modulus": "2^137 - 13",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e140m27.json b/src/Specific/CurveParameters/montgomery32_2e140m27.json
index 6af44b56f..860fa94a8 100644
--- a/src/Specific/CurveParameters/montgomery32_2e140m27.json
+++ b/src/Specific/CurveParameters/montgomery32_2e140m27.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<140) - 27'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<140) - 27' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<140) - 27' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
"modulus": "2^140 - 27",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e141m9.json b/src/Specific/CurveParameters/montgomery32_2e141m9.json
index 69d79ce05..b653ca5f7 100644
--- a/src/Specific/CurveParameters/montgomery32_2e141m9.json
+++ b/src/Specific/CurveParameters/montgomery32_2e141m9.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<141) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<141) - 9' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<141) - 9' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^141 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e150m3.json b/src/Specific/CurveParameters/montgomery32_2e150m3.json
index 094807d0a..5f74be67b 100644
--- a/src/Specific/CurveParameters/montgomery32_2e150m3.json
+++ b/src/Specific/CurveParameters/montgomery32_2e150m3.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<150) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<150) - 3' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<150) - 3' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^150 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e150m5.json b/src/Specific/CurveParameters/montgomery32_2e150m5.json
index b668f8509..1bc7e09a6 100644
--- a/src/Specific/CurveParameters/montgomery32_2e150m5.json
+++ b/src/Specific/CurveParameters/montgomery32_2e150m5.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<150) - 5'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<150) - 5' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<150) - 5' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^150 - 5",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e152m17.json b/src/Specific/CurveParameters/montgomery32_2e152m17.json
index 20738e444..237045401 100644
--- a/src/Specific/CurveParameters/montgomery32_2e152m17.json
+++ b/src/Specific/CurveParameters/montgomery32_2e152m17.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<152) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<152) - 17' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<152) - 17' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^152 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e158m15.json b/src/Specific/CurveParameters/montgomery32_2e158m15.json
index b6eac2174..bbc2e3c51 100644
--- a/src/Specific/CurveParameters/montgomery32_2e158m15.json
+++ b/src/Specific/CurveParameters/montgomery32_2e158m15.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<158) - 15'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<158) - 15' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<158) - 15' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^158 - 15",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e165m25.json b/src/Specific/CurveParameters/montgomery32_2e165m25.json
index b601f543d..3f23ecb48 100644
--- a/src/Specific/CurveParameters/montgomery32_2e165m25.json
+++ b/src/Specific/CurveParameters/montgomery32_2e165m25.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<165) - 25'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<165) - 25' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<165) - 25' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^165 - 25",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e166m5.json b/src/Specific/CurveParameters/montgomery32_2e166m5.json
index 550065236..9928c32bf 100644
--- a/src/Specific/CurveParameters/montgomery32_2e166m5.json
+++ b/src/Specific/CurveParameters/montgomery32_2e166m5.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<166) - 5'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<166) - 5' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<166) - 5' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^166 - 5",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e171m19.json b/src/Specific/CurveParameters/montgomery32_2e171m19.json
index 17cc71d01..56299683f 100644
--- a/src/Specific/CurveParameters/montgomery32_2e171m19.json
+++ b/src/Specific/CurveParameters/montgomery32_2e171m19.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<171) - 19'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<171) - 19' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<171) - 19' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^171 - 19",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e174m17.json b/src/Specific/CurveParameters/montgomery32_2e174m17.json
index f7fb636af..9b9586b5f 100644
--- a/src/Specific/CurveParameters/montgomery32_2e174m17.json
+++ b/src/Specific/CurveParameters/montgomery32_2e174m17.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<174) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<174) - 17' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<174) - 17' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^174 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e174m3.json b/src/Specific/CurveParameters/montgomery32_2e174m3.json
index 719554f2b..3be5a45ea 100644
--- a/src/Specific/CurveParameters/montgomery32_2e174m3.json
+++ b/src/Specific/CurveParameters/montgomery32_2e174m3.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<174) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<174) - 3' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<174) - 3' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^174 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e189m25.json b/src/Specific/CurveParameters/montgomery32_2e189m25.json
index 8e97a3c65..ca2c4809a 100644
--- a/src/Specific/CurveParameters/montgomery32_2e189m25.json
+++ b/src/Specific/CurveParameters/montgomery32_2e189m25.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<189) - 25'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<189) - 25' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<189) - 25' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^189 - 25",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e190m11.json b/src/Specific/CurveParameters/montgomery32_2e190m11.json
index 0b54de405..def54e928 100644
--- a/src/Specific/CurveParameters/montgomery32_2e190m11.json
+++ b/src/Specific/CurveParameters/montgomery32_2e190m11.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dq_mpz='(1_mpz<<190) - 11'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<190) - 11' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<190) - 11' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}'",
"modulus": "2^190 - 11",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e191m19.json b/src/Specific/CurveParameters/montgomery32_2e191m19.json
index 2f54cb546..a1af295e9 100644
--- a/src/Specific/CurveParameters/montgomery32_2e191m19.json
+++ b/src/Specific/CurveParameters/montgomery32_2e191m19.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<191) - 19'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<191) - 19' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<191) - 19' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^191 - 19",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e192m2e64m1.json b/src/Specific/CurveParameters/montgomery32_2e192m2e64m1.json
index 4e31e90be..80a0e120a 100644
--- a/src/Specific/CurveParameters/montgomery32_2e192m2e64m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e192m2e64m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^192 - 2^64 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e194m33.json b/src/Specific/CurveParameters/montgomery32_2e194m33.json
index 3697f730a..8fe050e35 100644
--- a/src/Specific/CurveParameters/montgomery32_2e194m33.json
+++ b/src/Specific/CurveParameters/montgomery32_2e194m33.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dq_mpz='(1_mpz<<194) - 33'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<194) - 33' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<194) - 33' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}'",
"modulus": "2^194 - 33",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e196m15.json b/src/Specific/CurveParameters/montgomery32_2e196m15.json
index 8b93ee3e8..9cbeab785 100644
--- a/src/Specific/CurveParameters/montgomery32_2e196m15.json
+++ b/src/Specific/CurveParameters/montgomery32_2e196m15.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<196) - 15'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<196) - 15' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<196) - 15' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^196 - 15",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e198m17.json b/src/Specific/CurveParameters/montgomery32_2e198m17.json
index ce0749ab7..cd4d00576 100644
--- a/src/Specific/CurveParameters/montgomery32_2e198m17.json
+++ b/src/Specific/CurveParameters/montgomery32_2e198m17.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<198) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<198) - 17' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<198) - 17' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^198 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1.json b/src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1.json
index 62bc88917..59b93ed02 100644
--- a/src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^205 - 45*2^198 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e206m5.json b/src/Specific/CurveParameters/montgomery32_2e206m5.json
index 2ada5566d..c65d9a660 100644
--- a/src/Specific/CurveParameters/montgomery32_2e206m5.json
+++ b/src/Specific/CurveParameters/montgomery32_2e206m5.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<206) - 5'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<206) - 5' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<206) - 5' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^206 - 5",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e212m29.json b/src/Specific/CurveParameters/montgomery32_2e212m29.json
index a9cae2356..009fe1559 100644
--- a/src/Specific/CurveParameters/montgomery32_2e212m29.json
+++ b/src/Specific/CurveParameters/montgomery32_2e212m29.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}' -Dq_mpz='(1_mpz<<212) - 29'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<212) - 29' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<212) - 29' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}'",
"modulus": "2^212 - 29",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e213m3.json b/src/Specific/CurveParameters/montgomery32_2e213m3.json
index 0320e9f05..768feb7ce 100644
--- a/src/Specific/CurveParameters/montgomery32_2e213m3.json
+++ b/src/Specific/CurveParameters/montgomery32_2e213m3.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<213) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<213) - 3' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<213) - 3' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^213 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e216m2e108m1.json b/src/Specific/CurveParameters/montgomery32_2e216m2e108m1.json
index e7855a2a9..c7a3a6641 100644
--- a/src/Specific/CurveParameters/montgomery32_2e216m2e108m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e216m2e108m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^216 - 2^108 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e221m3.json b/src/Specific/CurveParameters/montgomery32_2e221m3.json
index e2512180a..5d19554ab 100644
--- a/src/Specific/CurveParameters/montgomery32_2e221m3.json
+++ b/src/Specific/CurveParameters/montgomery32_2e221m3.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<221) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<221) - 3' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<221) - 3' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^221 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e222m117.json b/src/Specific/CurveParameters/montgomery32_2e222m117.json
index 37a434ae9..c3c52054f 100644
--- a/src/Specific/CurveParameters/montgomery32_2e222m117.json
+++ b/src/Specific/CurveParameters/montgomery32_2e222m117.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}' -Dq_mpz='(1_mpz<<222) - 117'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<222) - 117' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<222) - 117' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}'",
"modulus": "2^222 - 117",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e224m2e96p1.json b/src/Specific/CurveParameters/montgomery32_2e224m2e96p1.json
index a5ff47e3c..b387d7c78 100644
--- a/src/Specific/CurveParameters/montgomery32_2e224m2e96p1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e224m2e96p1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 ' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 ' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}'",
"modulus": "2^224 - 2^96 + 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e226m5.json b/src/Specific/CurveParameters/montgomery32_2e226m5.json
index b76f54b4c..b18f7630a 100644
--- a/src/Specific/CurveParameters/montgomery32_2e226m5.json
+++ b/src/Specific/CurveParameters/montgomery32_2e226m5.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<226) - 5'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<226) - 5' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<226) - 5' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^226 - 5",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e230m27.json b/src/Specific/CurveParameters/montgomery32_2e230m27.json
index 0330cf8d5..d1b2bbbf2 100644
--- a/src/Specific/CurveParameters/montgomery32_2e230m27.json
+++ b/src/Specific/CurveParameters/montgomery32_2e230m27.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<230) - 27'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<230) - 27' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<230) - 27' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
"modulus": "2^230 - 27",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e235m15.json b/src/Specific/CurveParameters/montgomery32_2e235m15.json
index 8608485a4..65c6e359f 100644
--- a/src/Specific/CurveParameters/montgomery32_2e235m15.json
+++ b/src/Specific/CurveParameters/montgomery32_2e235m15.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<235) - 15'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<235) - 15' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<235) - 15' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^235 - 15",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e243m9.json b/src/Specific/CurveParameters/montgomery32_2e243m9.json
index 36bb0d0af..c0121ad9c 100644
--- a/src/Specific/CurveParameters/montgomery32_2e243m9.json
+++ b/src/Specific/CurveParameters/montgomery32_2e243m9.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<243) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<243) - 9' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<243) - 9' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^243 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e251m9.json b/src/Specific/CurveParameters/montgomery32_2e251m9.json
index f970fe539..faaecde79 100644
--- a/src/Specific/CurveParameters/montgomery32_2e251m9.json
+++ b/src/Specific/CurveParameters/montgomery32_2e251m9.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<251) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<251) - 9' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<251) - 9' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^251 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1.json b/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1.json
index 80da0b0ee..5fde9e4e8 100644
--- a/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^254 - 127*2^240 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e255m19.json b/src/Specific/CurveParameters/montgomery32_2e255m19.json
index 94a32e848..95e01ae2c 100644
--- a/src/Specific/CurveParameters/montgomery32_2e255m19.json
+++ b/src/Specific/CurveParameters/montgomery32_2e255m19.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - 19 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - 19 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - 19 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - 19 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^255 - 19 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e255m2e4m2e1m1.json b/src/Specific/CurveParameters/montgomery32_2e255m2e4m2e1m1.json
index f4bbd3b9b..9d9f011e3 100644
--- a/src/Specific/CurveParameters/montgomery32_2e255m2e4m2e1m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e255m2e4m2e1m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^255 - 2^4 - 2^1 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e255m765.json b/src/Specific/CurveParameters/montgomery32_2e255m765.json
index c1785c301..421f3b71e 100644
--- a/src/Specific/CurveParameters/montgomery32_2e255m765.json
+++ b/src/Specific/CurveParameters/montgomery32_2e255m765.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}' -Dq_mpz='(1_mpz<<255) - 765'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - 765' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - 765' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}'",
"modulus": "2^255 - 765",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m189.json b/src/Specific/CurveParameters/montgomery32_2e256m189.json
index 17bef08ab..178c17703 100644
--- a/src/Specific/CurveParameters/montgomery32_2e256m189.json
+++ b/src/Specific/CurveParameters/montgomery32_2e256m189.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}' -Dq_mpz='(1_mpz<<256) - 189'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - 189' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - 189' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}'",
"modulus": "2^256 - 189",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1.json b/src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1.json
index be8ed23ce..3760ef4fd 100644
--- a/src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m2e32m977.json b/src/Specific/CurveParameters/montgomery32_2e256m2e32m977.json
index 47c5d7fed..b0ecde786 100644
--- a/src/Specific/CurveParameters/montgomery32_2e256m2e32m977.json
+++ b/src/Specific/CurveParameters/montgomery32_2e256m2e32m977.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}'",
"modulus": "2^256 - 2^32 - 977 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1.json b/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1.json
index bb51ebd52..0cf10d76b 100644
--- a/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^256 - 88*2^240 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e266m3.json b/src/Specific/CurveParameters/montgomery32_2e266m3.json
index b030a669d..a7e93c011 100644
--- a/src/Specific/CurveParameters/montgomery32_2e266m3.json
+++ b/src/Specific/CurveParameters/montgomery32_2e266m3.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='9' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='9' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<266) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<266) - 3' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<266) - 3' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^266 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e285m9.json b/src/Specific/CurveParameters/montgomery32_2e285m9.json
index b1915d5a9..1cf652c35 100644
--- a/src/Specific/CurveParameters/montgomery32_2e285m9.json
+++ b/src/Specific/CurveParameters/montgomery32_2e285m9.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='9' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='9' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<285) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<285) - 9' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<285) - 9' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^285 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e291m19.json b/src/Specific/CurveParameters/montgomery32_2e291m19.json
index 440ac9c5d..14ca16c1e 100644
--- a/src/Specific/CurveParameters/montgomery32_2e291m19.json
+++ b/src/Specific/CurveParameters/montgomery32_2e291m19.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='10' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='10' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<291) - 19'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<291) - 19' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<291) - 19' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^291 - 19",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e321m9.json b/src/Specific/CurveParameters/montgomery32_2e321m9.json
index d3dbc8da3..d9b415ad3 100644
--- a/src/Specific/CurveParameters/montgomery32_2e321m9.json
+++ b/src/Specific/CurveParameters/montgomery32_2e321m9.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<321) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<321) - 9' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<321) - 9' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^321 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e322m2e161m1.json b/src/Specific/CurveParameters/montgomery32_2e322m2e161m1.json
index 06731f0e7..ebd80a54b 100644
--- a/src/Specific/CurveParameters/montgomery32_2e322m2e161m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e322m2e161m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^322 - 2^161 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e336m17.json b/src/Specific/CurveParameters/montgomery32_2e336m17.json
index 5d9c6b3bf..051dbe2d0 100644
--- a/src/Specific/CurveParameters/montgomery32_2e336m17.json
+++ b/src/Specific/CurveParameters/montgomery32_2e336m17.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<336) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<336) - 17' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<336) - 17' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^336 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e336m3.json b/src/Specific/CurveParameters/montgomery32_2e336m3.json
index d5d0b79bb..0739c88b2 100644
--- a/src/Specific/CurveParameters/montgomery32_2e336m3.json
+++ b/src/Specific/CurveParameters/montgomery32_2e336m3.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<336) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<336) - 3' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<336) - 3' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^336 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e338m15.json b/src/Specific/CurveParameters/montgomery32_2e338m15.json
index 68a648111..c9bca9601 100644
--- a/src/Specific/CurveParameters/montgomery32_2e338m15.json
+++ b/src/Specific/CurveParameters/montgomery32_2e338m15.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='11' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<338) - 15'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<338) - 15' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<338) - 15' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^338 - 15",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e369m25.json b/src/Specific/CurveParameters/montgomery32_2e369m25.json
index 898c5b32f..26439f9ae 100644
--- a/src/Specific/CurveParameters/montgomery32_2e369m25.json
+++ b/src/Specific/CurveParameters/montgomery32_2e369m25.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<369) - 25'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<369) - 25' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<369) - 25' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^369 - 25",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e379m19.json b/src/Specific/CurveParameters/montgomery32_2e379m19.json
index 3d4fcb62d..5ff908fc6 100644
--- a/src/Specific/CurveParameters/montgomery32_2e379m19.json
+++ b/src/Specific/CurveParameters/montgomery32_2e379m19.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<379) - 19'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<379) - 19' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<379) - 19' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^379 - 19",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e382m105.json b/src/Specific/CurveParameters/montgomery32_2e382m105.json
index 9b6703cca..5dfdee237 100644
--- a/src/Specific/CurveParameters/montgomery32_2e382m105.json
+++ b/src/Specific/CurveParameters/montgomery32_2e382m105.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dq_mpz='(1_mpz<<382) - 105'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<382) - 105' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<382) - 105' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}'",
"modulus": "2^382 - 105",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e383m187.json b/src/Specific/CurveParameters/montgomery32_2e383m187.json
index c9940e5a8..defa2fbfb 100644
--- a/src/Specific/CurveParameters/montgomery32_2e383m187.json
+++ b/src/Specific/CurveParameters/montgomery32_2e383m187.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<383) - 187'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<383) - 187'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<383) - 187' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<383) - 187' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
"modulus": "2^383 - 187",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e383m31.json b/src/Specific/CurveParameters/montgomery32_2e383m31.json
index 5cf683ef8..433c84ecf 100644
--- a/src/Specific/CurveParameters/montgomery32_2e383m31.json
+++ b/src/Specific/CurveParameters/montgomery32_2e383m31.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<383) - 31'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<383) - 31'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<383) - 31' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<383) - 31' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^383 - 31",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e383m421.json b/src/Specific/CurveParameters/montgomery32_2e383m421.json
index c546171a1..946c824fd 100644
--- a/src/Specific/CurveParameters/montgomery32_2e383m421.json
+++ b/src/Specific/CurveParameters/montgomery32_2e383m421.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dq_mpz='(1_mpz<<383) - 421'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dq_mpz='(1_mpz<<383) - 421'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<383) - 421' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<383) - 421' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}'",
"modulus": "2^383 - 421",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1.json b/src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1.json
index 12c9f5d72..403a57a90 100644
--- a/src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 ' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 ' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e384m317.json b/src/Specific/CurveParameters/montgomery32_2e384m317.json
index cf6953b76..a7663da97 100644
--- a/src/Specific/CurveParameters/montgomery32_2e384m317.json
+++ b/src/Specific/CurveParameters/montgomery32_2e384m317.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dq_mpz='(1_mpz<<384) - 317'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 317' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 317' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}'",
"modulus": "2^384 - 317",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1.json b/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1.json
index afedab1a4..4e7e4f0c5 100644
--- a/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 5*2^368 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1.json b/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1.json
index c70b66fdc..4bfe0cebc 100644
--- a/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='12' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 79*2^376 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e389m21.json b/src/Specific/CurveParameters/montgomery32_2e389m21.json
index b39003d1b..79aa7bcfd 100644
--- a/src/Specific/CurveParameters/montgomery32_2e389m21.json
+++ b/src/Specific/CurveParameters/montgomery32_2e389m21.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<389) - 21'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<389) - 21'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<389) - 21' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<389) - 21' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^389 - 21",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e401m31.json b/src/Specific/CurveParameters/montgomery32_2e401m31.json
index 2ca15788c..19a6221b3 100644
--- a/src/Specific/CurveParameters/montgomery32_2e401m31.json
+++ b/src/Specific/CurveParameters/montgomery32_2e401m31.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<401) - 31'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<401) - 31' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<401) - 31' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^401 - 31",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e413m21.json b/src/Specific/CurveParameters/montgomery32_2e413m21.json
index a85e5ee2f..4120e22b5 100644
--- a/src/Specific/CurveParameters/montgomery32_2e413m21.json
+++ b/src/Specific/CurveParameters/montgomery32_2e413m21.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<413) - 21'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<413) - 21' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<413) - 21' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^413 - 21",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e414m17.json b/src/Specific/CurveParameters/montgomery32_2e414m17.json
index 4c10ec11f..4f539e64b 100644
--- a/src/Specific/CurveParameters/montgomery32_2e414m17.json
+++ b/src/Specific/CurveParameters/montgomery32_2e414m17.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<414) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<414) - 17' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<414) - 17' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^414 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e416m2e208m1.json b/src/Specific/CurveParameters/montgomery32_2e416m2e208m1.json
index d7d673b6f..9587caeb2 100644
--- a/src/Specific/CurveParameters/montgomery32_2e416m2e208m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e416m2e208m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='13' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^416 - 2^208 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e444m17.json b/src/Specific/CurveParameters/montgomery32_2e444m17.json
index 1d9170dc1..8579168ca 100644
--- a/src/Specific/CurveParameters/montgomery32_2e444m17.json
+++ b/src/Specific/CurveParameters/montgomery32_2e444m17.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='14' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='14' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<444) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<444) - 17' -Dmodulus_limbs='14' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<444) - 17' -Dmodulus_limbs='14' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^444 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e448m2e224m1.json b/src/Specific/CurveParameters/montgomery32_2e448m2e224m1.json
index 355fd1826..3fad5b2dd 100644
--- a/src/Specific/CurveParameters/montgomery32_2e448m2e224m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e448m2e224m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='14' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='14' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 ' -Dmodulus_limbs='14' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 ' -Dmodulus_limbs='14' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^448 - 2^224 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e450m2e225m1.json b/src/Specific/CurveParameters/montgomery32_2e450m2e225m1.json
index 396eee36c..bf073384c 100644
--- a/src/Specific/CurveParameters/montgomery32_2e450m2e225m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e450m2e225m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='15' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='15' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^450 - 2^225 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e452m3.json b/src/Specific/CurveParameters/montgomery32_2e452m3.json
index 0022eaab1..006a92962 100644
--- a/src/Specific/CurveParameters/montgomery32_2e452m3.json
+++ b/src/Specific/CurveParameters/montgomery32_2e452m3.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='15' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='15' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<452) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<452) - 3' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<452) - 3' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^452 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e468m17.json b/src/Specific/CurveParameters/montgomery32_2e468m17.json
index 02d7b8d41..60c2ed999 100644
--- a/src/Specific/CurveParameters/montgomery32_2e468m17.json
+++ b/src/Specific/CurveParameters/montgomery32_2e468m17.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='15' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='15' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<468) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<468) - 17' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<468) - 17' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^468 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e480m2e240m1.json b/src/Specific/CurveParameters/montgomery32_2e480m2e240m1.json
index bfb6dee8f..5611c57c8 100644
--- a/src/Specific/CurveParameters/montgomery32_2e480m2e240m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e480m2e240m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='15' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='15' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 ' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 ' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^480 - 2^240 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e488m17.json b/src/Specific/CurveParameters/montgomery32_2e488m17.json
index 506579a1f..017acf431 100644
--- a/src/Specific/CurveParameters/montgomery32_2e488m17.json
+++ b/src/Specific/CurveParameters/montgomery32_2e488m17.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<488) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<488) - 17' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<488) - 17' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^488 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e489m21.json b/src/Specific/CurveParameters/montgomery32_2e489m21.json
index 317fe07c7..b67f0a22e 100644
--- a/src/Specific/CurveParameters/montgomery32_2e489m21.json
+++ b/src/Specific/CurveParameters/montgomery32_2e489m21.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<489) - 21'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<489) - 21' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<489) - 21' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^489 - 21",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e495m31.json b/src/Specific/CurveParameters/montgomery32_2e495m31.json
index 3f3531135..534eba72b 100644
--- a/src/Specific/CurveParameters/montgomery32_2e495m31.json
+++ b/src/Specific/CurveParameters/montgomery32_2e495m31.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<495) - 31'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<495) - 31' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<495) - 31' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^495 - 31",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1.json b/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1.json
index 221b54af1..46044defe 100644
--- a/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^510 - 290*2^496 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e511m187.json b/src/Specific/CurveParameters/montgomery32_2e511m187.json
index 3b8ca4c84..bd3db7236 100644
--- a/src/Specific/CurveParameters/montgomery32_2e511m187.json
+++ b/src/Specific/CurveParameters/montgomery32_2e511m187.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<511) - 187'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<511) - 187' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<511) - 187' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
"modulus": "2^511 - 187",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e511m481.json b/src/Specific/CurveParameters/montgomery32_2e511m481.json
index 909dfed94..8c6275d8a 100644
--- a/src/Specific/CurveParameters/montgomery32_2e511m481.json
+++ b/src/Specific/CurveParameters/montgomery32_2e511m481.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dq_mpz='(1_mpz<<511) - 481'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<511) - 481' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<511) - 481' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}'",
"modulus": "2^511 - 481",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1.json b/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1.json
index 90c4208b9..a2ddb476d 100644
--- a/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^512 - 491*2^496 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e512m569.json b/src/Specific/CurveParameters/montgomery32_2e512m569.json
index 3fe80c46d..b7ffe601e 100644
--- a/src/Specific/CurveParameters/montgomery32_2e512m569.json
+++ b/src/Specific/CurveParameters/montgomery32_2e512m569.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='16' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dq_mpz='(1_mpz<<512) - 569'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<512) - 569' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<512) - 569' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}'",
"modulus": "2^512 - 569",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery32_2e521m1.json b/src/Specific/CurveParameters/montgomery32_2e521m1.json
index bfdff82be..c6cd297ae 100644
--- a/src/Specific/CurveParameters/montgomery32_2e521m1.json
+++ b/src/Specific/CurveParameters/montgomery32_2e521m1.json
@@ -1,7 +1,7 @@
{
"base": "32",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='17' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<521) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='17' -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<521) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<521) - 1 ' -Dmodulus_limbs='17' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='32' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<521) - 1 ' -Dmodulus_limbs='17' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^521 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e127m1.json b/src/Specific/CurveParameters/montgomery64_2e127m1.json
index f58a1b52f..6f4e84cd7 100644
--- a/src/Specific/CurveParameters/montgomery64_2e127m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e127m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='2' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<127) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='2' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<127) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<127) - 1 ' -Dmodulus_limbs='2' -Dlimb_weight_gaps_array='{64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<127) - 1 ' -Dmodulus_limbs='2' -Dlimb_weight_gaps_array='{64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^127 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e129m25.json b/src/Specific/CurveParameters/montgomery64_2e129m25.json
index 78945b4ab..d25866f3f 100644
--- a/src/Specific/CurveParameters/montgomery64_2e129m25.json
+++ b/src/Specific/CurveParameters/montgomery64_2e129m25.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<129) - 25'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<129) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<129) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^129 - 25",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e130m5.json b/src/Specific/CurveParameters/montgomery64_2e130m5.json
index f3afe4b64..3b0c03f07 100644
--- a/src/Specific/CurveParameters/montgomery64_2e130m5.json
+++ b/src/Specific/CurveParameters/montgomery64_2e130m5.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<130) - 5 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<130) - 5 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<130) - 5 ' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<130) - 5 ' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^130 - 5 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e137m13.json b/src/Specific/CurveParameters/montgomery64_2e137m13.json
index 3dddc842d..a32d56e9b 100644
--- a/src/Specific/CurveParameters/montgomery64_2e137m13.json
+++ b/src/Specific/CurveParameters/montgomery64_2e137m13.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dq_mpz='(1_mpz<<137) - 13'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<137) - 13' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<137) - 13' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}'",
"modulus": "2^137 - 13",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e140m27.json b/src/Specific/CurveParameters/montgomery64_2e140m27.json
index b0440fd4c..c817414a5 100644
--- a/src/Specific/CurveParameters/montgomery64_2e140m27.json
+++ b/src/Specific/CurveParameters/montgomery64_2e140m27.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<140) - 27'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<140) - 27' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<140) - 27' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
"modulus": "2^140 - 27",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e141m9.json b/src/Specific/CurveParameters/montgomery64_2e141m9.json
index d5480e81b..6bd669891 100644
--- a/src/Specific/CurveParameters/montgomery64_2e141m9.json
+++ b/src/Specific/CurveParameters/montgomery64_2e141m9.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<141) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<141) - 9' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<141) - 9' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^141 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e150m3.json b/src/Specific/CurveParameters/montgomery64_2e150m3.json
index 0862f3f6f..d202aa176 100644
--- a/src/Specific/CurveParameters/montgomery64_2e150m3.json
+++ b/src/Specific/CurveParameters/montgomery64_2e150m3.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<150) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<150) - 3' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<150) - 3' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^150 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e150m5.json b/src/Specific/CurveParameters/montgomery64_2e150m5.json
index eddf3a009..4429f39e8 100644
--- a/src/Specific/CurveParameters/montgomery64_2e150m5.json
+++ b/src/Specific/CurveParameters/montgomery64_2e150m5.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<150) - 5'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<150) - 5' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<150) - 5' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^150 - 5",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e152m17.json b/src/Specific/CurveParameters/montgomery64_2e152m17.json
index 34edd212e..fdd33ddec 100644
--- a/src/Specific/CurveParameters/montgomery64_2e152m17.json
+++ b/src/Specific/CurveParameters/montgomery64_2e152m17.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<152) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<152) - 17' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<152) - 17' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^152 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e158m15.json b/src/Specific/CurveParameters/montgomery64_2e158m15.json
index b80680f6b..51b8cc2ae 100644
--- a/src/Specific/CurveParameters/montgomery64_2e158m15.json
+++ b/src/Specific/CurveParameters/montgomery64_2e158m15.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<158) - 15'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<158) - 15' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<158) - 15' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^158 - 15",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e165m25.json b/src/Specific/CurveParameters/montgomery64_2e165m25.json
index 8fd0ba673..febc67e86 100644
--- a/src/Specific/CurveParameters/montgomery64_2e165m25.json
+++ b/src/Specific/CurveParameters/montgomery64_2e165m25.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<165) - 25'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<165) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<165) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^165 - 25",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e166m5.json b/src/Specific/CurveParameters/montgomery64_2e166m5.json
index 166523b2c..2ce7925ac 100644
--- a/src/Specific/CurveParameters/montgomery64_2e166m5.json
+++ b/src/Specific/CurveParameters/montgomery64_2e166m5.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<166) - 5'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<166) - 5' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<166) - 5' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^166 - 5",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e171m19.json b/src/Specific/CurveParameters/montgomery64_2e171m19.json
index dfcf7f9bd..f2ff882ff 100644
--- a/src/Specific/CurveParameters/montgomery64_2e171m19.json
+++ b/src/Specific/CurveParameters/montgomery64_2e171m19.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<171) - 19'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<171) - 19' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<171) - 19' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^171 - 19",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e174m17.json b/src/Specific/CurveParameters/montgomery64_2e174m17.json
index 7eecd3226..94e77a699 100644
--- a/src/Specific/CurveParameters/montgomery64_2e174m17.json
+++ b/src/Specific/CurveParameters/montgomery64_2e174m17.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<174) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<174) - 17' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<174) - 17' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^174 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e174m3.json b/src/Specific/CurveParameters/montgomery64_2e174m3.json
index f9f73f072..646ca44ef 100644
--- a/src/Specific/CurveParameters/montgomery64_2e174m3.json
+++ b/src/Specific/CurveParameters/montgomery64_2e174m3.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<174) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<174) - 3' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<174) - 3' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^174 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e189m25.json b/src/Specific/CurveParameters/montgomery64_2e189m25.json
index 993b1b652..0137168d1 100644
--- a/src/Specific/CurveParameters/montgomery64_2e189m25.json
+++ b/src/Specific/CurveParameters/montgomery64_2e189m25.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<189) - 25'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<189) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<189) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^189 - 25",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e190m11.json b/src/Specific/CurveParameters/montgomery64_2e190m11.json
index 07f1a90e6..2ba0d1694 100644
--- a/src/Specific/CurveParameters/montgomery64_2e190m11.json
+++ b/src/Specific/CurveParameters/montgomery64_2e190m11.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dq_mpz='(1_mpz<<190) - 11'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<190) - 11' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<190) - 11' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}'",
"modulus": "2^190 - 11",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e191m19.json b/src/Specific/CurveParameters/montgomery64_2e191m19.json
index 255114457..5c54be05e 100644
--- a/src/Specific/CurveParameters/montgomery64_2e191m19.json
+++ b/src/Specific/CurveParameters/montgomery64_2e191m19.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<191) - 19'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<191) - 19' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<191) - 19' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^191 - 19",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e192m2e64m1.json b/src/Specific/CurveParameters/montgomery64_2e192m2e64m1.json
index 7f1c5d5f1..cdde6c1ae 100644
--- a/src/Specific/CurveParameters/montgomery64_2e192m2e64m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e192m2e64m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='3' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^192 - 2^64 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e194m33.json b/src/Specific/CurveParameters/montgomery64_2e194m33.json
index 55b0d3551..0e79ba296 100644
--- a/src/Specific/CurveParameters/montgomery64_2e194m33.json
+++ b/src/Specific/CurveParameters/montgomery64_2e194m33.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dq_mpz='(1_mpz<<194) - 33'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<194) - 33' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<194) - 33' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}'",
"modulus": "2^194 - 33",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e196m15.json b/src/Specific/CurveParameters/montgomery64_2e196m15.json
index 959df5d9d..220e73f9c 100644
--- a/src/Specific/CurveParameters/montgomery64_2e196m15.json
+++ b/src/Specific/CurveParameters/montgomery64_2e196m15.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<196) - 15'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<196) - 15' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<196) - 15' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^196 - 15",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e198m17.json b/src/Specific/CurveParameters/montgomery64_2e198m17.json
index 1b6e7d8fd..c5538dc89 100644
--- a/src/Specific/CurveParameters/montgomery64_2e198m17.json
+++ b/src/Specific/CurveParameters/montgomery64_2e198m17.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<198) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<198) - 17' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<198) - 17' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^198 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1.json b/src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1.json
index 46db9ece2..441e33763 100644
--- a/src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^205 - 45*2^198 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e206m5.json b/src/Specific/CurveParameters/montgomery64_2e206m5.json
index 8e41fb0c2..dc88de9f1 100644
--- a/src/Specific/CurveParameters/montgomery64_2e206m5.json
+++ b/src/Specific/CurveParameters/montgomery64_2e206m5.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<206) - 5'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<206) - 5' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<206) - 5' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^206 - 5",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e212m29.json b/src/Specific/CurveParameters/montgomery64_2e212m29.json
index 5095161d3..87b75f581 100644
--- a/src/Specific/CurveParameters/montgomery64_2e212m29.json
+++ b/src/Specific/CurveParameters/montgomery64_2e212m29.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}' -Dq_mpz='(1_mpz<<212) - 29'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<212) - 29' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<212) - 29' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}'",
"modulus": "2^212 - 29",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e213m3.json b/src/Specific/CurveParameters/montgomery64_2e213m3.json
index ef93274c6..3fd327271 100644
--- a/src/Specific/CurveParameters/montgomery64_2e213m3.json
+++ b/src/Specific/CurveParameters/montgomery64_2e213m3.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<213) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<213) - 3' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<213) - 3' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^213 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e216m2e108m1.json b/src/Specific/CurveParameters/montgomery64_2e216m2e108m1.json
index 57fe220c7..05d846bb9 100644
--- a/src/Specific/CurveParameters/montgomery64_2e216m2e108m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e216m2e108m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^216 - 2^108 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e221m3.json b/src/Specific/CurveParameters/montgomery64_2e221m3.json
index f952a94dd..31c261190 100644
--- a/src/Specific/CurveParameters/montgomery64_2e221m3.json
+++ b/src/Specific/CurveParameters/montgomery64_2e221m3.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<221) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<221) - 3' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<221) - 3' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^221 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e222m117.json b/src/Specific/CurveParameters/montgomery64_2e222m117.json
index ec9dbcfb2..e96ec89b6 100644
--- a/src/Specific/CurveParameters/montgomery64_2e222m117.json
+++ b/src/Specific/CurveParameters/montgomery64_2e222m117.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}' -Dq_mpz='(1_mpz<<222) - 117'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<222) - 117' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<222) - 117' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}'",
"modulus": "2^222 - 117",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e224m2e96p1.json b/src/Specific/CurveParameters/montgomery64_2e224m2e96p1.json
index e24d52b57..7c924f79f 100644
--- a/src/Specific/CurveParameters/montgomery64_2e224m2e96p1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e224m2e96p1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}'",
"modulus": "2^224 - 2^96 + 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e226m5.json b/src/Specific/CurveParameters/montgomery64_2e226m5.json
index d8937bb23..7ca6ead3d 100644
--- a/src/Specific/CurveParameters/montgomery64_2e226m5.json
+++ b/src/Specific/CurveParameters/montgomery64_2e226m5.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<226) - 5'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<226) - 5' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<226) - 5' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^226 - 5",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e230m27.json b/src/Specific/CurveParameters/montgomery64_2e230m27.json
index 1cb2d52ac..c0c45420f 100644
--- a/src/Specific/CurveParameters/montgomery64_2e230m27.json
+++ b/src/Specific/CurveParameters/montgomery64_2e230m27.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<230) - 27'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<230) - 27' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<230) - 27' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
"modulus": "2^230 - 27",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e235m15.json b/src/Specific/CurveParameters/montgomery64_2e235m15.json
index 801c9825a..c5d757f63 100644
--- a/src/Specific/CurveParameters/montgomery64_2e235m15.json
+++ b/src/Specific/CurveParameters/montgomery64_2e235m15.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<235) - 15'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<235) - 15' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<235) - 15' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^235 - 15",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e243m9.json b/src/Specific/CurveParameters/montgomery64_2e243m9.json
index 148f7848a..bb9308648 100644
--- a/src/Specific/CurveParameters/montgomery64_2e243m9.json
+++ b/src/Specific/CurveParameters/montgomery64_2e243m9.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<243) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<243) - 9' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<243) - 9' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^243 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e251m9.json b/src/Specific/CurveParameters/montgomery64_2e251m9.json
index 6ee645e46..b794c737a 100644
--- a/src/Specific/CurveParameters/montgomery64_2e251m9.json
+++ b/src/Specific/CurveParameters/montgomery64_2e251m9.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<251) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<251) - 9' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<251) - 9' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^251 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1.json b/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1.json
index b37801fc5..40bee6751 100644
--- a/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^254 - 127*2^240 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e255m19.json b/src/Specific/CurveParameters/montgomery64_2e255m19.json
index 3403be2ac..b069ef948 100644
--- a/src/Specific/CurveParameters/montgomery64_2e255m19.json
+++ b/src/Specific/CurveParameters/montgomery64_2e255m19.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - 19 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - 19 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - 19 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - 19 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^255 - 19 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e255m2e4m2e1m1.json b/src/Specific/CurveParameters/montgomery64_2e255m2e4m2e1m1.json
index 70f8bd47e..56270e7e1 100644
--- a/src/Specific/CurveParameters/montgomery64_2e255m2e4m2e1m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e255m2e4m2e1m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^255 - 2^4 - 2^1 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e255m765.json b/src/Specific/CurveParameters/montgomery64_2e255m765.json
index 43a82781c..7a4242c3f 100644
--- a/src/Specific/CurveParameters/montgomery64_2e255m765.json
+++ b/src/Specific/CurveParameters/montgomery64_2e255m765.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}' -Dq_mpz='(1_mpz<<255) - 765'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - 765' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - 765' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}'",
"modulus": "2^255 - 765",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m189.json b/src/Specific/CurveParameters/montgomery64_2e256m189.json
index fb4223e91..d154ed7de 100644
--- a/src/Specific/CurveParameters/montgomery64_2e256m189.json
+++ b/src/Specific/CurveParameters/montgomery64_2e256m189.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}' -Dq_mpz='(1_mpz<<256) - 189'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - 189' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - 189' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}'",
"modulus": "2^256 - 189",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1.json b/src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1.json
index 438a2714b..dc6bc297d 100644
--- a/src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m2e32m977.json b/src/Specific/CurveParameters/montgomery64_2e256m2e32m977.json
index 46c24c601..e4ebf1284 100644
--- a/src/Specific/CurveParameters/montgomery64_2e256m2e32m977.json
+++ b/src/Specific/CurveParameters/montgomery64_2e256m2e32m977.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}'",
"modulus": "2^256 - 2^32 - 977 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1.json b/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1.json
index 5edd1aa78..ac370d43d 100644
--- a/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='4' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^256 - 88*2^240 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e266m3.json b/src/Specific/CurveParameters/montgomery64_2e266m3.json
index d6946348c..2ef09a302 100644
--- a/src/Specific/CurveParameters/montgomery64_2e266m3.json
+++ b/src/Specific/CurveParameters/montgomery64_2e266m3.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<266) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<266) - 3' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<266) - 3' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^266 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e285m9.json b/src/Specific/CurveParameters/montgomery64_2e285m9.json
index ce55b0db8..1056c975b 100644
--- a/src/Specific/CurveParameters/montgomery64_2e285m9.json
+++ b/src/Specific/CurveParameters/montgomery64_2e285m9.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<285) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<285) - 9' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<285) - 9' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^285 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e291m19.json b/src/Specific/CurveParameters/montgomery64_2e291m19.json
index 743587293..8ca2f4124 100644
--- a/src/Specific/CurveParameters/montgomery64_2e291m19.json
+++ b/src/Specific/CurveParameters/montgomery64_2e291m19.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='5' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<291) - 19'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<291) - 19' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<291) - 19' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^291 - 19",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e321m9.json b/src/Specific/CurveParameters/montgomery64_2e321m9.json
index 06023e02a..b09f24e9f 100644
--- a/src/Specific/CurveParameters/montgomery64_2e321m9.json
+++ b/src/Specific/CurveParameters/montgomery64_2e321m9.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<321) - 9'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<321) - 9' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<321) - 9' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^321 - 9",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e322m2e161m1.json b/src/Specific/CurveParameters/montgomery64_2e322m2e161m1.json
index ab85e417e..f28edac95 100644
--- a/src/Specific/CurveParameters/montgomery64_2e322m2e161m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e322m2e161m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^322 - 2^161 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e336m17.json b/src/Specific/CurveParameters/montgomery64_2e336m17.json
index f1ff4a9f2..ed7dd4baf 100644
--- a/src/Specific/CurveParameters/montgomery64_2e336m17.json
+++ b/src/Specific/CurveParameters/montgomery64_2e336m17.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<336) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<336) - 17' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<336) - 17' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^336 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e336m3.json b/src/Specific/CurveParameters/montgomery64_2e336m3.json
index 59649d800..4c631d814 100644
--- a/src/Specific/CurveParameters/montgomery64_2e336m3.json
+++ b/src/Specific/CurveParameters/montgomery64_2e336m3.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<336) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<336) - 3' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<336) - 3' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^336 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e338m15.json b/src/Specific/CurveParameters/montgomery64_2e338m15.json
index bf05926db..9dd414ca3 100644
--- a/src/Specific/CurveParameters/montgomery64_2e338m15.json
+++ b/src/Specific/CurveParameters/montgomery64_2e338m15.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<338) - 15'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<338) - 15' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<338) - 15' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^338 - 15",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e369m25.json b/src/Specific/CurveParameters/montgomery64_2e369m25.json
index c1a412faa..d5331cbc6 100644
--- a/src/Specific/CurveParameters/montgomery64_2e369m25.json
+++ b/src/Specific/CurveParameters/montgomery64_2e369m25.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<369) - 25'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<369) - 25' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<369) - 25' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^369 - 25",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e379m19.json b/src/Specific/CurveParameters/montgomery64_2e379m19.json
index 05861bb73..84ac0d183 100644
--- a/src/Specific/CurveParameters/montgomery64_2e379m19.json
+++ b/src/Specific/CurveParameters/montgomery64_2e379m19.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<379) - 19'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<379) - 19' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<379) - 19' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^379 - 19",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e382m105.json b/src/Specific/CurveParameters/montgomery64_2e382m105.json
index 0c6bda5ec..3260a2247 100644
--- a/src/Specific/CurveParameters/montgomery64_2e382m105.json
+++ b/src/Specific/CurveParameters/montgomery64_2e382m105.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dq_mpz='(1_mpz<<382) - 105'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<382) - 105' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<382) - 105' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}'",
"modulus": "2^382 - 105",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e383m187.json b/src/Specific/CurveParameters/montgomery64_2e383m187.json
index 785740d70..e9cda8f2c 100644
--- a/src/Specific/CurveParameters/montgomery64_2e383m187.json
+++ b/src/Specific/CurveParameters/montgomery64_2e383m187.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<383) - 187'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<383) - 187'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<383) - 187' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<383) - 187' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
"modulus": "2^383 - 187",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e383m31.json b/src/Specific/CurveParameters/montgomery64_2e383m31.json
index 15fe9e0db..bd27e2933 100644
--- a/src/Specific/CurveParameters/montgomery64_2e383m31.json
+++ b/src/Specific/CurveParameters/montgomery64_2e383m31.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<383) - 31'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<383) - 31'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<383) - 31' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<383) - 31' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^383 - 31",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e383m421.json b/src/Specific/CurveParameters/montgomery64_2e383m421.json
index f3d0f25a9..b6c481fdc 100644
--- a/src/Specific/CurveParameters/montgomery64_2e383m421.json
+++ b/src/Specific/CurveParameters/montgomery64_2e383m421.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dq_mpz='(1_mpz<<383) - 421'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dq_mpz='(1_mpz<<383) - 421'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<383) - 421' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<383) - 421' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}'",
"modulus": "2^383 - 421",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1.json b/src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1.json
index 345871065..c2d5aa584 100644
--- a/src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 ' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 ' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e384m317.json b/src/Specific/CurveParameters/montgomery64_2e384m317.json
index c5294c3f5..74b1893fd 100644
--- a/src/Specific/CurveParameters/montgomery64_2e384m317.json
+++ b/src/Specific/CurveParameters/montgomery64_2e384m317.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dq_mpz='(1_mpz<<384) - 317'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 317' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 317' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}'",
"modulus": "2^384 - 317",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1.json b/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1.json
index 6f7b9e935..39babfff5 100644
--- a/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 5*2^368 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1.json b/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1.json
index 430f75a14..de0f53e12 100644
--- a/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='6' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 79*2^376 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e389m21.json b/src/Specific/CurveParameters/montgomery64_2e389m21.json
index 3bc193657..339d3bdbc 100644
--- a/src/Specific/CurveParameters/montgomery64_2e389m21.json
+++ b/src/Specific/CurveParameters/montgomery64_2e389m21.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<389) - 21'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<389) - 21'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<389) - 21' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<389) - 21' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^389 - 21",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e401m31.json b/src/Specific/CurveParameters/montgomery64_2e401m31.json
index 61b1a341f..bcf5370ac 100644
--- a/src/Specific/CurveParameters/montgomery64_2e401m31.json
+++ b/src/Specific/CurveParameters/montgomery64_2e401m31.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<401) - 31'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<401) - 31' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<401) - 31' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^401 - 31",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e413m21.json b/src/Specific/CurveParameters/montgomery64_2e413m21.json
index 9116cf9e8..896cccd90 100644
--- a/src/Specific/CurveParameters/montgomery64_2e413m21.json
+++ b/src/Specific/CurveParameters/montgomery64_2e413m21.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<413) - 21'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<413) - 21' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<413) - 21' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^413 - 21",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e414m17.json b/src/Specific/CurveParameters/montgomery64_2e414m17.json
index c4205ed84..235ea6488 100644
--- a/src/Specific/CurveParameters/montgomery64_2e414m17.json
+++ b/src/Specific/CurveParameters/montgomery64_2e414m17.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<414) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<414) - 17' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<414) - 17' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^414 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e416m2e208m1.json b/src/Specific/CurveParameters/montgomery64_2e416m2e208m1.json
index e17459480..b7dd78407 100644
--- a/src/Specific/CurveParameters/montgomery64_2e416m2e208m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e416m2e208m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^416 - 2^208 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e444m17.json b/src/Specific/CurveParameters/montgomery64_2e444m17.json
index ec583e422..853e8f27c 100644
--- a/src/Specific/CurveParameters/montgomery64_2e444m17.json
+++ b/src/Specific/CurveParameters/montgomery64_2e444m17.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<444) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<444) - 17' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<444) - 17' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^444 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e448m2e224m1.json b/src/Specific/CurveParameters/montgomery64_2e448m2e224m1.json
index 99de2c108..b5a05d5d6 100644
--- a/src/Specific/CurveParameters/montgomery64_2e448m2e224m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e448m2e224m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='7' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 ' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 ' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^448 - 2^224 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e450m2e225m1.json b/src/Specific/CurveParameters/montgomery64_2e450m2e225m1.json
index 41959dcb6..c397cb679 100644
--- a/src/Specific/CurveParameters/montgomery64_2e450m2e225m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e450m2e225m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^450 - 2^225 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e452m3.json b/src/Specific/CurveParameters/montgomery64_2e452m3.json
index 81f6b2411..f97fcb81c 100644
--- a/src/Specific/CurveParameters/montgomery64_2e452m3.json
+++ b/src/Specific/CurveParameters/montgomery64_2e452m3.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<452) - 3'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<452) - 3' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<452) - 3' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^452 - 3",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e468m17.json b/src/Specific/CurveParameters/montgomery64_2e468m17.json
index 33fcf7e19..fb4fa9cf6 100644
--- a/src/Specific/CurveParameters/montgomery64_2e468m17.json
+++ b/src/Specific/CurveParameters/montgomery64_2e468m17.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<468) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<468) - 17' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<468) - 17' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^468 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e480m2e240m1.json b/src/Specific/CurveParameters/montgomery64_2e480m2e240m1.json
index 73dfbf76c..ed40f4fb7 100644
--- a/src/Specific/CurveParameters/montgomery64_2e480m2e240m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e480m2e240m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^480 - 2^240 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e488m17.json b/src/Specific/CurveParameters/montgomery64_2e488m17.json
index 76bf7e655..ff97cc333 100644
--- a/src/Specific/CurveParameters/montgomery64_2e488m17.json
+++ b/src/Specific/CurveParameters/montgomery64_2e488m17.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<488) - 17'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<488) - 17' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<488) - 17' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^488 - 17",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e489m21.json b/src/Specific/CurveParameters/montgomery64_2e489m21.json
index 49fb107f9..f774db1a8 100644
--- a/src/Specific/CurveParameters/montgomery64_2e489m21.json
+++ b/src/Specific/CurveParameters/montgomery64_2e489m21.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<489) - 21'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<489) - 21' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<489) - 21' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^489 - 21",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e495m31.json b/src/Specific/CurveParameters/montgomery64_2e495m31.json
index ea5ec4d06..864cfc35d 100644
--- a/src/Specific/CurveParameters/montgomery64_2e495m31.json
+++ b/src/Specific/CurveParameters/montgomery64_2e495m31.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<495) - 31'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<495) - 31' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<495) - 31' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^495 - 31",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1.json b/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1.json
index 4d7d24fe7..eefcad846 100644
--- a/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^510 - 290*2^496 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e511m187.json b/src/Specific/CurveParameters/montgomery64_2e511m187.json
index 6a5a21e63..772aaf849 100644
--- a/src/Specific/CurveParameters/montgomery64_2e511m187.json
+++ b/src/Specific/CurveParameters/montgomery64_2e511m187.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<511) - 187'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<511) - 187' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<511) - 187' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
"modulus": "2^511 - 187",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e511m481.json b/src/Specific/CurveParameters/montgomery64_2e511m481.json
index 3ffda4689..a2a343771 100644
--- a/src/Specific/CurveParameters/montgomery64_2e511m481.json
+++ b/src/Specific/CurveParameters/montgomery64_2e511m481.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dq_mpz='(1_mpz<<511) - 481'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<511) - 481' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<511) - 481' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}'",
"modulus": "2^511 - 481",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1.json b/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1.json
index 78380c078..6ed450e65 100644
--- a/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^512 - 491*2^496 - 1",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e512m569.json b/src/Specific/CurveParameters/montgomery64_2e512m569.json
index d7fb90f2f..9d903dc6d 100644
--- a/src/Specific/CurveParameters/montgomery64_2e512m569.json
+++ b/src/Specific/CurveParameters/montgomery64_2e512m569.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='8' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dq_mpz='(1_mpz<<512) - 569'",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<512) - 569' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<512) - 569' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}'",
"modulus": "2^512 - 569",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/montgomery64_2e521m1.json b/src/Specific/CurveParameters/montgomery64_2e521m1.json
index 2d3c5078b..40cfd6dc9 100644
--- a/src/Specific/CurveParameters/montgomery64_2e521m1.json
+++ b/src/Specific/CurveParameters/montgomery64_2e521m1.json
@@ -1,7 +1,7 @@
{
"base": "64",
- "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_limbs='9' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<521) - 1 '",
- "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_limbs='9' -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<521) - 1 '",
+ "compiler": "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<521) - 1 ' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -fno-peephole2 `#GCC BUG 81300` -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dmodulus_bytes_val='64' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<521) - 1 ' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^521 - 1 ",
"montgomery": true,
"operations": [
diff --git a/src/Specific/CurveParameters/solinas32_2e127m1.json b/src/Specific/CurveParameters/solinas32_2e127m1.json
index bc060c214..b29953a2d 100644
--- a/src/Specific/CurveParameters/solinas32_2e127m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e127m1.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='21 + 1/6' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<127) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='21 + 1/6' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<127) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/6' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<127) - 1 ' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{22,21,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/6' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<127) - 1 ' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{22,21,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^127 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e129m25.json b/src/Specific/CurveParameters/solinas32_2e129m25.json
index 0b88cb104..847b90d85 100644
--- a/src/Specific/CurveParameters/solinas32_2e129m25.json
+++ b/src/Specific/CurveParameters/solinas32_2e129m25.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='21.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,22,21,22,21}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='21.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,22,21,22,21}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<129) - 25'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<129) - 25' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{22,21,22,21,22,21}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<129) - 25' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{22,21,22,21,22,21}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^129 - 25",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e130m5.json b/src/Specific/CurveParameters/solinas32_2e130m5.json
index 055597f04..1a8069cb3 100644
--- a/src/Specific/CurveParameters/solinas32_2e130m5.json
+++ b/src/Specific/CurveParameters/solinas32_2e130m5.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<130) - 5 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<130) - 5 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<130) - 5 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<130) - 5 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^130 - 5 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e137m13.json b/src/Specific/CurveParameters/solinas32_2e137m13.json
index 8962506b4..e67aaeafd 100644
--- a/src/Specific/CurveParameters/solinas32_2e137m13.json
+++ b/src/Specific/CurveParameters/solinas32_2e137m13.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='17.125' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{18,17,17,17,17,17,17,17}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='17.125' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{18,17,17,17,17,17,17,17}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dq_mpz='(1_mpz<<137) - 13'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='17.125' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<137) - 13' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{18,17,17,17,17,17,17,17}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='17.125' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<137) - 13' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{18,17,17,17,17,17,17,17}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}'",
"modulus": "2^137 - 13",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e140m27.json b/src/Specific/CurveParameters/solinas32_2e140m27.json
index c3588dc0c..3d5f71097 100644
--- a/src/Specific/CurveParameters/solinas32_2e140m27.json
+++ b/src/Specific/CurveParameters/solinas32_2e140m27.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='23 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,23,23,24,23,23}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='23 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,23,23,24,23,23}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<140) - 27'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<140) - 27' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{24,23,23,24,23,23}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<140) - 27' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{24,23,23,24,23,23}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
"modulus": "2^140 - 27",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e141m9.json b/src/Specific/CurveParameters/solinas32_2e141m9.json
index e4897aaa9..818c8ed76 100644
--- a/src/Specific/CurveParameters/solinas32_2e141m9.json
+++ b/src/Specific/CurveParameters/solinas32_2e141m9.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='23.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='23.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<141) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<141) - 9' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<141) - 9' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^141 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e150m3.json b/src/Specific/CurveParameters/solinas32_2e150m3.json
index 035efe88b..da40ae1c7 100644
--- a/src/Specific/CurveParameters/solinas32_2e150m3.json
+++ b/src/Specific/CurveParameters/solinas32_2e150m3.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{30,30,30,30,30}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{30,30,30,30,30}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<150) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<150) - 3' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{30,30,30,30,30}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<150) - 3' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{30,30,30,30,30}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^150 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e150m5.json b/src/Specific/CurveParameters/solinas32_2e150m5.json
index e63215a19..72f8b78e2 100644
--- a/src/Specific/CurveParameters/solinas32_2e150m5.json
+++ b/src/Specific/CurveParameters/solinas32_2e150m5.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<150) - 5'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<150) - 5' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<150) - 5' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^150 - 5",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e152m17.json b/src/Specific/CurveParameters/solinas32_2e152m17.json
index a6f280837..e0d46a1f6 100644
--- a/src/Specific/CurveParameters/solinas32_2e152m17.json
+++ b/src/Specific/CurveParameters/solinas32_2e152m17.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='25 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,25,25,26,25,25}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='25 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,25,25,26,25,25}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<152) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<152) - 17' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{26,25,25,26,25,25}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<152) - 17' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{26,25,25,26,25,25}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^152 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e158m15.json b/src/Specific/CurveParameters/solinas32_2e158m15.json
index 8b191f437..0871b0d0e 100644
--- a/src/Specific/CurveParameters/solinas32_2e158m15.json
+++ b/src/Specific/CurveParameters/solinas32_2e158m15.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='26 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,26,27,26,26}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='26 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,26,27,26,26}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<158) - 15'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<158) - 15' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{27,26,26,27,26,26}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<158) - 15' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{27,26,26,27,26,26}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^158 - 15",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e165m25.json b/src/Specific/CurveParameters/solinas32_2e165m25.json
index e61a7b0ce..bb7569c6c 100644
--- a/src/Specific/CurveParameters/solinas32_2e165m25.json
+++ b/src/Specific/CurveParameters/solinas32_2e165m25.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='18 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,18,18,19,18,18,19,18,18}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='18 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,18,18,19,18,18,19,18,18}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<165) - 25'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='18 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<165) - 25' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{19,18,18,19,18,18,19,18,18}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='18 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<165) - 25' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{19,18,18,19,18,18,19,18,18}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^165 - 25",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e166m5.json b/src/Specific/CurveParameters/solinas32_2e166m5.json
index 5a2483748..fef0065b0 100644
--- a/src/Specific/CurveParameters/solinas32_2e166m5.json
+++ b/src/Specific/CurveParameters/solinas32_2e166m5.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='11' -Dmodulus_bytes_val='15 + 1/11' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{16,15,15,15,15,15,15,15,15,15,15}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='11' -Dmodulus_bytes_val='15 + 1/11' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{16,15,15,15,15,15,15,15,15,15,15}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<166) - 5'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='15 + 1/11' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<166) - 5' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{16,15,15,15,15,15,15,15,15,15,15}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='15 + 1/11' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<166) - 5' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{16,15,15,15,15,15,15,15,15,15,15}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^166 - 5",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e171m19.json b/src/Specific/CurveParameters/solinas32_2e171m19.json
index 4f37a8383..95bdf9788 100644
--- a/src/Specific/CurveParameters/solinas32_2e171m19.json
+++ b/src/Specific/CurveParameters/solinas32_2e171m19.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='19' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='19' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<171) - 19'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<171) - 19' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<171) - 19' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^171 - 19",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e174m17.json b/src/Specific/CurveParameters/solinas32_2e174m17.json
index c4d2f0faa..77f8b46f2 100644
--- a/src/Specific/CurveParameters/solinas32_2e174m17.json
+++ b/src/Specific/CurveParameters/solinas32_2e174m17.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='19 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{20,19,19,20,19,19,20,19,19}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='19 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{20,19,19,20,19,19,20,19,19}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<174) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<174) - 17' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{20,19,19,20,19,19,20,19,19}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<174) - 17' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{20,19,19,20,19,19,20,19,19}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^174 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e174m3.json b/src/Specific/CurveParameters/solinas32_2e174m3.json
index 56e4b731f..bc621a951 100644
--- a/src/Specific/CurveParameters/solinas32_2e174m3.json
+++ b/src/Specific/CurveParameters/solinas32_2e174m3.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='29' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{29,29,29,29,29,29}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='29' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{29,29,29,29,29,29}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<174) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='29' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<174) - 3' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{29,29,29,29,29,29}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='29' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<174) - 3' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{29,29,29,29,29,29}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^174 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e189m25.json b/src/Specific/CurveParameters/solinas32_2e189m25.json
index 6be078601..cb99bf210 100644
--- a/src/Specific/CurveParameters/solinas32_2e189m25.json
+++ b/src/Specific/CurveParameters/solinas32_2e189m25.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<189) - 25'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<189) - 25' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<189) - 25' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^189 - 25",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e190m11.json b/src/Specific/CurveParameters/solinas32_2e190m11.json
index 97e4e25f8..465be92c9 100644
--- a/src/Specific/CurveParameters/solinas32_2e190m11.json
+++ b/src/Specific/CurveParameters/solinas32_2e190m11.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='27 + 1/7' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,27,27,27,27,27,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='27 + 1/7' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,27,27,27,27,27,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dq_mpz='(1_mpz<<190) - 11'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='27 + 1/7' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<190) - 11' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{28,27,27,27,27,27,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='27 + 1/7' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<190) - 11' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{28,27,27,27,27,27,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}'",
"modulus": "2^190 - 11",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e191m19.json b/src/Specific/CurveParameters/solinas32_2e191m19.json
index d659f4ba6..39fe5106f 100644
--- a/src/Specific/CurveParameters/solinas32_2e191m19.json
+++ b/src/Specific/CurveParameters/solinas32_2e191m19.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='19.1' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{20,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='19.1' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{20,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<191) - 19'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19.1' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<191) - 19' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{20,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19.1' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<191) - 19' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{20,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^191 - 19",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e192m2e64m1.json b/src/Specific/CurveParameters/solinas32_2e192m2e64m1.json
index 24b977202..d80e7ed90 100644
--- a/src/Specific/CurveParameters/solinas32_2e192m2e64m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e192m2e64m1.json
@@ -22,11 +22,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^192 - 2^64 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e194m33.json b/src/Specific/CurveParameters/solinas32_2e194m33.json
index 419bd3b8e..b49087923 100644
--- a/src/Specific/CurveParameters/solinas32_2e194m33.json
+++ b/src/Specific/CurveParameters/solinas32_2e194m33.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='24.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='24.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dq_mpz='(1_mpz<<194) - 33'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<194) - 33' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<194) - 33' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}'",
"modulus": "2^194 - 33",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e196m15.json b/src/Specific/CurveParameters/solinas32_2e196m15.json
index 02295ab2f..cb6dd2577 100644
--- a/src/Specific/CurveParameters/solinas32_2e196m15.json
+++ b/src/Specific/CurveParameters/solinas32_2e196m15.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<196) - 15'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<196) - 15' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<196) - 15' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^196 - 15",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e198m17.json b/src/Specific/CurveParameters/solinas32_2e198m17.json
index 18b0eab29..e4528a18e 100644
--- a/src/Specific/CurveParameters/solinas32_2e198m17.json
+++ b/src/Specific/CurveParameters/solinas32_2e198m17.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='22' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='22' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<198) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<198) - 17' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<198) - 17' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^198 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e205m45x2e198m1.json b/src/Specific/CurveParameters/solinas32_2e205m45x2e198m1.json
index 28a485b37..a04a19eba 100644
--- a/src/Specific/CurveParameters/solinas32_2e205m45x2e198m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e205m45x2e198m1.json
@@ -24,11 +24,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='20.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{21,20,21,20,21,20,21,20,21,20}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='20.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{21,20,21,20,21,20,21,20,21,20}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='20.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{21,20,21,20,21,20,21,20,21,20}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='20.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{21,20,21,20,21,20,21,20,21,20}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^205 - 45*2^198 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e206m5.json b/src/Specific/CurveParameters/solinas32_2e206m5.json
index 7c429c2ab..51bfa2ff5 100644
--- a/src/Specific/CurveParameters/solinas32_2e206m5.json
+++ b/src/Specific/CurveParameters/solinas32_2e206m5.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='17 + 1/6' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{18,17,17,17,17,17,18,17,17,17,17,17}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='17 + 1/6' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{18,17,17,17,17,17,18,17,17,17,17,17}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<206) - 5'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='17 + 1/6' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<206) - 5' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{18,17,17,17,17,17,18,17,17,17,17,17}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='17 + 1/6' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<206) - 5' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{18,17,17,17,17,17,18,17,17,17,17,17}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^206 - 5",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e212m29.json b/src/Specific/CurveParameters/solinas32_2e212m29.json
index af9c36e58..3df07c802 100644
--- a/src/Specific/CurveParameters/solinas32_2e212m29.json
+++ b/src/Specific/CurveParameters/solinas32_2e212m29.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='26.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='26.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}' -Dq_mpz='(1_mpz<<212) - 29'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<212) - 29' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<212) - 29' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}'",
"modulus": "2^212 - 29",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e213m3.json b/src/Specific/CurveParameters/solinas32_2e213m3.json
index 3dfa1c9f0..c6c036779 100644
--- a/src/Specific/CurveParameters/solinas32_2e213m3.json
+++ b/src/Specific/CurveParameters/solinas32_2e213m3.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='15' -Dmodulus_bytes_val='14.2' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{15,14,14,14,14,15,14,14,14,14,15,14,14,14,14}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='15' -Dmodulus_bytes_val='14.2' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{15,14,14,14,14,15,14,14,14,14,15,14,14,14,14}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<213) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='14.2' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<213) - 3' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{15,14,14,14,14,15,14,14,14,14,15,14,14,14,14}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='14.2' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<213) - 3' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{15,14,14,14,14,15,14,14,14,14,15,14,14,14,14}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^213 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e216m2e108m1.json b/src/Specific/CurveParameters/solinas32_2e216m2e108m1.json
index aa2afe6ad..60dece873 100644
--- a/src/Specific/CurveParameters/solinas32_2e216m2e108m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e216m2e108m1.json
@@ -22,12 +22,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^216 - 2^108 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e221m3.json b/src/Specific/CurveParameters/solinas32_2e221m3.json
index 6431a1c67..5d9634f32 100644
--- a/src/Specific/CurveParameters/solinas32_2e221m3.json
+++ b/src/Specific/CurveParameters/solinas32_2e221m3.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='22.1' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='22.1' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<221) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22.1' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<221) - 3' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{23,22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22.1' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<221) - 3' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{23,22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^221 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e222m117.json b/src/Specific/CurveParameters/solinas32_2e222m117.json
index e360e8339..512e716f2 100644
--- a/src/Specific/CurveParameters/solinas32_2e222m117.json
+++ b/src/Specific/CurveParameters/solinas32_2e222m117.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='22.2' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='22.2' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}' -Dq_mpz='(1_mpz<<222) - 117'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22.2' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<222) - 117' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22.2' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<222) - 117' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}'",
"modulus": "2^222 - 117",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e224m2e96p1.json b/src/Specific/CurveParameters/solinas32_2e224m2e96p1.json
index 7ee49d7b5..ff73a8de1 100644
--- a/src/Specific/CurveParameters/solinas32_2e224m2e96p1.json
+++ b/src/Specific/CurveParameters/solinas32_2e224m2e96p1.json
@@ -22,11 +22,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}'",
"modulus": "2^224 - 2^96 + 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e226m5.json b/src/Specific/CurveParameters/solinas32_2e226m5.json
index 13b4d4685..c33aa5d7e 100644
--- a/src/Specific/CurveParameters/solinas32_2e226m5.json
+++ b/src/Specific/CurveParameters/solinas32_2e226m5.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='28.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{29,28,28,28,29,28,28,28}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='28.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{29,28,28,28,29,28,28,28}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<226) - 5'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<226) - 5' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{29,28,28,28,29,28,28,28}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<226) - 5' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{29,28,28,28,29,28,28,28}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^226 - 5",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e230m27.json b/src/Specific/CurveParameters/solinas32_2e230m27.json
index cb9008087..b4ecbee36 100644
--- a/src/Specific/CurveParameters/solinas32_2e230m27.json
+++ b/src/Specific/CurveParameters/solinas32_2e230m27.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<230) - 27'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<230) - 27' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<230) - 27' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
"modulus": "2^230 - 27",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e235m15.json b/src/Specific/CurveParameters/solinas32_2e235m15.json
index 96ef2aae5..672f4b879 100644
--- a/src/Specific/CurveParameters/solinas32_2e235m15.json
+++ b/src/Specific/CurveParameters/solinas32_2e235m15.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='26 + 1/9' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='26 + 1/9' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<235) - 15'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26 + 1/9' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<235) - 15' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26 + 1/9' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<235) - 15' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^235 - 15",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e243m9.json b/src/Specific/CurveParameters/solinas32_2e243m9.json
index d93d111e4..154777feb 100644
--- a/src/Specific/CurveParameters/solinas32_2e243m9.json
+++ b/src/Specific/CurveParameters/solinas32_2e243m9.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27,27}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27,27}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<243) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<243) - 9' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27,27}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='27' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<243) - 9' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27,27}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^243 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e251m9.json b/src/Specific/CurveParameters/solinas32_2e251m9.json
index 11223f164..267dd94b2 100644
--- a/src/Specific/CurveParameters/solinas32_2e251m9.json
+++ b/src/Specific/CurveParameters/solinas32_2e251m9.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='25.1' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='25.1' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<251) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25.1' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<251) - 9' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25.1' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<251) - 9' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^251 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e254m127x2e240m1.json b/src/Specific/CurveParameters/solinas32_2e254m127x2e240m1.json
index fc1ab6d70..bd122971b 100644
--- a/src/Specific/CurveParameters/solinas32_2e254m127x2e240m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e254m127x2e240m1.json
@@ -25,11 +25,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='11' -Dmodulus_bytes_val='23 + 1/11' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='11' -Dmodulus_bytes_val='23 + 1/11' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23 + 1/11' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23 + 1/11' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' -Dmodulus_limbs='11' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^254 - 127*2^240 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e255m19.json b/src/Specific/CurveParameters/solinas32_2e255m19.json
index 8a46b3171..bd125d537 100644
--- a/src/Specific/CurveParameters/solinas32_2e255m19.json
+++ b/src/Specific/CurveParameters/solinas32_2e255m19.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='25.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - 19 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='25.5' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - 19 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - 19 ' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25.5' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - 19 ' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^255 - 19 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e255m2e4m2e1m1.json b/src/Specific/CurveParameters/solinas32_2e255m2e4m2e1m1.json
index 1d81653d9..851690fba 100644
--- a/src/Specific/CurveParameters/solinas32_2e255m2e4m2e1m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e255m2e4m2e1m1.json
@@ -24,11 +24,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='28 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{29,28,28,29,28,28,29,28,28}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='28 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{29,28,28,29,28,28,29,28,28}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{29,28,28,29,28,28,29,28,28}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{29,28,28,29,28,28,29,28,28}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^255 - 2^4 - 2^1 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e255m765.json b/src/Specific/CurveParameters/solinas32_2e255m765.json
index 8a8bdaada..7f71337c3 100644
--- a/src/Specific/CurveParameters/solinas32_2e255m765.json
+++ b/src/Specific/CurveParameters/solinas32_2e255m765.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}' -Dq_mpz='(1_mpz<<255) - 765'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - 765' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<255) - 765' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}'",
"modulus": "2^255 - 765",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e256m189.json b/src/Specific/CurveParameters/solinas32_2e256m189.json
index 4431a98e4..8fad0d630 100644
--- a/src/Specific/CurveParameters/solinas32_2e256m189.json
+++ b/src/Specific/CurveParameters/solinas32_2e256m189.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}' -Dq_mpz='(1_mpz<<256) - 189'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - 189' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - 189' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}'",
"modulus": "2^256 - 189",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1.json b/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1.json
index 51c07cc9a..e493de5be 100644
--- a/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1.json
@@ -30,11 +30,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 ' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 ' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e256m2e32m977.json b/src/Specific/CurveParameters/solinas32_2e256m2e32m977.json
index f8019ea7c..23d9b0121 100644
--- a/src/Specific/CurveParameters/solinas32_2e256m2e32m977.json
+++ b/src/Specific/CurveParameters/solinas32_2e256m2e32m977.json
@@ -26,11 +26,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 ' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 ' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}'",
"modulus": "2^256 - 2^32 - 977 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e256m88x2e240m1.json b/src/Specific/CurveParameters/solinas32_2e256m88x2e240m1.json
index 0f95fad06..f4b639ff0 100644
--- a/src/Specific/CurveParameters/solinas32_2e256m88x2e240m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e256m88x2e240m1.json
@@ -26,11 +26,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^256 - 88*2^240 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e266m3.json b/src/Specific/CurveParameters/solinas32_2e266m3.json
index dae0927ae..db611dbf9 100644
--- a/src/Specific/CurveParameters/solinas32_2e266m3.json
+++ b/src/Specific/CurveParameters/solinas32_2e266m3.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='22 + 1/6' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,22,22,22,22,22,23,22,22,22,22,22}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='22 + 1/6' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,22,22,22,22,22,23,22,22,22,22,22}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<266) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22 + 1/6' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<266) - 3' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{23,22,22,22,22,22,23,22,22,22,22,22}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22 + 1/6' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<266) - 3' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{23,22,22,22,22,22,23,22,22,22,22,22}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^266 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e285m9.json b/src/Specific/CurveParameters/solinas32_2e285m9.json
index 9efb48c46..733f1a7ed 100644
--- a/src/Specific/CurveParameters/solinas32_2e285m9.json
+++ b/src/Specific/CurveParameters/solinas32_2e285m9.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='15' -Dmodulus_bytes_val='19' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,19,19,19,19,19,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='15' -Dmodulus_bytes_val='19' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,19,19,19,19,19,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<285) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<285) - 9' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{19,19,19,19,19,19,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<285) - 9' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{19,19,19,19,19,19,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^285 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e291m19.json b/src/Specific/CurveParameters/solinas32_2e291m19.json
index b771ae702..15b3c9c1a 100644
--- a/src/Specific/CurveParameters/solinas32_2e291m19.json
+++ b/src/Specific/CurveParameters/solinas32_2e291m19.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='24.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='24.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<291) - 19'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<291) - 19' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<291) - 19' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^291 - 19",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e321m9.json b/src/Specific/CurveParameters/solinas32_2e321m9.json
index 96982add8..26bb44281 100644
--- a/src/Specific/CurveParameters/solinas32_2e321m9.json
+++ b/src/Specific/CurveParameters/solinas32_2e321m9.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='20 + 1/16' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='20 + 1/16' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<321) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='20 + 1/16' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<321) - 9' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='20 + 1/16' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<321) - 9' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^321 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e322m2e161m1.json b/src/Specific/CurveParameters/solinas32_2e322m2e161m1.json
index 91ccb10fe..e5ed50e54 100644
--- a/src/Specific/CurveParameters/solinas32_2e322m2e161m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e322m2e161m1.json
@@ -28,12 +28,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='14' -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='14' -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' -Dmodulus_limbs='14' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' -Dmodulus_limbs='14' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^322 - 2^161 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e336m17.json b/src/Specific/CurveParameters/solinas32_2e336m17.json
index 61379bd4f..0d408a17c 100644
--- a/src/Specific/CurveParameters/solinas32_2e336m17.json
+++ b/src/Specific/CurveParameters/solinas32_2e336m17.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='14' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='14' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<336) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<336) - 17' -Dmodulus_limbs='14' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<336) - 17' -Dmodulus_limbs='14' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^336 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e336m3.json b/src/Specific/CurveParameters/solinas32_2e336m3.json
index ac023b038..9048a4ec5 100644
--- a/src/Specific/CurveParameters/solinas32_2e336m3.json
+++ b/src/Specific/CurveParameters/solinas32_2e336m3.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='12' -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<336) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<336) - 3' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<336) - 3' -Dmodulus_limbs='12' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^336 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e338m15.json b/src/Specific/CurveParameters/solinas32_2e338m15.json
index b98f435b2..7754d509f 100644
--- a/src/Specific/CurveParameters/solinas32_2e338m15.json
+++ b/src/Specific/CurveParameters/solinas32_2e338m15.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='13' -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='13' -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<338) - 15'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<338) - 15' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<338) - 15' -Dmodulus_limbs='13' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^338 - 15",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e369m25.json b/src/Specific/CurveParameters/solinas32_2e369m25.json
index 8c4e50328..1fa42ca20 100644
--- a/src/Specific/CurveParameters/solinas32_2e369m25.json
+++ b/src/Specific/CurveParameters/solinas32_2e369m25.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='23 + 1/16' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='23 + 1/16' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<369) - 25'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23 + 1/16' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<369) - 25' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23 + 1/16' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<369) - 25' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^369 - 25",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e379m19.json b/src/Specific/CurveParameters/solinas32_2e379m19.json
index 72935fbb5..45434a52b 100644
--- a/src/Specific/CurveParameters/solinas32_2e379m19.json
+++ b/src/Specific/CurveParameters/solinas32_2e379m19.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='18' -Dmodulus_bytes_val='21 + 1/18' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='18' -Dmodulus_bytes_val='21 + 1/18' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<379) - 19'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/18' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<379) - 19' -Dmodulus_limbs='18' -Dlimb_weight_gaps_array='{22,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/18' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<379) - 19' -Dmodulus_limbs='18' -Dlimb_weight_gaps_array='{22,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^379 - 19",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e382m105.json b/src/Specific/CurveParameters/solinas32_2e382m105.json
index bcd1a9b29..63be0e256 100644
--- a/src/Specific/CurveParameters/solinas32_2e382m105.json
+++ b/src/Specific/CurveParameters/solinas32_2e382m105.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='20' -Dmodulus_bytes_val='19.1' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{20,19,19,19,19,19,19,19,19,19,20,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='20' -Dmodulus_bytes_val='19.1' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{20,19,19,19,19,19,19,19,19,19,20,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dq_mpz='(1_mpz<<382) - 105'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19.1' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<382) - 105' -Dmodulus_limbs='20' -Dlimb_weight_gaps_array='{20,19,19,19,19,19,19,19,19,19,20,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='19.1' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<382) - 105' -Dmodulus_limbs='20' -Dlimb_weight_gaps_array='{20,19,19,19,19,19,19,19,19,19,20,19,19,19,19,19,19,19,19,19}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}'",
"modulus": "2^382 - 105",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1.json b/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1.json
index 8cb4e0d2b..a03b49bd8 100644
--- a/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1.json
@@ -34,11 +34,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 ' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 ' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e384m317.json b/src/Specific/CurveParameters/solinas32_2e384m317.json
index d59d349cf..2a42a1968 100644
--- a/src/Specific/CurveParameters/solinas32_2e384m317.json
+++ b/src/Specific/CurveParameters/solinas32_2e384m317.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='18' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='18' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dq_mpz='(1_mpz<<384) - 317'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 317' -Dmodulus_limbs='18' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 317' -Dmodulus_limbs='18' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}'",
"modulus": "2^384 - 317",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e384m5x2e368m1.json b/src/Specific/CurveParameters/solinas32_2e384m5x2e368m1.json
index 9017f5e6a..f58d2019a 100644
--- a/src/Specific/CurveParameters/solinas32_2e384m5x2e368m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e384m5x2e368m1.json
@@ -30,11 +30,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 5*2^368 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e384m79x2e376m1.json b/src/Specific/CurveParameters/solinas32_2e384m79x2e376m1.json
index 5481ad3ef..606b6f780 100644
--- a/src/Specific/CurveParameters/solinas32_2e384m79x2e376m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e384m79x2e376m1.json
@@ -30,11 +30,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='24' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 79*2^376 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e401m31.json b/src/Specific/CurveParameters/solinas32_2e401m31.json
index b5d32c3c4..9e4951b7d 100644
--- a/src/Specific/CurveParameters/solinas32_2e401m31.json
+++ b/src/Specific/CurveParameters/solinas32_2e401m31.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='25 + 1/16' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='25 + 1/16' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<401) - 31'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25 + 1/16' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<401) - 31' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='25 + 1/16' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<401) - 31' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^401 - 31",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e414m17.json b/src/Specific/CurveParameters/solinas32_2e414m17.json
index 7449f1c3e..ee4a451a5 100644
--- a/src/Specific/CurveParameters/solinas32_2e414m17.json
+++ b/src/Specific/CurveParameters/solinas32_2e414m17.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='18' -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='18' -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<414) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<414) - 17' -Dmodulus_limbs='18' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='23' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<414) - 17' -Dmodulus_limbs='18' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^414 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e416m2e208m1.json b/src/Specific/CurveParameters/solinas32_2e416m2e208m1.json
index 1398d81b6..473913834 100644
--- a/src/Specific/CurveParameters/solinas32_2e416m2e208m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e416m2e208m1.json
@@ -30,12 +30,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^416 - 2^208 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e444m17.json b/src/Specific/CurveParameters/solinas32_2e444m17.json
index 395cb2ae9..689b27309 100644
--- a/src/Specific/CurveParameters/solinas32_2e444m17.json
+++ b/src/Specific/CurveParameters/solinas32_2e444m17.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='20' -Dmodulus_bytes_val='22.2' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,22,22,22,22,23,22,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='20' -Dmodulus_bytes_val='22.2' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{23,22,22,22,22,23,22,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<444) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22.2' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<444) - 17' -Dmodulus_limbs='20' -Dlimb_weight_gaps_array='{23,22,22,22,22,23,22,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='22.2' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<444) - 17' -Dmodulus_limbs='20' -Dlimb_weight_gaps_array='{23,22,22,22,22,23,22,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^444 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e448m2e224m1.json b/src/Specific/CurveParameters/solinas32_2e448m2e224m1.json
index aa9bfe36f..0ef620119 100644
--- a/src/Specific/CurveParameters/solinas32_2e448m2e224m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e448m2e224m1.json
@@ -30,12 +30,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 ' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 ' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^448 - 2^224 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e450m2e225m1.json b/src/Specific/CurveParameters/solinas32_2e450m2e225m1.json
index 8997972f4..ee33c2ca7 100644
--- a/src/Specific/CurveParameters/solinas32_2e450m2e225m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e450m2e225m1.json
@@ -29,12 +29,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='15' -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='15' -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' -Dmodulus_limbs='15' -Dlimb_weight_gaps_array='{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^450 - 2^225 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e452m3.json b/src/Specific/CurveParameters/solinas32_2e452m3.json
index f143db8d3..03781de0d 100644
--- a/src/Specific/CurveParameters/solinas32_2e452m3.json
+++ b/src/Specific/CurveParameters/solinas32_2e452m3.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='28.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{29,28,28,28,29,28,28,28,29,28,28,28,29,28,28,28}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='28.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{29,28,28,28,29,28,28,28,29,28,28,28,29,28,28,28}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<452) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<452) - 3' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{29,28,28,28,29,28,28,28,29,28,28,28,29,28,28,28}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='28.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<452) - 3' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{29,28,28,28,29,28,28,28,29,28,28,28,29,28,28,28}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^452 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e468m17.json b/src/Specific/CurveParameters/solinas32_2e468m17.json
index 3f081042d..d012374a6 100644
--- a/src/Specific/CurveParameters/solinas32_2e468m17.json
+++ b/src/Specific/CurveParameters/solinas32_2e468m17.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='18' -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='18' -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<468) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<468) - 17' -Dmodulus_limbs='18' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<468) - 17' -Dmodulus_limbs='18' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^468 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e480m2e240m1.json b/src/Specific/CurveParameters/solinas32_2e480m2e240m1.json
index 8fd6f25e4..e33b7eccd 100644
--- a/src/Specific/CurveParameters/solinas32_2e480m2e240m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e480m2e240m1.json
@@ -30,12 +30,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 ' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='30' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 ' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^480 - 2^240 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e488m17.json b/src/Specific/CurveParameters/solinas32_2e488m17.json
index b36688712..59dbc0de7 100644
--- a/src/Specific/CurveParameters/solinas32_2e488m17.json
+++ b/src/Specific/CurveParameters/solinas32_2e488m17.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='24' -Dmodulus_bytes_val='20 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='24' -Dmodulus_bytes_val='20 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<488) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='20 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<488) - 17' -Dmodulus_limbs='24' -Dlimb_weight_gaps_array='{21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='20 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<488) - 17' -Dmodulus_limbs='24' -Dlimb_weight_gaps_array='{21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^488 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e489m21.json b/src/Specific/CurveParameters/solinas32_2e489m21.json
index 684df5124..1f2a0ca49 100644
--- a/src/Specific/CurveParameters/solinas32_2e489m21.json
+++ b/src/Specific/CurveParameters/solinas32_2e489m21.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='27' -Dmodulus_bytes_val='18 + 1/9' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,18,18}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='27' -Dmodulus_bytes_val='18 + 1/9' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,18,18}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<489) - 21'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='18 + 1/9' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<489) - 21' -Dmodulus_limbs='27' -Dlimb_weight_gaps_array='{19,18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,18,18}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='18 + 1/9' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<489) - 21' -Dmodulus_limbs='27' -Dlimb_weight_gaps_array='{19,18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,18,18,19,18,18,18,18,18,18,18,18}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^489 - 21",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e495m31.json b/src/Specific/CurveParameters/solinas32_2e495m31.json
index 66f4bbcd1..ade64b4f5 100644
--- a/src/Specific/CurveParameters/solinas32_2e495m31.json
+++ b/src/Specific/CurveParameters/solinas32_2e495m31.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='19' -Dmodulus_bytes_val='26 + 1/19' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='19' -Dmodulus_bytes_val='26 + 1/19' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<495) - 31'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26 + 1/19' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<495) - 31' -Dmodulus_limbs='19' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26 + 1/19' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<495) - 31' -Dmodulus_limbs='19' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^495 - 31",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e510m290x2e496m1.json b/src/Specific/CurveParameters/solinas32_2e510m290x2e496m1.json
index 3de16aa9e..5dc3970c0 100644
--- a/src/Specific/CurveParameters/solinas32_2e510m290x2e496m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e510m290x2e496m1.json
@@ -38,11 +38,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='24' -Dmodulus_bytes_val='21.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='24' -Dmodulus_bytes_val='21.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' -Dmodulus_limbs='24' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' -Dmodulus_limbs='24' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^510 - 290*2^496 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e511m187.json b/src/Specific/CurveParameters/solinas32_2e511m187.json
index 3c6ddaf56..4be903c95 100644
--- a/src/Specific/CurveParameters/solinas32_2e511m187.json
+++ b/src/Specific/CurveParameters/solinas32_2e511m187.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='28' -Dmodulus_bytes_val='18.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='28' -Dmodulus_bytes_val='18.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<511) - 187'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='18.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<511) - 187' -Dmodulus_limbs='28' -Dlimb_weight_gaps_array='{19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='18.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<511) - 187' -Dmodulus_limbs='28' -Dlimb_weight_gaps_array='{19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
"modulus": "2^511 - 187",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e511m481.json b/src/Specific/CurveParameters/solinas32_2e511m481.json
index 3b01129b5..13e1bfefd 100644
--- a/src/Specific/CurveParameters/solinas32_2e511m481.json
+++ b/src/Specific/CurveParameters/solinas32_2e511m481.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='28' -Dmodulus_bytes_val='18.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='28' -Dmodulus_bytes_val='18.25' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dq_mpz='(1_mpz<<511) - 481'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='18.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<511) - 481' -Dmodulus_limbs='28' -Dlimb_weight_gaps_array='{19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='18.25' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<511) - 481' -Dmodulus_limbs='28' -Dlimb_weight_gaps_array='{19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18,19,18,18,18}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}'",
"modulus": "2^511 - 481",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e512m491x2e496m1.json b/src/Specific/CurveParameters/solinas32_2e512m491x2e496m1.json
index ffc283e08..97a698e72 100644
--- a/src/Specific/CurveParameters/solinas32_2e512m491x2e496m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e512m491x2e496m1.json
@@ -38,11 +38,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='24' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='24' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' -Dmodulus_limbs='24' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' -Dmodulus_limbs='24' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^512 - 491*2^496 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e512m569.json b/src/Specific/CurveParameters/solinas32_2e512m569.json
index c4619427c..b867fe828 100644
--- a/src/Specific/CurveParameters/solinas32_2e512m569.json
+++ b/src/Specific/CurveParameters/solinas32_2e512m569.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='24' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='24' -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dq_mpz='(1_mpz<<512) - 569'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<512) - 569' -Dmodulus_limbs='24' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='21 + 1/3' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<512) - 569' -Dmodulus_limbs='24' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}'",
"modulus": "2^512 - 569",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas32_2e521m1.json b/src/Specific/CurveParameters/solinas32_2e521m1.json
index 019cb8b4f..5c9df2989 100644
--- a/src/Specific/CurveParameters/solinas32_2e521m1.json
+++ b/src/Specific/CurveParameters/solinas32_2e521m1.json
@@ -3,11 +3,13 @@
"bitwidth": 32,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='20' -Dmodulus_bytes_val='26 + 1/20' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<521) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='20' -Dmodulus_bytes_val='26 + 1/20' -Dlimb_t=uint32_t -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<521) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26 + 1/20' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<521) - 1 ' -Dmodulus_limbs='20' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='26 + 1/20' -Dlimb_t=uint32_t -Dq_mpz='(1_mpz<<521) - 1 ' -Dmodulus_limbs='20' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^521 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e127m1.json b/src/Specific/CurveParameters/solinas64_2e127m1.json
index 86f1d8d24..3095fcca0 100644
--- a/src/Specific/CurveParameters/solinas64_2e127m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e127m1.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='42 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{43,42,42}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<127) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='42 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{43,42,42}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<127) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='42 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<127) - 1 ' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{43,42,42}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='42 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<127) - 1 ' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{43,42,42}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^127 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e129m25.json b/src/Specific/CurveParameters/solinas64_2e129m25.json
index 972936e4a..b716aa565 100644
--- a/src/Specific/CurveParameters/solinas64_2e129m25.json
+++ b/src/Specific/CurveParameters/solinas64_2e129m25.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='43' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{43,43,43}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='43' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{43,43,43}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<129) - 25'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='43' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<129) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{43,43,43}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='43' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<129) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{43,43,43}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^129 - 25",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e130m5.json b/src/Specific/CurveParameters/solinas64_2e130m5.json
index 66f804d2f..dee113b35 100644
--- a/src/Specific/CurveParameters/solinas64_2e130m5.json
+++ b/src/Specific/CurveParameters/solinas64_2e130m5.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='43 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{44,43,43}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<130) - 5 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='43 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{44,43,43}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<130) - 5 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='43 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<130) - 5 ' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{44,43,43}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='43 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<130) - 5 ' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{44,43,43}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^130 - 5 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e137m13.json b/src/Specific/CurveParameters/solinas64_2e137m13.json
index c98732643..decc55726 100644
--- a/src/Specific/CurveParameters/solinas64_2e137m13.json
+++ b/src/Specific/CurveParameters/solinas64_2e137m13.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='34.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{35,34,34,34}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='34.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{35,34,34,34}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dq_mpz='(1_mpz<<137) - 13'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='34.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<137) - 13' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{35,34,34,34}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='34.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<137) - 13' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{35,34,34,34}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}'",
"modulus": "2^137 - 13",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e140m27.json b/src/Specific/CurveParameters/solinas64_2e140m27.json
index f387eaf6a..fd3f6cc60 100644
--- a/src/Specific/CurveParameters/solinas64_2e140m27.json
+++ b/src/Specific/CurveParameters/solinas64_2e140m27.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='35' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{35,35,35,35}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='35' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{35,35,35,35}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<140) - 27'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='35' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<140) - 27' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{35,35,35,35}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='35' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<140) - 27' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{35,35,35,35}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
"modulus": "2^140 - 27",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e141m9.json b/src/Specific/CurveParameters/solinas64_2e141m9.json
index ccd3b293a..f0a1dacd5 100644
--- a/src/Specific/CurveParameters/solinas64_2e141m9.json
+++ b/src/Specific/CurveParameters/solinas64_2e141m9.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='47' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='47' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<141) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='47' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<141) - 9' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='47' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<141) - 9' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^141 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e150m3.json b/src/Specific/CurveParameters/solinas64_2e150m3.json
index d16395014..783d1997a 100644
--- a/src/Specific/CurveParameters/solinas64_2e150m3.json
+++ b/src/Specific/CurveParameters/solinas64_2e150m3.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='50' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='50' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<150) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='50' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<150) - 3' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='50' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<150) - 3' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^150 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e150m5.json b/src/Specific/CurveParameters/solinas64_2e150m5.json
index f1a67e28b..3434a32c6 100644
--- a/src/Specific/CurveParameters/solinas64_2e150m5.json
+++ b/src/Specific/CurveParameters/solinas64_2e150m5.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='50' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='50' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<150) - 5'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='50' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<150) - 5' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='50' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<150) - 5' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^150 - 5",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e152m17.json b/src/Specific/CurveParameters/solinas64_2e152m17.json
index b678adda9..569f4b26e 100644
--- a/src/Specific/CurveParameters/solinas64_2e152m17.json
+++ b/src/Specific/CurveParameters/solinas64_2e152m17.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='38' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{38,38,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='38' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{38,38,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<152) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='38' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<152) - 17' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{38,38,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='38' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<152) - 17' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{38,38,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^152 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e158m15.json b/src/Specific/CurveParameters/solinas64_2e158m15.json
index 33c66bf37..84f3c87d6 100644
--- a/src/Specific/CurveParameters/solinas64_2e158m15.json
+++ b/src/Specific/CurveParameters/solinas64_2e158m15.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='39.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='39.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<158) - 15'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='39.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<158) - 15' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='39.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<158) - 15' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^158 - 15",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e165m25.json b/src/Specific/CurveParameters/solinas64_2e165m25.json
index 4b1f0b6c4..c934362af 100644
--- a/src/Specific/CurveParameters/solinas64_2e165m25.json
+++ b/src/Specific/CurveParameters/solinas64_2e165m25.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='55' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='55' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<165) - 25'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<165) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<165) - 25' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^165 - 25",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e166m5.json b/src/Specific/CurveParameters/solinas64_2e166m5.json
index 2a04e74be..cd92f4769 100644
--- a/src/Specific/CurveParameters/solinas64_2e166m5.json
+++ b/src/Specific/CurveParameters/solinas64_2e166m5.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='55 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,55,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='55 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,55,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<166) - 5'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<166) - 5' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{56,55,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<166) - 5' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{56,55,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^166 - 5",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e171m19.json b/src/Specific/CurveParameters/solinas64_2e171m19.json
index 2aea6777a..cff7c5e78 100644
--- a/src/Specific/CurveParameters/solinas64_2e171m19.json
+++ b/src/Specific/CurveParameters/solinas64_2e171m19.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='57' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,57,57}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='57' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,57,57}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<171) - 19'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='57' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<171) - 19' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{57,57,57}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='57' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<171) - 19' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{57,57,57}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^171 - 19",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e174m17.json b/src/Specific/CurveParameters/solinas64_2e174m17.json
index 0c7f6e442..1738ee20c 100644
--- a/src/Specific/CurveParameters/solinas64_2e174m17.json
+++ b/src/Specific/CurveParameters/solinas64_2e174m17.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='58' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='58' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<174) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='58' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<174) - 17' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='58' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<174) - 17' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^174 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e174m3.json b/src/Specific/CurveParameters/solinas64_2e174m3.json
index 3b3e32642..dbebb7ec4 100644
--- a/src/Specific/CurveParameters/solinas64_2e174m3.json
+++ b/src/Specific/CurveParameters/solinas64_2e174m3.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='58' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='3' -Dmodulus_bytes_val='58' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<174) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='58' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<174) - 3' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='58' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<174) - 3' -Dmodulus_limbs='3' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^174 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e189m25.json b/src/Specific/CurveParameters/solinas64_2e189m25.json
index 46ef152d9..dcadb002e 100644
--- a/src/Specific/CurveParameters/solinas64_2e189m25.json
+++ b/src/Specific/CurveParameters/solinas64_2e189m25.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='47.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='47.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<189) - 25'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='47.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<189) - 25' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{48,47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='47.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<189) - 25' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{48,47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^189 - 25",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e190m11.json b/src/Specific/CurveParameters/solinas64_2e190m11.json
index 34c1a21a6..9de0096ad 100644
--- a/src/Specific/CurveParameters/solinas64_2e190m11.json
+++ b/src/Specific/CurveParameters/solinas64_2e190m11.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='47.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,47,48,47}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='47.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,47,48,47}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dq_mpz='(1_mpz<<190) - 11'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='47.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<190) - 11' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{48,47,48,47}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='47.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<190) - 11' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{48,47,48,47}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}'",
"modulus": "2^190 - 11",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e191m19.json b/src/Specific/CurveParameters/solinas64_2e191m19.json
index 1d328d40b..1827cefc5 100644
--- a/src/Specific/CurveParameters/solinas64_2e191m19.json
+++ b/src/Specific/CurveParameters/solinas64_2e191m19.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='38.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{39,38,38,38,38}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='38.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{39,38,38,38,38}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<191) - 19'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='38.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<191) - 19' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{39,38,38,38,38}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='38.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<191) - 19' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{39,38,38,38,38}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^191 - 19",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e192m2e64m1.json b/src/Specific/CurveParameters/solinas64_2e192m2e64m1.json
index ab03a482f..37aae3d35 100644
--- a/src/Specific/CurveParameters/solinas64_2e192m2e64m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e192m2e64m1.json
@@ -18,11 +18,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^192 - 2^64 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e194m33.json b/src/Specific/CurveParameters/solinas64_2e194m33.json
index 7b4db9387..e56de1284 100644
--- a/src/Specific/CurveParameters/solinas64_2e194m33.json
+++ b/src/Specific/CurveParameters/solinas64_2e194m33.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='48.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{49,48,49,48}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='48.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{49,48,49,48}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dq_mpz='(1_mpz<<194) - 33'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<194) - 33' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{49,48,49,48}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<194) - 33' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{49,48,49,48}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}'",
"modulus": "2^194 - 33",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e196m15.json b/src/Specific/CurveParameters/solinas64_2e196m15.json
index 5270f06e1..2de4b6974 100644
--- a/src/Specific/CurveParameters/solinas64_2e196m15.json
+++ b/src/Specific/CurveParameters/solinas64_2e196m15.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='49' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{49,49,49,49}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='49' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{49,49,49,49}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<196) - 15'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='49' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<196) - 15' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{49,49,49,49}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='49' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<196) - 15' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{49,49,49,49}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^196 - 15",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e198m17.json b/src/Specific/CurveParameters/solinas64_2e198m17.json
index ade50f5c9..2edabae98 100644
--- a/src/Specific/CurveParameters/solinas64_2e198m17.json
+++ b/src/Specific/CurveParameters/solinas64_2e198m17.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='49.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{50,49,50,49}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='49.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{50,49,50,49}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<198) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='49.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<198) - 17' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{50,49,50,49}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='49.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<198) - 17' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{50,49,50,49}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^198 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e205m45x2e198m1.json b/src/Specific/CurveParameters/solinas64_2e205m45x2e198m1.json
index 18f68ed54..6440d7542 100644
--- a/src/Specific/CurveParameters/solinas64_2e205m45x2e198m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e205m45x2e198m1.json
@@ -18,11 +18,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='51.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='51.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{52,51,51,51}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{52,51,51,51}' -Dmodulus_array='{0x14,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^205 - 45*2^198 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e206m5.json b/src/Specific/CurveParameters/solinas64_2e206m5.json
index d1361a589..5f5c2cee3 100644
--- a/src/Specific/CurveParameters/solinas64_2e206m5.json
+++ b/src/Specific/CurveParameters/solinas64_2e206m5.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='51.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,52,51}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='51.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,52,51}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<206) - 5'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<206) - 5' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{52,51,52,51}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<206) - 5' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{52,51,52,51}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^206 - 5",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e212m29.json b/src/Specific/CurveParameters/solinas64_2e212m29.json
index 4a4cd8563..d1cf4d9b8 100644
--- a/src/Specific/CurveParameters/solinas64_2e212m29.json
+++ b/src/Specific/CurveParameters/solinas64_2e212m29.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='53' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{53,53,53,53}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='53' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{53,53,53,53}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}' -Dq_mpz='(1_mpz<<212) - 29'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='53' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<212) - 29' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{53,53,53,53}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='53' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<212) - 29' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{53,53,53,53}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe3}'",
"modulus": "2^212 - 29",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e213m3.json b/src/Specific/CurveParameters/solinas64_2e213m3.json
index 5e2f7ac82..1f3cfce9d 100644
--- a/src/Specific/CurveParameters/solinas64_2e213m3.json
+++ b/src/Specific/CurveParameters/solinas64_2e213m3.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='53.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{54,53,53,53}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='53.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{54,53,53,53}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<213) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='53.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<213) - 3' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{54,53,53,53}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='53.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<213) - 3' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{54,53,53,53}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^213 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e216m2e108m1.json b/src/Specific/CurveParameters/solinas64_2e216m2e108m1.json
index 4594acf66..8b60de334 100644
--- a/src/Specific/CurveParameters/solinas64_2e216m2e108m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e216m2e108m1.json
@@ -18,12 +18,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='54' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{54,54,54,54}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='54' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{54,54,54,54}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='54' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{54,54,54,54}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='54' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{54,54,54,54}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^216 - 2^108 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e221m3.json b/src/Specific/CurveParameters/solinas64_2e221m3.json
index 85ea5447b..ec334e162 100644
--- a/src/Specific/CurveParameters/solinas64_2e221m3.json
+++ b/src/Specific/CurveParameters/solinas64_2e221m3.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='55.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='55.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<221) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<221) - 3' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{56,55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<221) - 3' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{56,55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^221 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e222m117.json b/src/Specific/CurveParameters/solinas64_2e222m117.json
index 03f223896..96eb9a305 100644
--- a/src/Specific/CurveParameters/solinas64_2e222m117.json
+++ b/src/Specific/CurveParameters/solinas64_2e222m117.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='55.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,55,56,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='55.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,55,56,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}' -Dq_mpz='(1_mpz<<222) - 117'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<222) - 117' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{56,55,56,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<222) - 117' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{56,55,56,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b}'",
"modulus": "2^222 - 117",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e224m2e96p1.json b/src/Specific/CurveParameters/solinas64_2e224m2e96p1.json
index 4c5cd2f20..518ab87bd 100644
--- a/src/Specific/CurveParameters/solinas64_2e224m2e96p1.json
+++ b/src/Specific/CurveParameters/solinas64_2e224m2e96p1.json
@@ -18,11 +18,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1 ' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}'",
"modulus": "2^224 - 2^96 + 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e226m5.json b/src/Specific/CurveParameters/solinas64_2e226m5.json
index 8feeddff3..1ae2a4702 100644
--- a/src/Specific/CurveParameters/solinas64_2e226m5.json
+++ b/src/Specific/CurveParameters/solinas64_2e226m5.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='56.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,56,57,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='56.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,56,57,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dq_mpz='(1_mpz<<226) - 5'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<226) - 5' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{57,56,57,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<226) - 5' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{57,56,57,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}'",
"modulus": "2^226 - 5",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e230m27.json b/src/Specific/CurveParameters/solinas64_2e230m27.json
index 3ca26a683..639a0c4e3 100644
--- a/src/Specific/CurveParameters/solinas64_2e230m27.json
+++ b/src/Specific/CurveParameters/solinas64_2e230m27.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='57.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{58,57,58,57}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='4' -Dmodulus_bytes_val='57.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{58,57,58,57}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dq_mpz='(1_mpz<<230) - 27'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='57.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<230) - 27' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{58,57,58,57}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='57.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<230) - 27' -Dmodulus_limbs='4' -Dlimb_weight_gaps_array='{58,57,58,57}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}'",
"modulus": "2^230 - 27",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e235m15.json b/src/Specific/CurveParameters/solinas64_2e235m15.json
index a24dc802f..b6ee2587b 100644
--- a/src/Specific/CurveParameters/solinas64_2e235m15.json
+++ b/src/Specific/CurveParameters/solinas64_2e235m15.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='47' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{47,47,47,47,47}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='47' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{47,47,47,47,47}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<235) - 15'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='47' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<235) - 15' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{47,47,47,47,47}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='47' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<235) - 15' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{47,47,47,47,47}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^235 - 15",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e243m9.json b/src/Specific/CurveParameters/solinas64_2e243m9.json
index f25197567..f8a76ad37 100644
--- a/src/Specific/CurveParameters/solinas64_2e243m9.json
+++ b/src/Specific/CurveParameters/solinas64_2e243m9.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='40.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{41,40,41,40,41,40}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='40.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{41,40,41,40,41,40}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<243) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='40.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<243) - 9' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{41,40,41,40,41,40}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='40.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<243) - 9' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{41,40,41,40,41,40}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^243 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e251m9.json b/src/Specific/CurveParameters/solinas64_2e251m9.json
index 10c3d25d0..ab217d5af 100644
--- a/src/Specific/CurveParameters/solinas64_2e251m9.json
+++ b/src/Specific/CurveParameters/solinas64_2e251m9.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='50.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,50,50,50,50}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='50.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,50,50,50,50}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<251) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='50.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<251) - 9' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{51,50,50,50,50}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='50.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<251) - 9' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{51,50,50,50,50}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^251 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e254m127x2e240m1.json b/src/Specific/CurveParameters/solinas64_2e254m127x2e240m1.json
index 741cd8baa..42ed9175f 100644
--- a/src/Specific/CurveParameters/solinas64_2e254m127x2e240m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e254m127x2e240m1.json
@@ -20,11 +20,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='42 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{43,42,42,43,42,42}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='42 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{43,42,42,43,42,42}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='42 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{43,42,42,43,42,42}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='42 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{43,42,42,43,42,42}' -Dmodulus_array='{0x3f,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^254 - 127*2^240 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e255m19.json b/src/Specific/CurveParameters/solinas64_2e255m19.json
index 11ee2e05e..633407671 100644
--- a/src/Specific/CurveParameters/solinas64_2e255m19.json
+++ b/src/Specific/CurveParameters/solinas64_2e255m19.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - 19 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - 19 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - 19 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - 19 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^255 - 19 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e255m2e4m2e1m1.json b/src/Specific/CurveParameters/solinas64_2e255m2e4m2e1m1.json
index 6f8aa113d..7ecb9a2b7 100644
--- a/src/Specific/CurveParameters/solinas64_2e255m2e4m2e1m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e255m2e4m2e1m1.json
@@ -20,11 +20,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - (1_mpz<<4) - (1_mpz<<1) - 1' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^255 - 2^4 - 2^1 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e255m765.json b/src/Specific/CurveParameters/solinas64_2e255m765.json
index e535f1383..118ec337c 100644
--- a/src/Specific/CurveParameters/solinas64_2e255m765.json
+++ b/src/Specific/CurveParameters/solinas64_2e255m765.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}' -Dq_mpz='(1_mpz<<255) - 765'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - 765' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<255) - 765' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0x03}'",
"modulus": "2^255 - 765",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e256m189.json b/src/Specific/CurveParameters/solinas64_2e256m189.json
index e3938c359..c1bfed742 100644
--- a/src/Specific/CurveParameters/solinas64_2e256m189.json
+++ b/src/Specific/CurveParameters/solinas64_2e256m189.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}' -Dq_mpz='(1_mpz<<256) - 189'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - 189' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - 189' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43}'",
"modulus": "2^256 - 189",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1.json b/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1.json
index 0c2dfccf6..7d9c8b5bc 100644
--- a/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1.json
@@ -23,11 +23,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e256m2e32m977.json b/src/Specific/CurveParameters/solinas64_2e256m2e32m977.json
index 13c165769..546567a7f 100644
--- a/src/Specific/CurveParameters/solinas64_2e256m2e32m977.json
+++ b/src/Specific/CurveParameters/solinas64_2e256m2e32m977.json
@@ -18,11 +18,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977 ' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xfc,0x2f}'",
"modulus": "2^256 - 2^32 - 977 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e256m88x2e240m1.json b/src/Specific/CurveParameters/solinas64_2e256m88x2e240m1.json
index a4b564ec3..03b1bc18a 100644
--- a/src/Specific/CurveParameters/solinas64_2e256m88x2e240m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e256m88x2e240m1.json
@@ -19,11 +19,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xa7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^256 - 88*2^240 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e266m3.json b/src/Specific/CurveParameters/solinas64_2e266m3.json
index b07a969c5..05496972b 100644
--- a/src/Specific/CurveParameters/solinas64_2e266m3.json
+++ b/src/Specific/CurveParameters/solinas64_2e266m3.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='53.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{54,53,53,53,53}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='53.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{54,53,53,53,53}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<266) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='53.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<266) - 3' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{54,53,53,53,53}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='53.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<266) - 3' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{54,53,53,53,53}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^266 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e285m9.json b/src/Specific/CurveParameters/solinas64_2e285m9.json
index 99f186322..7b5ae8b51 100644
--- a/src/Specific/CurveParameters/solinas64_2e285m9.json
+++ b/src/Specific/CurveParameters/solinas64_2e285m9.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='57' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,57,57,57,57}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='57' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,57,57,57,57}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<285) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='57' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<285) - 9' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{57,57,57,57,57}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='57' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<285) - 9' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{57,57,57,57,57}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^285 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e291m19.json b/src/Specific/CurveParameters/solinas64_2e291m19.json
index 9a8b61ac2..2190bea34 100644
--- a/src/Specific/CurveParameters/solinas64_2e291m19.json
+++ b/src/Specific/CurveParameters/solinas64_2e291m19.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='58.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{59,58,58,58,58}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='5' -Dmodulus_bytes_val='58.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{59,58,58,58,58}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<291) - 19'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='58.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<291) - 19' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{59,58,58,58,58}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='58.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<291) - 19' -Dmodulus_limbs='5' -Dlimb_weight_gaps_array='{59,58,58,58,58}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^291 - 19",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e321m9.json b/src/Specific/CurveParameters/solinas64_2e321m9.json
index aab85ba59..e85705f80 100644
--- a/src/Specific/CurveParameters/solinas64_2e321m9.json
+++ b/src/Specific/CurveParameters/solinas64_2e321m9.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='53.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{54,53,54,53,54,53}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='53.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{54,53,54,53,54,53}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dq_mpz='(1_mpz<<321) - 9'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='53.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<321) - 9' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{54,53,54,53,54,53}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='53.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<321) - 9' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{54,53,54,53,54,53}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}'",
"modulus": "2^321 - 9",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e322m2e161m1.json b/src/Specific/CurveParameters/solinas64_2e322m2e161m1.json
index 678fa59f9..400e9945a 100644
--- a/src/Specific/CurveParameters/solinas64_2e322m2e161m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e322m2e161m1.json
@@ -21,12 +21,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='46' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='46' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='46' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='46' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^322 - 2^161 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e336m17.json b/src/Specific/CurveParameters/solinas64_2e336m17.json
index c26250919..c6df4b7c7 100644
--- a/src/Specific/CurveParameters/solinas64_2e336m17.json
+++ b/src/Specific/CurveParameters/solinas64_2e336m17.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<336) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<336) - 17' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<336) - 17' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^336 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e336m3.json b/src/Specific/CurveParameters/solinas64_2e336m3.json
index f5c8c2ec8..70711e0ab 100644
--- a/src/Specific/CurveParameters/solinas64_2e336m3.json
+++ b/src/Specific/CurveParameters/solinas64_2e336m3.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<336) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<336) - 3' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<336) - 3' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^336 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e338m15.json b/src/Specific/CurveParameters/solinas64_2e338m15.json
index 4a33939d4..4ccf7c67d 100644
--- a/src/Specific/CurveParameters/solinas64_2e338m15.json
+++ b/src/Specific/CurveParameters/solinas64_2e338m15.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='56 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,56,56,57,56,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='6' -Dmodulus_bytes_val='56 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,56,56,57,56,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dq_mpz='(1_mpz<<338) - 15'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<338) - 15' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{57,56,56,57,56,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<338) - 15' -Dmodulus_limbs='6' -Dlimb_weight_gaps_array='{57,56,56,57,56,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}'",
"modulus": "2^338 - 15",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e369m25.json b/src/Specific/CurveParameters/solinas64_2e369m25.json
index 21c09fd1f..9c826e021 100644
--- a/src/Specific/CurveParameters/solinas64_2e369m25.json
+++ b/src/Specific/CurveParameters/solinas64_2e369m25.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='46.125' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{47,46,46,46,46,46,46,46}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='46.125' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{47,46,46,46,46,46,46,46}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dq_mpz='(1_mpz<<369) - 25'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='46.125' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<369) - 25' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{47,46,46,46,46,46,46,46}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='46.125' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<369) - 25' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{47,46,46,46,46,46,46,46}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}'",
"modulus": "2^369 - 25",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e379m19.json b/src/Specific/CurveParameters/solinas64_2e379m19.json
index 2b5b3c2f8..2308b59d5 100644
--- a/src/Specific/CurveParameters/solinas64_2e379m19.json
+++ b/src/Specific/CurveParameters/solinas64_2e379m19.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='54 + 1/7' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{55,54,54,54,54,54,54}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='54 + 1/7' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{55,54,54,54,54,54,54}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dq_mpz='(1_mpz<<379) - 19'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='54 + 1/7' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<379) - 19' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{55,54,54,54,54,54,54}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='54 + 1/7' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<379) - 19' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{55,54,54,54,54,54,54}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}'",
"modulus": "2^379 - 19",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e382m105.json b/src/Specific/CurveParameters/solinas64_2e382m105.json
index 80ab06b27..a2dcfe55c 100644
--- a/src/Specific/CurveParameters/solinas64_2e382m105.json
+++ b/src/Specific/CurveParameters/solinas64_2e382m105.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='38.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{39,38,38,38,38,39,38,38,38,38}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='38.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{39,38,38,38,38,39,38,38,38,38}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dq_mpz='(1_mpz<<382) - 105'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='38.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<382) - 105' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{39,38,38,38,38,39,38,38,38,38}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='38.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<382) - 105' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{39,38,38,38,38,39,38,38,38,38}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}'",
"modulus": "2^382 - 105",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1.json b/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1.json
index 54e6d1e8c..d1de7f0b2 100644
--- a/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1.json
@@ -26,11 +26,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e384m317.json b/src/Specific/CurveParameters/solinas64_2e384m317.json
index 630521206..c115facb6 100644
--- a/src/Specific/CurveParameters/solinas64_2e384m317.json
+++ b/src/Specific/CurveParameters/solinas64_2e384m317.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dq_mpz='(1_mpz<<384) - 317'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 317' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 317' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}'",
"modulus": "2^384 - 317",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e384m5x2e368m1.json b/src/Specific/CurveParameters/solinas64_2e384m5x2e368m1.json
index 5574d1c0c..854a23887 100644
--- a/src/Specific/CurveParameters/solinas64_2e384m5x2e368m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e384m5x2e368m1.json
@@ -22,11 +22,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xff,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 5*2^368 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e384m79x2e376m1.json b/src/Specific/CurveParameters/solinas64_2e384m79x2e376m1.json
index 5166577c6..43b206589 100644
--- a/src/Specific/CurveParameters/solinas64_2e384m79x2e376m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e384m79x2e376m1.json
@@ -22,11 +22,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='48' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -Dmodulus_array='{0xb0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^384 - 79*2^376 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e401m31.json b/src/Specific/CurveParameters/solinas64_2e401m31.json
index f9e48989a..8358bb83b 100644
--- a/src/Specific/CurveParameters/solinas64_2e401m31.json
+++ b/src/Specific/CurveParameters/solinas64_2e401m31.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='50.125' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,50,50,50,50,50,50,50}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='50.125' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,50,50,50,50,50,50,50}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<401) - 31'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='50.125' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<401) - 31' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{51,50,50,50,50,50,50,50}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='50.125' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<401) - 31' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{51,50,50,50,50,50,50,50}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^401 - 31",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e413m21.json b/src/Specific/CurveParameters/solinas64_2e413m21.json
index c63723466..5e593f05d 100644
--- a/src/Specific/CurveParameters/solinas64_2e413m21.json
+++ b/src/Specific/CurveParameters/solinas64_2e413m21.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='59' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{59,59,59,59,59,59,59}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='7' -Dmodulus_bytes_val='59' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{59,59,59,59,59,59,59}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<413) - 21'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='59' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<413) - 21' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{59,59,59,59,59,59,59}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='59' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<413) - 21' -Dmodulus_limbs='7' -Dlimb_weight_gaps_array='{59,59,59,59,59,59,59}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^413 - 21",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e414m17.json b/src/Specific/CurveParameters/solinas64_2e414m17.json
index 609d09395..000a550af 100644
--- a/src/Specific/CurveParameters/solinas64_2e414m17.json
+++ b/src/Specific/CurveParameters/solinas64_2e414m17.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='46' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46,46,46}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='46' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46,46,46}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<414) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='46' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<414) - 17' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46,46,46}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='46' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<414) - 17' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46,46,46}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^414 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e416m2e208m1.json b/src/Specific/CurveParameters/solinas64_2e416m2e208m1.json
index 27a5ad34e..81e095aed 100644
--- a/src/Specific/CurveParameters/solinas64_2e416m2e208m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e416m2e208m1.json
@@ -22,12 +22,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='52' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='52' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='52' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='52' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^416 - 2^208 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e444m17.json b/src/Specific/CurveParameters/solinas64_2e444m17.json
index ca45f9296..c59b3f348 100644
--- a/src/Specific/CurveParameters/solinas64_2e444m17.json
+++ b/src/Specific/CurveParameters/solinas64_2e444m17.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='55.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,55,56,55,56,55,56,55}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='55.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,55,56,55,56,55,56,55}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<444) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<444) - 17' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{56,55,56,55,56,55,56,55}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<444) - 17' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{56,55,56,55,56,55,56,55}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^444 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e448m2e224m1.json b/src/Specific/CurveParameters/solinas64_2e448m2e224m1.json
index ff16b4c7a..4bd5bf22c 100644
--- a/src/Specific/CurveParameters/solinas64_2e448m2e224m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e448m2e224m1.json
@@ -22,12 +22,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,56,56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{56,56,56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{56,56,56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{56,56,56,56,56,56,56,56}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^448 - 2^224 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e450m2e225m1.json b/src/Specific/CurveParameters/solinas64_2e450m2e225m1.json
index 1ca74b26f..bca40dea2 100644
--- a/src/Specific/CurveParameters/solinas64_2e450m2e225m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e450m2e225m1.json
@@ -22,12 +22,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='56.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,56,56,56,57,56,56,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='56.25' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,56,56,56,57,56,56,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{57,56,56,56,57,56,56,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56.25' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{57,56,56,56,57,56,56,56}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^450 - 2^225 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e452m3.json b/src/Specific/CurveParameters/solinas64_2e452m3.json
index e3883bf76..3fd1870e7 100644
--- a/src/Specific/CurveParameters/solinas64_2e452m3.json
+++ b/src/Specific/CurveParameters/solinas64_2e452m3.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='56.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,56,57,56,57,56,57,56}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='56.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{57,56,57,56,57,56,57,56}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dq_mpz='(1_mpz<<452) - 3'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<452) - 3' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{57,56,57,56,57,56,57,56}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='56.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<452) - 3' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{57,56,57,56,57,56,57,56}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}'",
"modulus": "2^452 - 3",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e468m17.json b/src/Specific/CurveParameters/solinas64_2e468m17.json
index cd734439d..751c1fa7f 100644
--- a/src/Specific/CurveParameters/solinas64_2e468m17.json
+++ b/src/Specific/CurveParameters/solinas64_2e468m17.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='58.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{59,58,59,58,59,58,59,58}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='58.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{59,58,59,58,59,58,59,58}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<468) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='58.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<468) - 17' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{59,58,59,58,59,58,59,58}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='58.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<468) - 17' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{59,58,59,58,59,58,59,58}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^468 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e480m2e240m1.json b/src/Specific/CurveParameters/solinas64_2e480m2e240m1.json
index bc2028e94..247ce0996 100644
--- a/src/Specific/CurveParameters/solinas64_2e480m2e240m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e480m2e240m1.json
@@ -22,12 +22,14 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='60' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{60,60,60,60,60,60,60,60}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='8' -Dmodulus_bytes_val='60' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{60,60,60,60,60,60,60,60}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='60' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{60,60,60,60,60,60,60,60}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='60' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1 ' -Dmodulus_limbs='8' -Dlimb_weight_gaps_array='{60,60,60,60,60,60,60,60}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"goldilocks": true,
"modulus": "2^480 - 2^240 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e488m17.json b/src/Specific/CurveParameters/solinas64_2e488m17.json
index 6d4da64eb..37b1c5a18 100644
--- a/src/Specific/CurveParameters/solinas64_2e488m17.json
+++ b/src/Specific/CurveParameters/solinas64_2e488m17.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='30.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{31,30,31,30,31,30,31,30,31,30,31,30,31,30,31,30}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='16' -Dmodulus_bytes_val='30.5' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{31,30,31,30,31,30,31,30,31,30,31,30,31,30,31,30}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dq_mpz='(1_mpz<<488) - 17'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='30.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<488) - 17' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{31,30,31,30,31,30,31,30,31,30,31,30,31,30,31,30}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='30.5' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<488) - 17' -Dmodulus_limbs='16' -Dlimb_weight_gaps_array='{31,30,31,30,31,30,31,30,31,30,31,30,31,30,31,30}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}'",
"modulus": "2^488 - 17",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e489m21.json b/src/Specific/CurveParameters/solinas64_2e489m21.json
index 267e6adff..82431cf74 100644
--- a/src/Specific/CurveParameters/solinas64_2e489m21.json
+++ b/src/Specific/CurveParameters/solinas64_2e489m21.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='54 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{55,54,54,55,54,54,55,54,54}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='54 + 1/3' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{55,54,54,55,54,54,55,54,54}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dq_mpz='(1_mpz<<489) - 21'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='54 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<489) - 21' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{55,54,54,55,54,54,55,54,54}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='54 + 1/3' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<489) - 21' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{55,54,54,55,54,54,55,54,54}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}'",
"modulus": "2^489 - 21",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e495m31.json b/src/Specific/CurveParameters/solinas64_2e495m31.json
index 3f0b45c84..14078d6b4 100644
--- a/src/Specific/CurveParameters/solinas64_2e495m31.json
+++ b/src/Specific/CurveParameters/solinas64_2e495m31.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='55' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{55,55,55,55,55,55,55,55,55}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='9' -Dmodulus_bytes_val='55' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{55,55,55,55,55,55,55,55,55}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dq_mpz='(1_mpz<<495) - 31'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<495) - 31' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,55,55,55}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='55' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<495) - 31' -Dmodulus_limbs='9' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,55,55,55}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}'",
"modulus": "2^495 - 31",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e510m290x2e496m1.json b/src/Specific/CurveParameters/solinas64_2e510m290x2e496m1.json
index c5672e7e9..2e843b9aa 100644
--- a/src/Specific/CurveParameters/solinas64_2e510m290x2e496m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e510m290x2e496m1.json
@@ -24,11 +24,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{51,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{51,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{51,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x3e,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^510 - 290*2^496 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e511m187.json b/src/Specific/CurveParameters/solinas64_2e511m187.json
index 7c31c4dfe..deab96640 100644
--- a/src/Specific/CurveParameters/solinas64_2e511m187.json
+++ b/src/Specific/CurveParameters/solinas64_2e511m187.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51.1' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51.1' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dq_mpz='(1_mpz<<511) - 187'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.1' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<511) - 187' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.1' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<511) - 187' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}'",
"modulus": "2^511 - 187",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e511m481.json b/src/Specific/CurveParameters/solinas64_2e511m481.json
index 6fcb4e10b..ec721bb70 100644
--- a/src/Specific/CurveParameters/solinas64_2e511m481.json
+++ b/src/Specific/CurveParameters/solinas64_2e511m481.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51.1' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51.1' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dq_mpz='(1_mpz<<511) - 481'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.1' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<511) - 481' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.1' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<511) - 481' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}'",
"modulus": "2^511 - 481",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e512m491x2e496m1.json b/src/Specific/CurveParameters/solinas64_2e512m491x2e496m1.json
index 3f5dfb9cc..35d60f727 100644
--- a/src/Specific/CurveParameters/solinas64_2e512m491x2e496m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e512m491x2e496m1.json
@@ -24,11 +24,13 @@
]
],
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -Dmodulus_array='{0xfe,0x14,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^512 - 491*2^496 - 1",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e512m569.json b/src/Specific/CurveParameters/solinas64_2e512m569.json
index eadf251c4..be1ff44bf 100644
--- a/src/Specific/CurveParameters/solinas64_2e512m569.json
+++ b/src/Specific/CurveParameters/solinas64_2e512m569.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dq_mpz='(1_mpz<<512) - 569'",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<512) - 569' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='51.2' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<512) - 569' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}'",
"modulus": "2^512 - 569",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],
diff --git a/src/Specific/CurveParameters/solinas64_2e521m1.json b/src/Specific/CurveParameters/solinas64_2e521m1.json
index d7c4d8023..55568a7d2 100644
--- a/src/Specific/CurveParameters/solinas64_2e521m1.json
+++ b/src/Specific/CurveParameters/solinas64_2e521m1.json
@@ -3,11 +3,13 @@
"bitwidth": 64,
"carry_chains": "default",
"coef_div_modulus": "2",
- "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='52.1' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{53,52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<521) - 1 '",
- "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_limbs='10' -Dmodulus_bytes_val='52.1' -Dlimb_t=uint64_t -Dlimb_weight_gaps_array='{53,52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dq_mpz='(1_mpz<<521) - 1 '",
+ "compiler": "gcc -march=native -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='52.1' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<521) - 1 ' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{53,52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
+ "compilerxx": "g++ -march=native -mtune=native -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Dmodulus_bytes_val='52.1' -Dlimb_t=uint64_t -Dq_mpz='(1_mpz<<521) - 1 ' -Dmodulus_limbs='10' -Dlimb_weight_gaps_array='{53,52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}'",
"modulus": "2^521 - 1 ",
"operations": [
"femul",
+ "feadd",
+ "fesub",
"fesquare",
"freeze"
],