Code generator does not respect exponentiation associativity
knl = lp.make_kernel("{:}", "a = (a**2)**3")
>>> print(lp.generate_code_v2(knl).device_code())
#define lid(N) ((int) get_local_id(N))
#define gid(N) ((int) get_group_id(N))
__kernel void __attribute__ ((reqd_work_group_size(1, 1, 1))) loopy_kernel(__global int *__restrict__ a)
{
a[0] = pow(a[0], pow(2, 3));
}
Related (?): pymbolic#13