Might make sense to solve for the trig and hyperbolic values because that can be done as a polynomial system. Then use those and perhaps myltiple inverses to recover the actual values.
To do this, expand the hyper/trig stuff and substitute with new variables. Also add polynomials to account for the basic identities.
eqns = {Cosh[1]*Cosh[r3] - Sinh[1]*Sinh[r3]*Cos[-a3] ==
0.5*(Cosh[1]*Cosh[2] - Sinh[1]*Sinh[2]*Cos[-1]),
0.5*(Cosh[1]*Cosh[2] - Sinh[1]*Sinh[2]*Cos[-1]) ==
Cosh[2]*Cosh[r3] - Sinh[2]*Sinh[r3]*Cos[1 - a3]};
exprs = TrigExpand[Apply[Subtract, eqns, {1}]];
subs = {Cosh[a_] :> ch[a], Cos[a_] :> c[a], Sinh[a_] :> sh[a],
Sin[a_] :> s[a]};
newpolys = {ch[r3]^2 - sh[r3]^2 - 1, c[a3]^2 + s[a3]^2 - 1};
exprs2 = Join[N[exprs] /. subs, newpolys]
(* Out[21]= {-1.75122291618 + 1.54308063482 ch[r3] -
1.17520119364 c[a3] sh[r3],
1.75122291618 - 3.76219569108 ch[r3] + 1.95960104142 c[a3] sh[r3] +
3.05189779915 s[a3] sh[r3], -1 + ch[r3]^2 - sh[r3]^2, -1 + c[a3]^2 +
s[a3]^2} *)
solns = NSolve[exprs2]
(* Out[52]= {{c[a3] -> 0.820533531224, ch[r3] -> 2.70660617606,
s[a3] -> 0.571598394099,
sh[r3] -> 2.51509780969}, {c[a3] -> -0.820533531224,
ch[r3] -> 2.70660617606, s[a3] -> -0.571598394099,
sh[r3] -> -2.51509780969}, {c[a3] -> -0.371612463763,
ch[r3] -> 1.42036028817, s[a3] -> -0.928387945191,
sh[r3] -> -1.00867405449}, {c[a3] -> 0.371612463763,
ch[r3] -> 1.42036028817, s[a3] -> 0.928387945191,
sh[r3] -> 1.00867405449}} *)
You can pick up some solutions as below.
vars =
Cases[Variables[exprs2], _c | _ch] /. {c[a_] :> ArcCos[c[a]],
s[a_] :> ArcSin[s[a]], ch[a_] :> ArcCosh[ch[a]],
sh[a_] :> ArcSinh[sh[a]]};
realsols = vars /. solns
(* Out[54]= {{0.60845253015, 1.65282378268}, {2.53314012344,
1.65282378268}, {1.95154158767, 0.887493788519}, {1.19005106592,
0.887493788519}} *)
To get some others consider using different branches of the inverse trigs and hyperbolics.
r3
anda3
? $\endgroup$NSolve[]
can do; it was primarily designed for algebraic equations, and has very limited support for transcendental equations. corey's answer shows a different way to proceed. $\endgroup$