A = (-1.1281481481481512, -1.1110288065843537)
B = (1.1395061728395006, -1.1110288065843537)

Tool: Hyperbolic Line (command HyperbolicLine)
Select two points
Input: A, B
Output: e

A' = Mirror(A, x^(2) + y^(2) = 1)
d = Circle(A', A, B)
C, D = Intersect(d, x^(2) + y^(2) = 1)
e = CircumcircleArc(D, A, C)

Tool: Hyperbolic Segment (command HyperbolicSegment)
Select two points
Input: A, B
Output: k

A' = Mirror(A, x^(2) + y^(2) = 1)
d = Circle(A', A, B)
C, D = Intersect(d, x^(2) + y^(2) = 1)
e = CircumcircleArc(D, A, C)
f = Circle(B, A)
g = Circle(A, B)
E = Intersect(f, g, 2)
F = Intersect(f, g, 1)
h = Segment(E, F)
G = Intersect(e, h, 1)
k = CircumcircleArc(A, G, B)

Tool: Hyperbolic Ray (command HyperbolicRay)
Select the origin of the ray and then another of its points
Input: B, A
Output: e

A' = Mirror(A, x^(2) + y^(2) = 1)
d = CircumcircleArc(B, A, A')
C, D = Intersect(d, x^(2) + y^(2) = 1)
K = If(Defined[C], C, D)
e = CircumcircleArc(B, A, K)

Tool: Hyperbolic Perpendicular Through An Exterior Point (command HyperbolicPerpendicularExteriorPoint)
Select two points of a line and then the external point through which the perpendicular passes
Input: A, B, E
Output: f

A' = Mirror(A, x^(2) + y^(2) = 1)
d = CircumcircleArc(A', A, B)
E' = Mirror(E, d)
E'_1 = Mirror(E, x^(2) + y^(2) = 1)
e = Circle(E'_1, E, E')
C, D = Intersect(e, x^(2) + y^(2) = 1)
f = CircumcircleArc(D, E, C)

Tool: Hyperbolic Perpendicular Through An Inner Point (command HyperbolicPerpendicularInnerPoint)
Select a line and one of its points
Input: d, C
Output: g

C' = Mirror(C, x^(2) + y^(2) = 1)
f = Tangent(C, d)
C'' = Mirror(C', f)
e = Circle(C'', C, C')
D, E = Intersect(e, x^(2) + y^(2) = 1)
g = CircumcircleArc(E, C, D)

Tool: Hyperbolic Angle Bisector (command HyperbolicAngleBisector)
Select a point on the first side, the vertex and a point on the second side, describing the angle anticlockwise
Input: C, A, B
Output: q

A' = Mirror(A, x^(2) + y^(2) = 1)
d = CircumcircleArc(A', A, B)
e = CircumcircleArc(C, A, A')
f = Tangent(A, e)
g = Tangent(A, d)
h = LineBisector(C, A)
i = LineBisector(A, B)
D = Intersect(f, h)
E = Intersect(i, g)
j = AngularBisector(D, A, E)
k = OrthogonalLine(A, j)
A'' = Mirror(A', k)
p = Circle(A', A, A'')
F, G = Intersect(p, x^(2) + y^(2) = 1)
q = CircumcircleArc(G, A, F)

Tool: Hyperbolic Angle Amplitude (command HyperbolicAngleAmplitude)
Select a point on the first side, the vertex, and a point on the second side, describing the angle counterclockwise
Input: C, A, B
Output: α

A' = Mirror(A, x^(2) + y^(2) = 1)
d = CircumcircleArc(A', A, B)
e = CircumcircleArc(C, A, A')
f = Tangent(A, e)
g = Tangent(A, d)
D = Midpoint(A, B)
E = Midpoint(A, C)
D' = Mirror(D, d)
E' = Mirror(E, e)
h = Segment(D, D')
i = Segment(E, E')
F = Intersect(d, h, 1)
G = Intersect(e, i, 1)
j = LineBisector(A, F)
k = LineBisector(G, A)
H = Intersect(g, j)
I = Intersect(f, k)
α = Angle(I, A, H)

Tool: Hyperbolic Symmetric Parallel (command HyperbolicSymmetricParallel)
Select a line and an external point
Input: d, C
Output: h

C' = Mirror(C, d)
C'_1 = Mirror(C, x^(2) + y^(2) = 1)
e = CircumcircleArc(C', C, C'_1)
f = Tangent(C, e)
D = Mirror(C'_1, f)
g = Circle(C'_1, C, D)
E, F = Intersect(g, x^(2) + y^(2) = 1)
h = CircumcircleArc(E, C, F)

Tool: Hyperbolic Asymptotic Parallels (command HyperbolicAsymptoticParallels)
Select a line and an external point
Input: d, C
Output: k, p

D = Center(d)
f, g = Tangent(D, x^(2) + y^(2) = 1)
E = Intersect(x^(2) + y^(2) = 1, g)
F = Intersect(x^(2) + y^(2) = 1, f)
C' = Mirror(C, x^(2) + y^(2) = 1)
e = Circle(C', C, F)
h = Circle(C', C, E)
G, H = Intersect(e, x^(2) + y^(2) = 1)
I, J = Intersect(h, x^(2) + y^(2) = 1)
k = CircumcircleArc(J, C, I)
p = CircumcircleArc(H, C, G)

Tool: Hyperbolic Parallel With Common Perpendicular (command HyperbolicParallelWCP)
Select a line, one of its perpendiculars and a point not on the first line
Input: d, e, D
Output: h

C = Point(d)
C' = Mirror(C, x^(2) + y^(2) = 1)
f = Tangent(C, d)
C'' = Mirror(C', f)
D' = Mirror(D, x^(2) + y^(2) = 1)
D'_1 = Mirror(D, e)
g = Circle(D'_1, D, D')
E, F = Intersect(g, x^(2) + y^(2) = 1)
h = CircumcircleArc(F, D, E)

Tool: Hyperbolic Midpoint (command HyperbolicMidpoint)
Select two points
Input: A, B
Output: Z

A' = Mirror(A, x^(2) + y^(2) = 1)
e = Circle(A', A, B)
f = Tangent(A, e)
g = Tangent(B, e)
B' = Mirror(B, x^(2) + y^(2) = 1)
A'' = Mirror(A', f)
B'' = Mirror(B', g)
h = Circle(A'', A, A')
k = Circle(B, B', B'')
C, D = Intersect(h, x^(2) + y^(2) = 1)
E, F = Intersect(k, x^(2) + y^(2) = 1)
i = Tangent(E, x^(2) + y^(2) = 1)
j = Tangent(F, x^(2) + y^(2) = 1)
l = Tangent(C, x^(2) + y^(2) = 1)
m = Tangent(D, x^(2) + y^(2) = 1)
G = Intersect(j, l)
p = Circle(G, C)
H = Intersect(i, m)
q = Circle(H, E)
I = Intersect(j, m)
r = Circle(I, D)
J = Intersect(i, l)
s = Circle(J, C)
K, L = Intersect(s, e)
M_1 = If(Defined[K] ∧ Defined[L], If[(x(K))^(2) + (y(K))^(2) < 1, K, L], K)
M, N = Intersect(r, e)
M_2 = If(Defined[M] ∧ Defined[N], If[(x(M))^(2) + (y(M))^(2) < 1, M, N], M)
O, P = Intersect(q, e)
M_3 = If(Defined[O] ∧ Defined[P], If[(x(O))^(2) + (y(O))^(2) < 1, O, P], O)
Q, R = Intersect(e, p)
M_4 = If(Defined[Q] ∧ Defined[R], If[(x(Q))^(2) + (y(Q))^(2) < 1, Q, R], Q)
Z = If(Defined[M_1], M_1, If[Defined[M_2], M_2, If[Defined[M_3], M_3, M_4]])

Tool: Hyperbolic Perpendicular Bisector (command HyperbolicPerpendicularBisector)
Select the endpoints of a segment
Input: A, B
Output: c_1

A' = Mirror(A, x^(2) + y^(2) = 1)
e = Circle(A', A, B)
B' = Mirror(B, x^(2) + y^(2) = 1)
f = Tangent(A, e)
g = Tangent(B, e)
A'' = Mirror(A', f)
B'' = Mirror(B', g)
h = Circle(A'', A, A')
k = Circle(B', B'', B)
C, D = Intersect(h, x^(2) + y^(2) = 1)
E, F = Intersect(k, x^(2) + y^(2) = 1)
i = Tangent(C, x^(2) + y^(2) = 1)
j = Tangent(D, x^(2) + y^(2) = 1)
l = Tangent(E, x^(2) + y^(2) = 1)
m = Tangent(F, x^(2) + y^(2) = 1)
G = Intersect(i, m)
p = Circle(G, C)
H = Intersect(i, l)
q = Circle(H, C)
I = Intersect(j, m)
r = Circle(I, D)
J = Intersect(j, l)
s = Circle(J, D)
K, L = Intersect(q, e)
M_1 = If(Defined[K] ∧ Defined[L], If[(x(K))^(2) + (y(K))^(2) < 1, K, L], K)
M, N = Intersect(r, e)
M_2 = If(Defined[M] ∧ Defined[N], If[(x(M))^(2) + (y(M))^(2) < 1, M, N], M)
O, P = Intersect(p, e)
M_3 = If(Defined[O] ∧ Defined[P], If[(x(O))^(2) + (y(O))^(2) < 1, O, P], O)
Q, R = Intersect(s, e)
M_4 = If(Defined[Q] ∧ Defined[R], If[(x(Q))^(2) + (y(Q))^(2) < 1, Q, R], Q)
Z = If(Defined[M_1], M_1, If[Defined[M_2], M_2, If[Defined[M_3], M_3, M_4]])
Z' = Mirror(Z, x^(2) + y^(2) = 1)
n = Tangent(Z, e)
Z'' = Mirror(Z', n)
t = Circle(Z', Z, Z'')
S, T = Intersect(t, x^(2) + y^(2) = 1)
c_1 = CircumcircleArc(T, Z, S)

Tool: Hyperbolic Circle Through Point (command HyperbolicCircleThroughPoint)
Select the centre of the circle and then a point through which the circle passes
Input: A, B
Output: p'

f = Line(A, (0, 0))
g = OrthogonalLine(A, f)
C, D = Intersect(x^(2) + y^(2) = 1, g)
h = Tangent(C, x^(2) + y^(2) = 1)
E = Intersect(h, f)
k = Circle(E, C)
B' = Mirror(B, k)
p = Circle((0, 0), B')
p' = Mirror(p, k)

Tool: Hyperbolic Circle With Given Radius (command HyperbolicCircleWithGivenRadius)
Select the centre of the circle, and then the endpoints of a segment congruent to the radius
Input: A, B, C
Output: q'

f = Line(A, (0, 0))
g = OrthogonalLine(A, f)
D, E = Intersect(x^(2) + y^(2) = 1, g)
h = Tangent(D, x^(2) + y^(2) = 1)
F = Intersect(f, h)
e = Circle(F, D)
i = Line(B, (0, 0))
j = OrthogonalLine(B, i)
G, H = Intersect(x^(2) + y^(2) = 1, j)
k = Tangent(G, x^(2) + y^(2) = 1)
I = Intersect(i, k)
p = Circle(I, G)
C' = Mirror(C, p)
q = Circle((0, 0), C')
q' = Mirror(q, e)

Tool: Hyperbolic Reflection in a Line (command HyperbolicReflectionLine)
Select the point to be reflected, and then the line
Input: C, e
Output: C'

C' = Mirror(C, e)

Tool: Hyperbolic Reflection in a Point (command HyperbolicReflectionPoint)
Select the point to be reflected, and then the centre of the reflection
Input: B, A
Output: B'''

f = Line(A, (0, 0))
g = OrthogonalLine(A, f)
C, D = Intersect(x^(2) + y^(2) = 1, g)
h = Tangent(C, x^(2) + y^(2) = 1)
E = Intersect(f, h)
e = Circle(E, C)
B' = Mirror(B, e)
B'' = Mirror(B', (0, 0))
B''' = Mirror(B'', e)