все дело в массиве f и o
думаю его можно улучшить так
var f = ["ов","ова","ко","ский","ская","ин","ина"];
var o = ["евич","евна"];
у тебя не вышло знаешь почему, потому как ирина кончается на 'ина',
так может заканчиваться и женская фамилия
если в массиве 'ко' поставить перед 'ина' все будет как надо
идеально конечно наверняка не будет, но все таки
на самом деле дофига женских имен кончается на 'ина' поэтому надо поставить в самый конец массива