Patch add scf screening

Valgrind says this:
==3833== Conditional jump or move depends on uninitialised value(s)
==3833==    at 0x4C5AC7: find_imax_ (compute_aabb_batch.F:587)
==3833==    by 0x4C56CB: compute_aabb_integrals_ (compute_aabb_batch.F:529)
==3833==    by 0x4C7635: compute_aabb_batch (compute_aabb_batch.F:235)
==3833==    by 0x47E1C7: sip::Interpreter::handle_user_sub_op(int) (interpreter.cpp:1029)
==3833==    by 0x47A257: sip::Interpreter::interpret(int, int) (interpreter.cpp:133)
==3833==    by 0x479F57: sip::Interpreter::interpret() (interpreter.cpp:87)
==3833==    by 0x4693D1: main (main.cpp:201)
==3833==  Uninitialised value was created by a heap allocation
==3833==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3833==    by 0x4C3F5F: compute_aabb_integrals_ (compute_aabb_batch.F:300)
==3833==    by 0x4C7635: compute_aabb_batch (compute_aabb_batch.F:235)
==3833==    by 0x47E1C7: sip::Interpreter::handle_user_sub_op(int) (interpreter.cpp:1029)
==3833==    by 0x47A257: sip::Interpreter::interpret(int, int) (interpreter.cpp:133)
==3833==    by 0x479F57: sip::Interpreter::interpret() (interpreter.cpp:87)
==3833==    by 0x4693D1: main (main.cpp:201)


After looking at the code, an array called temp is being passed down.
temp seems to be uninitialized in the calling routine. Is this the expected behavior or a bug?