Circle intersection area Description :
Given x and y positions of two circles along with their radii, output the area of intersection of the two circle.

Input :
You will be given following input :
array 1 = x and y positions of circle a
array 2 = x and y positions of circle b
radius  = radii of the two congruent circles

Input method :
([12 , 20] , [20 , 18] , 12)     ---&gt; two array and number
([12 , 20 , 20 , 18] , 12)       ---&gt; array and a number
(12 , 20 , 20 , 18 , 12)         ---&gt; all five numbers
('12 20' , '20 18' , 12)         ---&gt; 2 strings and a number
('12 20 20 18' , 12)             ---&gt; string and a number
('12 20 20 18 12')               ---&gt; one string


Output :

A non-negative integer (no decimal) equal to area of intersection of two circles.

A string equal to the above mentioned integer.


Note :

Output must be &gt;= 0, since area can't be negative.
In case of decimal round down to nearest integer


Examples :
([0, 0], [7, 0], 5)                   ---&gt; 14

([0, 0], [0, 10], 10)                 ---&gt; 122

([5, 6], [5, 6], 3)                   ---&gt; 28

([-5, 0], [5, 0], 3)                  ---&gt; 0

([10, 20], [-5, -15], 20)             ---&gt; 15

([-7, 13], [-25, -5], 17)             ---&gt; 132

([-12, 20], [43, -49], 23)            ---&gt; 0


Winning criteria :
This is code-golf so shortest code in bytes for each language wins.

Suggestions :

Provide a TIO link so it can be tested.
Provide an explanation so others can understand your code

These are only suggestions and are not mandatory.
JavaScript (ES6), 72 bytes
Alternate formula suggested by @ceilingcat
Takes input as 5 distinct parameters (x0, y0, x1, y1, r).
with(Math)f=(x,y,X,Y,r)=&gt;-(sin(d=2*acos(hypot(x-X,y-Y)/r/2))-d)*r*r*2&gt;&gt;1

Try it online!

JavaScript (ES7), 81 80 77 bytes
Saved 3 bytes thanks to @Neil
Takes input as 5 distinct parameters (x0, y0, x1, y1, r).
(x,y,X,Y,r,d=Math.hypot(x-X,y-Y))=&gt;(r*=2)*r*Math.acos(d/r)-d*(r*r-d*d)**.5&gt;&gt;1

Try it online!
How?
This is based on a generic formula from MathWorld for non-congruent circles:
A = r².arccos((d² + r² - R²) / 2dr) +
    R².arccos((d² + R² - r²) / 2dR) -
    sqrt((-d + r + R)(d + r - R)(d -r + R)(d + r + R)) / 2

where d is the distance between the two centers and r and R are the radii.
With R = r, this is simplified to:
A = 2r².arccos(d / 2r) + d.sqrt((2r - d) * (2r + d)) / 2

And with r' = 2r:
A = (r'².arccos(d / r') + d.sqrt(r'² - d²)) / 2

Note: If d is greater than 2r, Math.acos() will return NaN, which is coerced to 0 when the right-shift is applied. This is the expected result, because d &gt; 2r means that there's no intersection at all.