https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56270
case Fragment::AND_B: {
                    auto& x = subres[0], &y = subres[1];
                    
                    
                    
                    
                    
                    return {(y.nsat + x.nsat) | (y.sat + x.nsat).SetMalleable().SetNonCanon() | (y.nsat + x.sat).SetMalleable().SetNonCanon(), y.sat + x.sat};
                }
                case Fragment::OR_B: {
                    auto& x = subres[0], &z = subres[1];
                    
                    return {z.nsat + x.nsat, (z.nsat + x.sat) | (z.sat + x.nsat) | (z.sat + x.sat).SetMalleable().SetNonCanon()};
                }
                case Fragment::OR_C: {
                    auto& x = subres[0], &z = subres[1];
                    return {INVALID, std::move(x.sat) | (z.sat + x.nsat)};
                }
                case Fragment::OR_D: {
                    auto& x = subres[0], &z = subres[1];
                    return {z.nsat + x.nsat, std::move(x.sat) | (z.sat + x.nsat)};
                }
                case Fragment::OR_I: {
                    auto& x = subres[0], &z = subres[1];
                    return {(x.nsat + ONE) | (z.nsat + ZERO), (x.sat + ONE) | (z.sat + ZERO)};
                }
                case Fragment::ANDOR: {
                    auto& x = subres[0], &y = subres[1], &z = subres[2];
                    return {(y.nsat + x.sat).SetNonCanon() | (z.nsat + x.nsat), (y.sat + x.sat) | (z.sat + x.nsat)};
                }