provekit_acir 1.0.0-beta.11-alpha.2

ACIR is the IR that the VM processes, it is analogous to LLVM IR
Documentation
syntax = "proto3";

package acvm.acir.native;

message Field { bytes value = 1; }

message Witness { uint32 index = 1; }

message Expression {
  repeated MulTerm mul_terms = 1;
  repeated LinearCombination linear_combinations = 2;
  Field q_c = 3;

  message MulTerm {
    Field q_m = 1;
    Witness witness_left = 2;
    Witness witness_right = 3;
  }

  message LinearCombination {
    Field q_l = 1;
    Witness witness = 2;
  }
}