@certik, can you post the url of the

`symengine.rb`

appveyor badge?
@rwst,

`as_basic`

is buggy. See here, https://github.com/symengine/symengine/pull/762/files#diff-1d26abff6fd98bad3515f8ef609bdf93R215
@isuruf Um, you did mean the superfluous

`move`

?
`Add::from_dict(one, std::move(dict_))`

one here
ah that's not a factor

@CodeMaxx, for #736, you really should implement it for all integers

`p`

. Not just for primes. Reason is that a user might first check if `a`

is a quadratic residue first and then calculate it later. But quadratic residue is already calculated in the is a quadratic residue step
@isuruf It works for all integers. For primes it uses the

`legendre`

functions for others it uses `nthmod_root`

Yes, it works. I was saying that you should implement for non-primes without the usage of

`nthmod_root`

@isuruf I'll take a look at this.

During my research on this topic I had landed on this link . (See the Answer 2 by poncho) So I thought not much could be done as improvement for non-primes as as had been done for the primes.

During my research on this topic I had landed on this link . (See the Answer 2 by poncho) So I thought not much could be done as improvement for non-primes as as had been done for the primes.

Of course we need to factorize

`p`

, which is not so easy for very large numbers, but just use the `prime_factor_multiplicities`

function to get the factors.