From lib.rs, there is test, checking prove simple:

check what this prove simple means

there are some prove and compile, prove recursion basic function in this file.
Compile:
In the compile function, there are two functions til now I think it is important: instruction_to_airs and customize

Instructions_to_airs:
in this instruction to air, it does:
get air
translate to powdr algebraic expression
collect all the air

Customize for autoprecompile
customize is where the instructions get analysed, the block with high repeated frequency is transferred to pre-compile circuit.

let’s check some functions in this basic block:
the exe.program looks like this

I added this code to export_pil to get only the powdr pre-compile constraints:
if !name.starts_with("PowdrAir") {
println!("Skipping {} (not a PowdrAir)", name);
return None;
}