procedure ackertrace(i,j) static level local result initial level := 0 write(repl("x",level +:= 1)) if i = 0 then result := j + 1 else if j = 0 then result := ackertrace(i - 1,1) else result := ackertrace(i - 1,ackertrace(i,j - 1)) level -:= 1 return result end