# Is there a way to rewrite this without the ceil() function?

$$L = \left\lceil \frac{\sqrt{v-4 \times N}-1}{4} \right\rceil$$

This is a line in my program but I cannot get ceil() to work in GMP, so I'd like to approach this mathematically and just rewrite it so it doesn't need ceil().

-
What are $v$ and $N$? Fractions, integers? – Antonio Vargas Nov 28 '12 at 0:14
@AntonioVargas Integers – KaliMa Nov 28 '12 at 0:36
Does floor work for you? – hardmath Nov 28 '12 at 0:58
@hardmath Yes, floor is fine -- ceil is the only problem – KaliMa Nov 28 '12 at 1:13
ceil(x) = - floor(-x). – coffeemath Nov 28 '12 at 2:42

$$v > \frac{\sqrt{v-4 \times N}-1}{4}$$
$$L = \left\lceil \frac{\sqrt{v-4 \times N}-1}{4} \right\rceil = v - \left\lfloor v - \frac{\sqrt{v-4 \times N}-1}{4} \right\rfloor$$
'Nuff said? There are other ways to do it, but you have $v$ on hand and this is probably the fewest additional operations (and avoids any case logic). Certainly worth a comment in the code so you don't have a long moment of confusion months down the road...