{
    \parindent=1cm
    \begin{tabular}{l@{\extracolsep{1cm}}l}
         Идея: & Артем Васильев\\
         Разработка: & Артем Васильев\\
     \end{tabular}
}

Докажем по индукции, что можно получить все числа вида $\sqrt{\frac ab}$, $b \ge 1$. Для этого реализуем процедуру, подобную алгоритму Евклида. Базой индукции будет случай $a = b = 1$, для этого достаточно вычислить \t{cos(0)}. Рассмотрим переходы.

\begin{itemize}
\item $a < b$. Нарисуем прямоугольный треугольник с катетами $\sqrt{a}$ и $\sqrt{b - a}$. Его гипотенуза равна $\sqrt{a + (b - a)} = \sqrt{b}$. Посмотрим на угол, противолежащий катету $\sqrt{a}$. Тангенс этого угла равен $\sqrt{ \frac {a}{b-a} }$, а синус~--- $\sqrt{ \frac ab }$.

Таким образом, чтобы от $\sqrt{ \frac {a}{b-a} }$ перейти к $\sqrt{ \frac ab }$, достаточно применить \t{atan}, а затем \t{sin}.

\item $a > b$. Научимся переворачивать дробь $\sqrt{ \frac ab }$, таким образом, сводиться к предыдущему случаю. Рассмотрим прямоугольный треугольник с катетами $\sqrt{a}$ и $\sqrt{b}$. Тогда тангенсы двух острых углов равны $\sqrt{ \frac ab }$ и $\sqrt{ \frac ba }$. Чтобы заменить угол $\alpha$ на угол $\frac {\pi}2 - \alpha$, можно, к примеру, вычислить \t{acos(sin($\alpha$))}.

В итоге, чтобы перевернуть дробь $\sqrt{ \frac ab }$, можно применить четыре операции: \t{atan}, \t{sin}, \t{acos}, \t{tan}.
 
\end{itemize}

Применяя этот алгоритм к паре $(a^2, b^2)$, мы получим искомое выражение. Его длина не превосходит $4 \max(a, b)^2$.