On which platform are you testing? I cannot reproduce with:
import torch

def foo(A, acc_dtype):
    det =  torch.tensor(0, dtype=acc_dtype)
    for i in range(3):
        det += A[i]
    print(det)

A = torch.tensor([-3. , 6. , -3])
foo(A, acc_dtype=torch.float)
foo(A, acc_dtype=torch.double)
A = torch.tensor([-3. , 6. , -3], dtype=torch.double)
foo(A, acc_dtype=torch.float)
foo(A, acc_dtype=torch.double)