1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
var glb:int; procedure recursivetest() modifies glb; { glb := 5; call glb := recursive(glb); return; } procedure {:inline 3} recursive(x:int) returns (y:int) { var k: int; if(x == 0) { y := 1; return; } call k := recursive(x-1); y := y + k; return; }