It seems that the bug is caused by a precision problem in `subst`

, called by `nfrealsign`

in `ell.gp`

. The following GP input demonstrates this (using the latest version of `ell.gp`

, see #11005):

\r src/ext/pari/simon/ell.gp
b = -1554544300737274875964190134520312870631312460283689944298138572669148295776039072867720281361776956435252620954745928376624817557704277432961924925312*y + 23524523971732905757341977352314040726186200302188191824300117738073539522011689544444863977622786771332621915440577829842674416407299864303146477224320
a = Mod(b, y^2 - 229);
\p 38 \\ default precision
K = bnfinit(y^2 - 229);
nfrealsign(K, a, 1) \\ result: 1
nfrealsign(K, a, 2) \\ result: -1 (wrong)
subst(b, y, K.roots[2]) \\ result: -7.695704335233296721 E112, incorrect to this precision
\p 500 \\ increase precision
K = bnfinit(y^2 - 229);
nfrealsign(K, a, 1) \\ result: 1
nfrealsign(K, a, 2) \\ result: 1
subst(b, y, K.roots[2]) \\ result: 55550556624985845118007242443189926820306719407.796355955086894963616120700422308457186069825115395206111444495243228840597412527828358943327267422898011087182852030228685210492253493260963313348652457717717703991690402543456279919008587884729307897541432624377818611055431792706380900043638904108307170236335925883131494247446074384269328376967381902948861789570537169455258630011202296209679102466188417

The value of `K.roots`

does not seem to be the problem; the roots are calculated correctly to the requested precision.