This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: C66 float point precision lower than cpu float,reason and any solution?

Part Number: TDA4VM


hi,  I'm using the C66 processor on TDA4 to offload the cpu loading. I noticed that the c66 float point calculation precision is much lower than A72.
I'd like to know C66 float point precision so low, and is there any solution like any processor config can help to improve?

I can verify it by running a simple iteration program like this:
        float temp0 = 1.23456789;
        float temp1 = 2.3456789;
        float temp2 = 0;
        for (int i=0;i<50;i++)
        {
            temp2 += temp0*temp1;
            printf(" res %20.20f \n",temp2);
            temp0 /= 2;
            temp1 *= 3;
        }

        double dtemp0 = 1.23456789;
        double dtemp1 = 2.3456789;
        double dtemp2 = 0;
        for (int i=0;i<50;i++)
        {
            dtemp2 += dtemp0*dtemp1;
            dtemp0 /= 2;
            dtemp1 *= 3;
            printf(" dres %20.20f \n",dtemp2);
        }
   The result comparation as follow:
-- A72 double vs A72 float:

C66 float vs A72 double:

Thank you in advance for the support