// -p compile-invoke
import "primitives/std.lib";

component exponent(base: 32, exp: 4) -> (out: 32) {
  cells { pow = std_reg(32); }
  wires {
    out = pow.out;
  }
  control { }
}

component main() -> () {
  cells {
    r = std_reg(32);
    const3 = std_const(4,3);
    exp0 = exponent();
  }
  wires {
  }
  control {
    @static(0) invoke exp0(base = r.out, exp = const3.out)();
  }
}