FYI - when I run the code ==================== #include <cln/cln.h> using namespace std; using namespace cln; const cl_univpoly_complex_ring CZ = find_univpoly_ring(cl_C_ring); struct parameter { cl_UP_N& p; }; parameter InitializeParameter(int n) { const cl_UP_N Z1 = CZ->monomial(1, 1); const cl_UP_N Z0 = CZ->monomial(1, 0); cl_R beta=random_F(cl_float(2)); cl_UP_N p=Z1-beta*Z0; parameter param={p}; return param; } int main(void) { default_float_format=float_format(200); parameter initparam=InitializeParameter(3); cout << initparam.p << "\n"; } =================== I get the error message and output ------------------- terminate called after throwing an instance of 'cln::notreached_exception' what(): Internal error: statement in file float/output/cl_F_dprint.cc, line 464 has been reached!! Please send the authors of the program a description how you produced this error! 1*x + -1.36062836991623237822723027868985516363623132879821473160126387357647155893917339260414115079493220011187343026833144928737100377766266870510325749056188223177423109599205862683403974607609610401462854382538584223Aborted --------------------- I haven't been able to reduce the code any further and still get the error - sorry! Michael