Help writing ReductionKernel that can find the largest of two arrays?

So I am learning pyCUDA on my own through Hands-On GPU Programming with Python and CUDA. I am trying to do one of the end of chapter questions in chapter 3. The question asks that I create a ReductionKernel that takes in two complex64 arrays and finds the largest element amongst both of them.

I think I have most of it down but either the map_expr or the reduce_expr is wrong. The solutions in the back of the book are telling me to use the c operator “?” for both the point-wise and the reduce operations which I believe I am doing.

I’m not exactly sure what the compilation error here is saying. Are my types wrong? That would be why they can’t encode?

Any help you guys could offer would be greatly appreciated

Very Respectfully,