Almost forgot... here is Jochen's 146

 Code:
function a($)
    dim $b, $c, $d
    $b = 0^$
    while $
        $c = (($b-($^) & 1)+1) * right($,1)
        $d = $d + $c-9*($c>9)
        $a = ($d mod 10 =) * (($b=15&$=3)|$b=16&$>3&$<7) * $
        $ = left($,~)
endfunction