No Side Quests

JAX's function transformations (jit, grad, vmap) require the transformed function to be "pure." Which behavior would break this requirement and cause incorrect or stale results under jax.jit?

A

Calling jax.numpy operations instead of numpy operations

B

Appending to a Python list defined outside the function on every call

C

Defining a nested helper function inside the traced function

D

Returning a tuple containing multiple arrays