https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67945
--- Comment #8 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- Actually, the problem seems to be that we're oscillating between forms. The old fold-const.c folders converted sequences of sqrts and cbrts into a pow call while tree-ssa-math-opts.c goes the other way. In that situation things were well-controlled: we did both transformations only once, in that order. Moving the fold-const.c folders to match.pd means that we try them many times and that ultimately they win.