● Nonrecursive program
while(v!=0){
t := u mod v ;
u := v ;
v := t ;
}
gcd := u ;
● recursion removal
easy with single recursion
more efficient