my 308:

 Code:
function a($)
    dim $s
    $s = 4,3,3,5,4,4,3,5,5,4,3,6,6,8,8,7,7,9,8,8,6,6,5,5,5,7,6,6,three,four,five,six,seven,eight,nine,ten,eleven,twelve
    while 1
        $a = "" + $a + $ + " is "
        if four=$ | 4=$
            $a = $a + magic.
            exit
        else
            if $>99
                $ = $s[($^)+25-(($^)>7&instr($,y)>)]
            else
                $ = $s[iif($<20,$,$/10+18)] + $s[$ mod 10]*($>19&$ mod 10>)
            endif
            $a = $a + $ + ". "
endfunction
_________________________