# Common input precomputing for selectors

**URL:** <https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185>\
**Category:** Research\
**Tags:** plonk\
**Created:** [22 May 2022 03:53 UTC](https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185 "2022-05-22T03:53:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![nier](https://avatars.discourse-cdn.com/v4/letter/n/4da419/32.png) [@nier](https://www.plonk.cafe/u/nier)\
**Post date:** [22 May 2022 03:53 UTC](https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185/1 "2022-05-22T03:53:54Z")

</div>

The selector polynomials q\_L, q\_R, q\_O, q\_M, q\_C are common public inputs and specific to a particular circuit. In this case, the verifier needs to calculate these 5 polynomials as well.

My question is that what the computation cost for verifier, we need to use FFT to evaluate degree n polynomials. How fast it compares to MSM?

---

<div class="post-metadata">

**Author:** ![david](https://dub1.discourse-cdn.com/flex017/user_avatar/www.plonk.cafe/david/32/109_2.png) [@david](https://www.plonk.cafe/u/david)\
**Post date:** [25 May 2022 14:21 UTC](https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185/2 "2022-05-25T14:21:52Z")

</div>

These can be precomputed in commitment form during setup (so not part of the public input), so you could see this as free.

If I remember correctly the verifier does not evaluate these and keep them in commitment form.

---

<div class="post-metadata">

**Author:** ![nier](https://avatars.discourse-cdn.com/v4/letter/n/4da419/32.png) [@nier](https://www.plonk.cafe/u/nier)\
**Post date:** [30 May 2022 19:14 UTC](https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185/3 "2022-05-30T19:14:15Z")

</div>

So basically, we still have to setup them every time for a new circuit.

However, if the verifier doesn’t evaluate/setup it as you said, how can the verifier trust it’s calculated correctly?

---

<div class="post-metadata">

**Author:** ![david](https://dub1.discourse-cdn.com/flex017/user_avatar/www.plonk.cafe/david/32/109_2.png) [@david](https://www.plonk.cafe/u/david)\
**Post date:** [31 May 2022 14:26 UTC](https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185/4 "2022-05-31T14:26:22Z")

</div>

Yeah they’ll be different for every circuits.

If the verifier doesn’t perform this setup themselves, they have to trust the person who give them the precomputed stuff.

---

<div class="post-metadata">

**Author:** ![nier](https://avatars.discourse-cdn.com/v4/letter/n/4da419/32.png) [@nier](https://www.plonk.cafe/u/nier)\
**Post date:** [31 May 2022 18:11 UTC](https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185/5 "2022-05-31T18:11:56Z")

</div>

Yeah, that makes sense. Thanks!
