Does that mean that:

In the loss function calculation, there should be no boolean data/number from starting to end?
Also, there should be no boolean operator from starting to end (in loss function calculation)?
If I do float_tensor ^ float_tensor, it’s gradient would not be a valid thing?

Why my program didn’t throw any error ? How has it interpreted the differentiation across xor function, and differentiation of boolean numbers ?