Files
powdr/executor
Georg Wiese 43de1e02e5 Multiplicity witgen for range constraints (#2062)
Generates multiplicity columns for global range constraints, by doing a
pass over the data at the very and of witness generation.

```
$ RUST_LOG=debug cargo run pil test_data/std/lookup_via_challenges_range_constraint.asm -o output -f --prove-with plonky3
...
Determined the following global range constraints:
  main::x_low: [0, 7] & 0x7
  main::x_high: [0, 7] & 0x7
Determined the following identities to be purely bit/range constraints:
  Constr::PhantomLookup((Option::None, Option::None), [(main::x_low, main::BIT3)], main::multiplicities);
  Constr::PhantomLookup((Option::None, Option::None), [(main::x_high, main::BIT3)], main::multiplicities_1);
Recorded the following range constraint multiplicity columns:
  main::x_low -> main::multiplicities
  main::x_high -> main::multiplicities_1
Running main machine for 8 rows
[00:00:00 (ETA: 00:00:00)] ████████████████████ 100% - Starting...                                                   Finalizing VM: Main Machine
Transposing 8 rows with 12 columns...
Finalizing remaining rows...
Needed to finalize 8 / 8 rows.
Done transposing.

 == Witgen profile (6 events)
   65.2% (   2.0ms): witgen (outer code)
   33.2% (   1.0ms): Main Machine
    1.6% (  48.1µs): range constraint multiplicity witgen
  ---------------------------
    ==> Total: 3.011167ms
...
```

---------

Co-authored-by: Thibaut Schaeffer <schaeffer.thibaut@gmail.com>
2024-11-11 08:51:13 +00:00
..