tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] Outdated tcc: Major bug in the pow function resulting in:


From: Detlef Riekenberg
Subject: [Tinycc-devel] Outdated tcc: Major bug in the pow function resulting in: 0.993013 = 0.860892
Date: Sat, 6 Jan 2024 01:10:47 +0100


Hi Aurélie Tisson

Thanks for your report.

This was fixed at least more than 52 month ago.
(I tried tcc 0.9.27+git20200815.62c30a4a,
and that version works without issues)

Others have also already tested your example
als also discovered, that this is fixed.

Currently, we have a tcc 0.9.28rc and waiting for @grishka
to make a release from the current "mob" branch.

https://repo.or.cz/tinycc.git


#######

Hello grishka, new bug reports about issues,
which are fixed long ago arrive regulary.

A new release is really needed.
What can we do, to help you to prepare a 0.9.28 release?

Of course, there might be more issues in 0.9.28rc....
As example, "i386-tcc" on a x86_64 linux machine
is missing additional search dirs:
include: "/usr/i686-linux-gnu/include"
lib: "/usr/i686-linux-gnu/lib"
crt: "/usr/i686-linux-gnu/lib"

(there are no "crt*.o" files, "libc*" files and similar
in "/usr/lib/i386-linux-gnu")


Please do a release.
Please ....
Please .................


Bitte.
Ein Release.
Danke.
Wenn du Hilfe brauchst, melde dich bitte.
Ich habe Zeit, aber keine Berechtigung.


--
Regards ... Detlef


Am 05.01.24, 15:57 schrieb "Aurélie Tisson (BastaPrint)" <aurelie.tisson@bastaprint.com>:
Hello,
I discovered that TCC and GCC gave different results in a long algorithm.
I focused on the bug, and I could reduce the code to the following lines. If I reduce further the code, the bug disappears.

I think the code does not require further comments...  I'm using  tcc version 0.9.27 (x86_64 Windows)

The same calculation gives me 2 different values : 0.993013   0.860892 wheras it should give  0.993013  only (tells GCC).

#include <stdio.h>
#include <math.h>
int main(){
    double s = .7;
    double a = (1. - .1 * s) / (1. + .1 * s);
    double b = pow(a, .05);
    double c = pow( ((1. - .1 * s) / (1. + .1 * s)), .05);

    printf("%f   %f \n", b, c);
}

==> can anyone reproduce this?
==> any clue about the cause?

Thanks a lot !
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]