Recursive functions with locals and captured constants, in native code
The engine already compiled simple recursive number-crunchers (like a bare Fibonacci) all the way to machine code. It now compiles the recursive functions people actually write: ones that declare their own local variables and ones that capture a constant from an outer scope. The ordinary `function fib(n){ if(n<2){ return n; } var a = fib(n-1); var b = fib(n-2); return a+b; }` now runs as native code - measured about 18.6x faster than the previous tier (19ms vs 356ms on the same work) - and so does a recursion that closes over a constant, `const K = 3; function pow(n){ return n<1 ? 1 : K*pow(n-1); }`. It stays correct by construction: the compiler only takes a body it can prove is pure and numeric, a local is only read once it definitely holds a number on every path that reaches it, and a captured value is checked to be a number once before any native code runs - anything else quietly falls back to the interpreter with an identical result. Proven bit-for-bit against the interpreter across two differential fuzzers (nine thousand generated programs) and a three-tier equivalence check. JavaScript performance (JIT) moves 42 to 44; overall holds at 51.