Ok! Where do the segment and it’s cutter intersect? Solving the equation is way too complicated and you wind up with a pair each of bletcherous quadratics for x and y. How to work out which two of the four combintions are the right ones? Gotta be an easier way.
And there is.
Build a mobius transformation H that moves the centre of
segment to zero and the center of
cutter ∞. The third point is arbitrary (perhaps make the mid point of the two center points fixed).  Actually, it would be nice to have a method that builds a transformaion that moves two points to 0 and ∞ (and on that moves then to 0 and 1) with a k conjugate to the identity. can it be done? … I think so. There the right number of degrees of freedom for there to be a unique solution … but on second though, no. For two arbitrary points on a sphere, you cant move ’em to 0 and ∞ without getting bendy (in most cases). Only exception is when they are already opposite.
Since we know that the circle and its cutter are at right angles, the result will always be
segment' = a circle centered on 0 and
cutter' = a straight line passing through 0. From the radius of
segment' and the slope of
cutter', it’s easy to calculate points
p'. Transform them back by H-1, and we are done! As a bonus, this solution is general, having only the 2 cases where
segment is a positive or a negative circle, and this affects only the sense of the arc, which we already know we have to handle.
I will have to update my code so that the transform correctly handles transforming the point at infinity, and generating the 0,1,∞ transform where one of the starting points is the point at infinity.
[update] Actually, If I move the centers of the circles to 0 and 1, then the points a and b must lie on the semicircles connecting the two and I can derive them from the radii. That means I can calculate them without having to fart around with line slopes.