my first 'gregorian' code for 160

function a($)
    dim $b
    $ = split($,'/')
    $b = 0,0,3,0,1,0,1,0,0,1,0,1,0
    $a = ''+$[0]+'/'+$[1]+'/'+ (31-$b[$[1]] + (($[0] mod 4=) * (($[0] mod 400=)+($[0] mod 100>))*(2=$[1])))
endfunction

with additional two test cases:

2400/02=2400/02/29
2100/02=2100/02/28
_________________________