noir-lang / noir

Noir is a domain specific language for zero knowledge proofs
https://noir-lang.org
Apache License 2.0
872 stars 188 forks source link

Investigate usage of "big add" gates in the bb dsl folder #6085

Open TomAFrench opened 1 week ago

TomAFrench commented 1 week ago

Speaking with Kesha today he mentioned that we could accumulate the intermediate variables created when decomposing a large expression more efficiently by using the "big_add" gates in barretenberg.

https://github.com/AztecProtocol/aztec-packages/blob/184cc882b3f1b90d74f149e46100474263a3665d/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp#L265-L297

We should look at having the dsl folder produce these gates and also how to modify how we break up large expressions to ensure that it's compatible.