# Quantum implementation of arcsin

I am looking to implement a quantum version of the arcsinus function. Such a problem is motivated by the HHL algorithm where $$x\mapsto 1/x$$ and $$\arcsin$$ can be used to get $$1/x$$ from the computational basis state into the amplitude.

My questions are based on the paper Optimizing Quantum Circuits for Arithmetic (arxiv link :https://arxiv.org/abs/1805.12445). Their idea is to use a polynomial approximation of the function $$f$$ and to partition the domain $$\Omega$$ of study of $$f$$ : $$\Omega = \bigcup_{i=1}^M \Omega_i \quad \Omega_i\cap \Omega_j = \emptyset \, \forall i \neq j$$ and then perform a case distinction for each input, evaluating a different polynomial for $$x\in \Omega_i$$ and $$y\in \Omega_j$$, $$i\neq j$$. $$M$$ is chosen in order to achieve a certain precision and the degree of the polynomials are all bounded by a constant $$d$$.

Evaluating a single polynomial $$P(x) = \sum_{i=0}^d a_ix^i$$ can be done using the Horner scheme, where one iteratively performs a multiplication by $$x$$ and an addition by $$a_i$$ for $$i\in \{d, d-1, \cdots 0\}$$ :

$$a_d \mapsto a_dx+a_{d-1} \mapsto a_dx^2+a_{d-1}x + a_{d-2} \mapsto \cdots \mapsto P(x)$$

At iteration $$i$$, the last iterate is added by $${a_i}$$, while this does not represent any difficulty in classical computing, a register has to hold the set of coefficients $${a_i}$$, and has to be changed at each iteration. In their paper, the authors assume that $$\mathrm{NEXT}_a$$ implements such an operation. My question : How can one implement efficiently the function $$\mathrm{NEXT}_a$$ ?