Dear Richy, thanks for the quick fix. I gave it a try, but it introduces new issues: After the patch y*(x+1)^(2.0)*(x+1)^(-1.0) now prints x+1.0*y Same for e.g. y*(x+1)^(0.5)*(x+1)^(0.5), which now is written as x+1.0*y. I think instead of if (it->coeff.info(info_flags::integer) && (it->coeff.is_equal(_ex1) || it->coeff.is_equal(_ex_1))) The patch should read: if (it->coeff.is_equal(_ex1) || (it->coeff.is_equal(_ex_1) && it->coeff.info(info_flags::integer))) Best regards, Christian ________________________________ Von: Richard B. Kreckel <kreckel@in.terlu.de> Gesendet: Mittwoch, 5. August 2026 00:34 An: ginac-list@ginac.de <ginac-list@ginac.de> Betreff: [GiNaC-list] Re: Wrongly generated C code Dear Christian, Thanks for your bug report! Can you try the patch attached to issue #7, please? https://codeberg.org/ginac/ginac/issues/7 Please report back if some problem with csrc* output remains. All my best, -richy. -- Richard B. Kreckel <https://in.terlu.de/~kreckel/> _______________________________________________ GiNaC-list mailing list -- ginac-list@ginac.de To unsubscribe send an email to ginac-list-leave@ginac.de https://lists.ginac.de/mailman3/lists/ginac-list.ginac.de/