Modular Exponentiation by kaki

   \x09 
  \x09\x09\x09  \x09  

  \x09\x09
   \x09
\x09    
\x09   \x09 \x09 

 \x09 
   \x09 \x09 
   \x09\x09\x09\x09\x09 \x09   

 \x09 
\x09 \x09\x09 
\x09 
 
\x09\x09\x09\x09
 

\x09
 \x09



   
 
 
\x09  \x09
 
    \x09 
\x09 \x09\x09
\x09  \x09 
 \x09  \x09
 
\x09   \x09
\x09  \x09
 \x09 
\x09  

\x09

   \x09 
   \x09 
\x09 \x09  
\x09 
 \x09  
 
\x09
 \x09 

\x09

   \x09
 

 

   \x09

\x09

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

Disassemble:

push +2(2b)
push -100(7b)
mark -1(1b)
push +1(1b)
add
swap
push +10(4b)
call +0(0b)
push +10(4b)
push +1000(10b)
call +0(0b)
mod
swap
dup
jneg -1(1b)
pop
puti
end
mark +0(0b)
dup
jzero +1(1b)
dup
push +2(2b)
mod
jzero +2(2b)
copy +1(1b)
swap
push +1(1b)
sub
call +0(0b)
mul
ret
mark +2(2b)
push +2(2b)
div
swap
dup
mul
swap
call +0(0b)
ret
mark +1(1b)
pop
pop
push +1(1b)
ret

download

return to the top page