プログラム詳しくないけどどういうアルゴリズム?
と思って即興で考えてみた

if( 「高卒」かつ「現在の登録日数が7年0日〜7年142日または11年0日〜11年142日または15年<以下同じ>または19年<以下同じ>またはry」 )
 { FA権を得る }
elsif( 「高卒ではない」かつ「現在の登録日数が8年0日〜8年142日または12年0日〜12年142日または16年<以下同じ>または20年<以下同じ>またはry」 )
 { FA権を得る }
else
 { FA権を得ない }

※または〜の部分はforとかでもっとうまく書けるはず

ここまで考えてみてふと思ったのが、2.90までは143日でよかったけど2.94(2.95)では142日になってるよね?ということ
中身見れない情報弱者だから本当にあてずっぽうだけど