mirror of
https://github.com/luxfhe/torus.git
synced 2026-10-30 17:07:26 +00:00
Forked from upstream concrete (BSD-3-Clause-Clear, © 2024 ZAMA) at HEAD
ecb729bb. Modifications copyright © 2026 Lux Industries Inc.
Rebranding scope:
- Python module concrete → torus (across frontends/torus-python)
- Rust module concrete-* → torus-* (across frontends/torus-rust)
- MLIR dialect concretelang → toruslang (across compilers/torus-compiler)
- Compiler optimizer concrete-optimizer → torus-optimizer
- Backend concrete-cpu / concrete-cuda → torus-cpu / torus-cuda
- Wire protocol concrete-protocol → torus-protocol
- Parameter-curves concrete-security-curves-* → torus-security-curves-*
- Public symbols concretelib → toruslib, ConcreteLang → TorusLang
- URLs github.com/zama-ai/concrete → github.com/luxfhe/torus
- URLs docs.zama.ai/concrete → docs.luxfhe.com/torus
Legal compliance:
- LICENSE.txt retains original Copyright © 2024 ZAMA verbatim (§1-§2)
- LICENSE.txt adds modifications copyright © 2026 Lux Industries Inc.
- §3 endorsement clause: Torus is marketed exclusively as a Lux product;
no Zama name used in README, docs, or marketing
- NOTICE file provides factual attribution per legal best practice
(not endorsement; required by upstream BSD-3-Clause-Clear)
README + NOTICE rewritten from scratch with Lux brand:
- Quick-start in Python (torus.fhe)
- Architecture diagram showing the gen-1 vtbl integration path
(luxcpp/gpu → lux-private/gpu-kernels for CUDA/Metal/WebGPU)
- Scheme coverage table: TFHE (luxfi/fhe), CKKS/BGV/BFV (luxfi/lattice)
- Lux FHE family table: Torus / TorusVM / TorusEVM / TorusML / TorusNet
Known limitations (phase-2A scope):
- PyPI package torus-fhe not yet published; the torus Python module
is renamed structurally but pip-installable distribution is a
follow-up (Phase 2A.1)
- MLIR dialect rename is text-level; the compiler-internal LLVM
rebuild (concrete-compiler-internal-llvm-project submodule) is
structural and works; tablegen files renamed concrete→torus but the
generated .inc files in the source tree will regenerate at build
time
- backends/torus-cuda/implementation/ is an upstream submodule
pointer to the tfhe-rs source (not fetched in the staging clone);
the CUDA backend body is delivered out-of-tree
- ~100 test-fixture variable names like concrete_encoded_sample
retain "concrete" as a math term (vs symbolic); these are inside
tests/, not the public API; cleanup is a follow-up commit
- 295 Python `from concrete import ...` residuals in luxfhe/ml-sdk
consumer remain; that repo's import update is Phase 2B
This commit is the seed for the luxfhe/torus repo. Push as the first
commit to a fresh GitHub repo; do not re-import upstream Zama git
history.
246 lines
13 KiB
Plaintext
246 lines
13 KiB
Plaintext
security level: 128
|
|
target p_error: 6.3e-5
|
|
per precision and log norm2:
|
|
|
|
- 1: # bits
|
|
-ln2: k, N, n, br_l,br_b, ks_l,ks_b, cost, p_error
|
|
- 0 : 1, 10, 556, 2, 8, 3, 3, 47, 5.3e-5
|
|
- 1 : 1, 10, 558, 2, 8, 3, 3, 47, 6.1e-5
|
|
- 2 : 1, 10, 543, 2, 8, 5, 2, 48, 5.9e-5
|
|
- 3 : 2, 10, 580, 1, 23, 3, 3, 57, 5.8e-5
|
|
- 4 : 2, 10, 580, 1, 23, 3, 3, 57, 5.8e-5
|
|
- 5 : 2, 10, 580, 1, 23, 3, 3, 57, 5.8e-5
|
|
- 6 : 2, 10, 580, 1, 23, 3, 3, 57, 5.9e-5
|
|
- 7 : 2, 10, 580, 1, 23, 3, 3, 57, 6.3e-5
|
|
- 8 : 2, 10, 582, 1, 23, 3, 3, 57, 5.4e-5
|
|
- 9 : 2, 10, 587, 1, 23, 3, 3, 57, 5.9e-5
|
|
- 10: 2, 10, 603, 1, 23, 4, 3, 61, 6.3e-5
|
|
- 11: 2, 10, 580, 2, 16, 3, 3, 81, 5.8e-5
|
|
- 12: 2, 10, 580, 2, 16, 3, 3, 81, 5.8e-5
|
|
- 13: 2, 10, 580, 2, 16, 3, 3, 81, 5.9e-5
|
|
- 14: 2, 10, 580, 2, 16, 3, 3, 81, 6.2e-5
|
|
- 15: 2, 10, 581, 2, 16, 3, 3, 81, 6.1e-5
|
|
- 16: 2, 10, 585, 2, 16, 3, 3, 81, 6.1e-5
|
|
- 17: 2, 10, 568, 2, 16, 5, 2, 84, 5.8e-5
|
|
- 18: 2, 10, 550, 3, 12, 5, 2, 104, 5.6e-5
|
|
- 19: 2, 10, 551, 3, 12, 5, 2, 104, 5.5e-5
|
|
- 20: 2, 10, 555, 3, 12, 5, 2, 105, 5.6e-5
|
|
- 21: 2, 10, 586, 3, 12, 5, 2, 110, 6.2e-5
|
|
- 22: 2, 10, 554, 4, 9, 5, 2, 127, 6.1e-5
|
|
- 23: 2, 10, 578, 4, 9, 5, 2, 132, 6.2e-5
|
|
- 24: 2, 10, 559, 5, 8, 5, 2, 151, 5.8e-5
|
|
- 25: 2, 10, 561, 6, 7, 5, 2, 175, 6.0e-5
|
|
- 26: 2, 10, 564, 7, 6, 5, 2, 199, 5.8e-5
|
|
- 27: 2, 10, 604, 8, 5, 6, 2, 239, 6.2e-5
|
|
- 28: 2, 10, 578, 11, 4, 5, 2, 298, 6.2e-5
|
|
- 29: 2, 10, 604, 15, 3, 6, 2, 413, 6.2e-5
|
|
- 30: 2, 10, 572, 44, 1, 11, 1, 1083, 5.8e-5
|
|
# no solution starting from log norm2 = 31
|
|
|
|
- 2: # bits
|
|
-ln2: k, N, n, br_l,br_b, ks_l,ks_b, cost, p_error
|
|
- 0 : 1, 10, 575, 2, 8, 5, 2, 51, 6.3e-5
|
|
- 1 : 1, 10, 591, 2, 8, 5, 2, 52, 5.8e-5
|
|
- 2 : 2, 10, 616, 1, 23, 4, 3, 62, 5.1e-5
|
|
- 3 : 2, 10, 616, 1, 23, 4, 3, 62, 5.1e-5
|
|
- 4 : 2, 10, 616, 1, 23, 4, 3, 62, 5.1e-5
|
|
- 5 : 2, 10, 616, 1, 23, 4, 3, 62, 5.2e-5
|
|
- 6 : 2, 10, 616, 1, 23, 4, 3, 62, 5.6e-5
|
|
- 7 : 2, 10, 617, 1, 23, 4, 3, 62, 5.4e-5
|
|
- 8 : 2, 10, 621, 1, 23, 4, 3, 63, 5.2e-5
|
|
- 9 : 2, 10, 648, 1, 23, 4, 3, 65, 6.1e-5
|
|
- 10: 2, 10, 597, 2, 16, 5, 2, 87, 6.0e-5
|
|
- 11: 2, 10, 597, 2, 16, 5, 2, 87, 6.0e-5
|
|
- 12: 2, 10, 597, 2, 16, 5, 2, 87, 6.0e-5
|
|
- 13: 2, 10, 597, 2, 16, 5, 2, 87, 6.3e-5
|
|
- 14: 2, 10, 598, 2, 16, 5, 2, 88, 6.3e-5
|
|
- 15: 2, 10, 619, 2, 16, 4, 3, 88, 6.3e-5
|
|
- 16: 2, 10, 636, 2, 16, 4, 3, 90, 5.7e-5
|
|
- 17: 2, 10, 598, 3, 12, 5, 2, 112, 5.4e-5
|
|
- 18: 2, 10, 599, 3, 12, 5, 2, 112, 5.9e-5
|
|
- 19: 2, 10, 606, 3, 12, 5, 2, 113, 5.7e-5
|
|
- 20: 2, 10, 630, 3, 12, 6, 2, 120, 6.1e-5
|
|
- 21: 2, 10, 605, 4, 9, 5, 2, 138, 5.6e-5
|
|
- 22: 2, 10, 621, 4, 9, 6, 2, 144, 6.1e-5
|
|
- 23: 2, 10, 601, 5, 8, 6, 2, 164, 5.6e-5
|
|
- 24: 2, 10, 603, 6, 7, 6, 2, 189, 5.9e-5
|
|
- 25: 2, 10, 606, 7, 6, 6, 2, 215, 5.8e-5
|
|
- 26: 2, 10, 612, 9, 5, 6, 2, 268, 6.0e-5
|
|
- 27: 2, 10, 621, 11, 4, 6, 2, 322, 6.2e-5
|
|
- 28: 2, 10, 629, 21, 2, 6, 2, 584, 6.1e-5
|
|
- 29: 2, 10, 620, 44, 1, 12, 1, 1176, 6.1e-5
|
|
# no solution starting from log norm2 = 30
|
|
|
|
- 3: # bits
|
|
-ln2: k, N, n, br_l,br_b, ks_l,ks_b, cost, p_error
|
|
- 0 : 1, 10, 658, 2, 8, 4, 3, 56, 6.3e-5
|
|
- 1 : 2, 10, 688, 1, 23, 3, 4, 66, 5.2e-5
|
|
- 2 : 2, 10, 688, 1, 23, 3, 4, 66, 5.2e-5
|
|
- 3 : 2, 10, 688, 1, 23, 3, 4, 66, 5.2e-5
|
|
- 4 : 2, 10, 688, 1, 23, 3, 4, 66, 5.3e-5
|
|
- 5 : 2, 10, 688, 1, 23, 3, 4, 66, 5.7e-5
|
|
- 6 : 2, 10, 689, 1, 23, 3, 4, 66, 5.9e-5
|
|
- 7 : 2, 10, 695, 1, 23, 3, 4, 67, 5.3e-5
|
|
- 8 : 2, 10, 736, 1, 23, 4, 3, 73, 6.3e-5
|
|
- 9 : 2, 10, 658, 2, 16, 4, 3, 93, 5.8e-5
|
|
- 10: 2, 10, 658, 2, 16, 4, 3, 93, 5.8e-5
|
|
- 11: 2, 10, 658, 2, 16, 4, 3, 93, 5.9e-5
|
|
- 12: 2, 10, 658, 2, 16, 4, 3, 93, 6.2e-5
|
|
- 13: 2, 10, 659, 2, 16, 4, 3, 93, 6.0e-5
|
|
- 14: 2, 10, 663, 2, 16, 4, 3, 94, 5.6e-5
|
|
- 15: 2, 10, 688, 2, 16, 4, 3, 97, 6.1e-5
|
|
- 16: 2, 10, 659, 3, 12, 4, 3, 120, 5.0e-5
|
|
- 17: 2, 10, 660, 3, 12, 4, 3, 120, 5.4e-5
|
|
- 18: 2, 10, 666, 3, 12, 4, 3, 121, 5.3e-5
|
|
- 19: 2, 10, 702, 3, 12, 7, 2, 136, 6.3e-5
|
|
- 20: 2, 10, 640, 4, 9, 6, 2, 148, 5.4e-5
|
|
- 21: 2, 10, 677, 4, 9, 7, 2, 159, 6.1e-5
|
|
- 22: 2, 10, 646, 5, 8, 6, 2, 176, 6.3e-5
|
|
- 23: 2, 10, 650, 6, 7, 6, 2, 204, 5.7e-5
|
|
- 24: 2, 10, 654, 7, 6, 6, 2, 232, 6.1e-5
|
|
- 25: 2, 10, 665, 9, 5, 6, 2, 290, 6.1e-5
|
|
- 26: 2, 10, 677, 11, 4, 7, 2, 353, 6.2e-5
|
|
- 27: 2, 10, 649, 22, 2, 6, 2, 629, 6.3e-5
|
|
- 28: 2, 10, 672, 45, 1, 13, 1, 1304, 6.1e-5
|
|
# no solution starting from log norm2 = 29
|
|
|
|
- 4: # bits
|
|
-ln2: k, N, n, br_l,br_b, ks_l,ks_b, cost, p_error
|
|
- 0 : 2, 10, 769, 1, 23, 3, 4, 73, 6.1e-5
|
|
- 1 : 2, 10, 769, 1, 23, 3, 4, 73, 6.2e-5
|
|
- 2 : 2, 10, 769, 1, 23, 3, 4, 73, 6.2e-5
|
|
- 3 : 2, 10, 769, 1, 23, 3, 4, 73, 6.3e-5
|
|
- 4 : 2, 10, 771, 1, 23, 3, 4, 73, 6.3e-5
|
|
- 5 : 2, 10, 745, 1, 23, 4, 3, 74, 6.3e-5
|
|
- 6 : 2, 10, 792, 1, 23, 3, 5, 75, 6.3e-5
|
|
- 7 : 2, 10, 714, 2, 16, 5, 3, 103, 5.6e-5
|
|
- 8 : 2, 10, 714, 2, 16, 5, 3, 103, 5.6e-5
|
|
- 9 : 2, 10, 714, 2, 16, 5, 3, 103, 5.6e-5
|
|
- 10: 2, 10, 714, 2, 16, 5, 3, 103, 5.7e-5
|
|
- 11: 2, 10, 714, 2, 16, 5, 3, 103, 6.0e-5
|
|
- 12: 2, 10, 716, 2, 16, 5, 3, 103, 5.6e-5
|
|
- 13: 2, 10, 723, 2, 16, 5, 3, 104, 5.7e-5
|
|
- 14: 2, 10, 714, 3, 12, 5, 3, 132, 5.8e-5
|
|
- 15: 2, 10, 714, 3, 12, 5, 3, 132, 6.2e-5
|
|
- 16: 2, 10, 717, 3, 12, 5, 3, 133, 5.6e-5
|
|
- 17: 2, 10, 728, 3, 12, 5, 3, 135, 6.2e-5
|
|
- 18: 2, 10, 690, 4, 9, 7, 2, 162, 5.7e-5
|
|
- 19: 2, 10, 699, 4, 9, 7, 2, 164, 6.1e-5
|
|
- 20: 2, 10, 692, 5, 8, 7, 2, 191, 6.0e-5
|
|
- 21: 2, 10, 718, 5, 8, 7, 2, 198, 6.2e-5
|
|
- 22: 2, 10, 735, 6, 7, 7, 2, 232, 6.3e-5
|
|
- 23: 2, 10, 705, 8, 5, 7, 2, 281, 6.3e-5
|
|
- 24: 2, 10, 699, 11, 4, 7, 2, 365, 6.1e-5
|
|
- 25: 2, 10, 720, 14, 3, 7, 2, 464, 6.2e-5
|
|
- 26: 2, 10, 733, 22, 2, 7, 2, 713, 6.2e-5
|
|
# no solution starting from log norm2 = 27
|
|
|
|
- 5: # bits
|
|
-ln2: k, N, n, br_l,br_b, ks_l,ks_b, cost, p_error
|
|
- 0 : 1, 11, 754, 1, 23, 5, 3, 99, 5.8e-5
|
|
- 1 : 1, 11, 754, 1, 23, 5, 3, 99, 5.8e-5
|
|
- 2 : 1, 11, 754, 1, 23, 5, 3, 99, 5.9e-5
|
|
- 3 : 1, 11, 755, 1, 23, 5, 3, 99, 5.6e-5
|
|
- 4 : 1, 11, 757, 1, 23, 5, 3, 99, 6.0e-5
|
|
- 5 : 1, 11, 771, 1, 23, 5, 3, 101, 6.0e-5
|
|
- 6 : 1, 11, 754, 2, 15, 5, 3, 140, 5.7e-5
|
|
- 7 : 1, 11, 754, 2, 15, 5, 3, 140, 5.8e-5
|
|
- 8 : 1, 11, 754, 2, 15, 5, 3, 140, 5.8e-5
|
|
- 9 : 1, 11, 754, 2, 15, 5, 3, 140, 5.9e-5
|
|
- 10: 1, 11, 754, 2, 15, 5, 3, 140, 6.3e-5
|
|
- 11: 1, 11, 756, 2, 15, 5, 3, 140, 6.2e-5
|
|
- 12: 1, 11, 766, 2, 15, 5, 3, 142, 6.1e-5
|
|
- 13: 1, 11, 754, 3, 12, 5, 3, 181, 6.0e-5
|
|
- 14: 1, 11, 755, 3, 12, 5, 3, 182, 5.8e-5
|
|
- 15: 1, 11, 758, 3, 12, 5, 3, 182, 6.0e-5
|
|
- 16: 1, 11, 779, 3, 12, 5, 3, 187, 6.0e-5
|
|
- 17: 1, 11, 734, 4, 9, 7, 2, 223, 5.9e-5
|
|
- 18: 1, 11, 749, 4, 9, 7, 2, 227, 6.2e-5
|
|
- 19: 1, 11, 738, 5, 8, 7, 2, 264, 6.3e-5
|
|
- 20: 1, 11, 740, 6, 7, 7, 2, 305, 6.2e-5
|
|
- 21: 1, 11, 742, 7, 6, 7, 2, 347, 6.3e-5
|
|
- 22: 1, 11, 754, 8, 5, 8, 2, 396, 6.3e-5
|
|
- 23: 1, 11, 747, 11, 4, 8, 2, 515, 6.2e-5
|
|
- 24: 1, 11, 760, 15, 3, 8, 2, 690, 6.1e-5
|
|
- 25: 1, 11, 752, 43, 1, 16, 1, 1858, 6.3e-5
|
|
# no solution starting from log norm2 = 26
|
|
|
|
- 6: # bits
|
|
-ln2: k, N, n, br_l,br_b, ks_l,ks_b, cost, p_error
|
|
- 0 : 1, 12, 847, 1, 23, 4, 4, 227, 5.9e-5
|
|
- 1 : 1, 12, 848, 1, 23, 4, 4, 228, 5.7e-5
|
|
- 2 : 1, 12, 850, 1, 23, 4, 4, 228, 6.1e-5
|
|
- 3 : 1, 12, 864, 1, 23, 4, 4, 232, 6.3e-5
|
|
- 4 : 1, 12, 824, 2, 15, 5, 3, 325, 6.2e-5
|
|
- 5 : 1, 12, 824, 2, 15, 5, 3, 325, 6.2e-5
|
|
- 6 : 1, 12, 824, 2, 15, 5, 3, 325, 6.2e-5
|
|
- 7 : 1, 12, 824, 2, 15, 5, 3, 325, 6.3e-5
|
|
- 8 : 1, 12, 825, 2, 15, 5, 3, 325, 6.1e-5
|
|
- 9 : 1, 12, 827, 2, 15, 5, 3, 326, 6.3e-5
|
|
- 10: 1, 12, 858, 2, 15, 4, 4, 331, 5.9e-5
|
|
- 11: 1, 12, 825, 3, 12, 5, 3, 422, 6.0e-5
|
|
- 12: 1, 12, 826, 3, 12, 5, 3, 422, 6.3e-5
|
|
- 13: 1, 12, 796, 3, 12, 8, 2, 426, 6.1e-5
|
|
- 14: 1, 12, 858, 3, 12, 6, 3, 445, 6.3e-5
|
|
- 15: 1, 12, 793, 4, 9, 8, 2, 517, 6.3e-5
|
|
- 16: 1, 12, 805, 4, 9, 8, 2, 525, 6.0e-5
|
|
- 17: 1, 12, 801, 5, 8, 8, 2, 616, 5.9e-5
|
|
- 18: 1, 12, 803, 6, 7, 8, 2, 712, 6.2e-5
|
|
- 19: 1, 12, 806, 7, 6, 8, 2, 809, 6.2e-5
|
|
- 20: 1, 12, 821, 8, 5, 8, 2, 920, 6.3e-5
|
|
- 21: 1, 12, 820, 11, 4, 9, 2, 1214, 6.1e-5
|
|
- 22: 1, 12, 809, 21, 2, 8, 2, 2139, 6.0e-5
|
|
- 23: 1, 12, 821, 43, 1, 17, 1, 4345, 6.3e-5
|
|
# no solution starting from log norm2 = 24
|
|
|
|
- 7: # bits
|
|
-ln2: k, N, n, br_l,br_b, ks_l,ks_b, cost, p_error
|
|
- 0 : 1, 13, 880, 1, 23, 6, 3, 527, 6.3e-5
|
|
- 1 : 1, 13, 893, 1, 23, 6, 3, 534, 6.1e-5
|
|
- 2 : 1, 13, 877, 2, 15, 6, 3, 744, 6.2e-5
|
|
- 3 : 1, 13, 877, 2, 15, 6, 3, 744, 6.2e-5
|
|
- 4 : 1, 13, 877, 2, 15, 6, 3, 744, 6.2e-5
|
|
- 5 : 1, 13, 877, 2, 15, 6, 3, 744, 6.3e-5
|
|
- 6 : 1, 13, 878, 2, 15, 6, 3, 745, 5.8e-5
|
|
- 7 : 1, 13, 879, 2, 15, 6, 3, 746, 6.1e-5
|
|
- 8 : 1, 13, 886, 2, 15, 6, 3, 752, 5.9e-5
|
|
- 9 : 1, 13, 878, 3, 11, 6, 3, 965, 5.7e-5
|
|
- 10: 1, 13, 878, 3, 11, 6, 3, 965, 6.3e-5
|
|
- 11: 1, 13, 882, 3, 11, 6, 3, 969, 6.0e-5
|
|
- 12: 1, 13, 906, 3, 11, 6, 3, 994, 6.3e-5
|
|
- 13: 1, 13, 880, 4, 9, 6, 3, 1187, 6.3e-5
|
|
- 14: 1, 13, 893, 4, 9, 6, 3, 1204, 6.1e-5
|
|
- 15: 1, 13, 866, 5, 8, 9, 2, 1425, 5.9e-5
|
|
- 16: 1, 13, 870, 6, 7, 9, 2, 1649, 6.0e-5
|
|
- 17: 1, 13, 875, 7, 6, 9, 2, 1877, 6.0e-5
|
|
- 18: 1, 13, 891, 8, 5, 9, 2, 2134, 6.2e-5
|
|
- 19: 1, 13, 906, 11, 4, 20, 1, 3005, 6.3e-5
|
|
- 20: 1, 13, 871, 21, 2, 9, 2, 4917, 6.2e-5
|
|
# no solution starting from log norm2 = 21
|
|
|
|
- 8: # bits
|
|
-ln2: k, N, n, br_l,br_b, ks_l,ks_b, cost, p_error
|
|
- 0 : 1, 14, 952, 2, 15, 6, 3, 1700, 6.1e-5
|
|
- 1 : 1, 14, 952, 2, 15, 6, 3, 1700, 6.1e-5
|
|
- 2 : 1, 14, 952, 2, 15, 6, 3, 1700, 6.1e-5
|
|
- 3 : 1, 14, 952, 2, 15, 6, 3, 1700, 6.2e-5
|
|
- 4 : 1, 14, 953, 2, 15, 6, 3, 1702, 6.1e-5
|
|
- 5 : 1, 14, 972, 2, 15, 5, 4, 1704, 6.1e-5
|
|
- 6 : 1, 14, 980, 2, 15, 5, 4, 1717, 6.0e-5
|
|
- 7 : 1, 14, 952, 3, 11, 6, 3, 2206, 6.3e-5
|
|
- 8 : 1, 14, 954, 3, 11, 6, 3, 2210, 6.1e-5
|
|
- 9 : 1, 14, 944, 3, 11, 7, 3, 2217, 5.9e-5
|
|
- 10: 1, 14, 962, 3, 11, 7, 3, 2258, 6.1e-5
|
|
- 11: 1, 14, 943, 4, 9, 7, 3, 2716, 6.3e-5
|
|
- 12: 1, 14, 959, 4, 9, 7, 3, 2761, 6.0e-5
|
|
- 13: 1, 14, 934, 5, 8, 10, 2, 3275, 6.1e-5
|
|
- 14: 1, 14, 941, 6, 7, 10, 2, 3799, 6.3e-5
|
|
- 15: 1, 14, 953, 7, 6, 10, 2, 4352, 6.3e-5
|
|
- 16: 1, 14, 924, 10, 4, 10, 2, 5695, 5.9e-5
|
|
- 17: 1, 14, 926, 14, 3, 10, 2, 7675, 6.3e-5
|
|
- 18: 1, 14, 939, 21, 2, 10, 2, 11273, 6.3e-5
|
|
# no solution starting from log norm2 = 19
|
|
|
|
- 9: # bits
|
|
# no solution at all
|