Is it possible that if we multiply c by a certain number, say q, and get the remainder e, given that we can calculate -f, we can force the resulting -f and e columns to create our lookup?
Thinking outside the box, what if actually multiplying c by certain value or values, forces the result to be where we want, to make the lookup easier.
We could theorectically do it in two steps, getting information from the first product, qc, and introduce a second factor, v, again forcing the result to give us a deterministic result for e and -f. This product, vqc, could then be used to "triangulate" a lookup somehow?
The chosen numbers for v and q may depend on the type of c we are using but I would speculate they would be from a limited set…
This approach would still be O(log l) or less, where log l is the length of c in bits because the largest operation remains finding a square root and remainder. It doesn't matter if we need to do it more than once, the overall complexity in Big Oh remains the same.