loopy doesn't respect precedence for "and" outside "or"
import loopy as lp
knl = lp.make_kernel(
"{[i] : 0 <= i <= 10}",
"""
<>pred = (i % 2 == 0 and (i % 3 == 0 or i > 9))
if pred
out[i] = i
end
""",
"...")
import pyopencl as cl
c = cl._csc()
#q = cl.CommandQueue(c)
cgr = lp.generate_code_v2(knl)
print(cgr.device_code())
generates
pred = (i % 2) == 0 && (i % 3) == 0 || i > 9;
"&&" has higher precedence than "||", so loopy seems to have misrepresented the precedence.
Note that this is unrelated to !41 (merged), although it showed up when I was diagnosing the warning.