How do you programmatically get intersection points of 2 circles given the same centers, radii, and sweep angle? The 2 circles are not exactly one whole circle.

I have an equation for each circle:
(x1-h1)2 + (y1-k1)2 = r12
(x2-h2)2 + (y2-k2)2 = r22
Please help thanks.
The way to do this is with parametric equations and polar points instead of Cartesian form. Here is a dynamic example.
This is not the place for an excessive tutorial on precalculus material, but basically, here is what is going on there:
We can define an equation for a circle, centered at the origin, with a given radius $r$, and a given radian angle sweep $t$ from $t_0$ to $t_1$ as
\begin{align*} x(t)&=r\cos(t) \\ y(t)&=r\sin(t), \, t_0\leq t \leq t_1. \end{align*}
So simply define two of these, with the same radius $r$, but different angular sweeps over $t$. Now in the example I made above, If you know the angular sweep, it is quite simple. I chose to make one circle sweep radian angle $t$ over $1 \leq t \leq 3.5$, while the other circle sweeps over $2.5 \leq t \leq 5$.
Thus the intersection of these two sets is the start and end points of where these circles meet, those being the polar points, $$\left(r\cos \left(2.5\right),\space r\sin \left(2.5\right)\right)$$
and
$$\left(r\cos \left(3.5\right),\space r\sin \left(3.5\right)\right).$$
Finally, we can parametrically define the entire intersection of these two circle segment examples with a third circle segment, that being in this case,
\begin{align*} x(t)&=r\cos(t) \\ y(t)&=r\sin(t), \, 2.5\leq t \leq 3.5. \end{align*}
Conversion from Cartesian to polar, and back is quite a simple task that I am sure you can sort out as needs be. Programmatically, this seems like one sensible way to work. It is at least the first thing that comes to my mind.