We discussed this briefly on NNGS a while ago, and I still think this
patch is a little too optimistic. For example, the winning move could be
the nakade point of 3-pt eye, and you would add all outside liberties as
semeai winning moves, too. Or the move found could be blocking an
important connection, or capturing important cutting stones,...
What I think we need instead is a find_more_semeai_moves() function
in value_moves.c. The moves you are considering would be very good
candidates for such a function.
Btw, in the problem above, I also feel that the semeai module itself
should try R12 before O13. So this looks like a move ordering problem in
do_owl_analyze_semeai.
Arend