UIP produces wrong answers
|
|
Bugzilla Link |
1085 |
Created on |
Sep 18, 2013 15:44 |
Resolution |
FIXED |
Resolved on |
Sep 23, 2013 20:57 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
buguip.sac |
Extended Description
Created an attachment (id=983)
source code to reproduce fault
If the attached is compiled this way, it produces incorrect answers:
sac2c buguip.sac
If compiled this way, it runs correctly:
sac2c buguip.sac -nouip
I believe the problem is that UIP uses the wrong
criterion to decide whether update-in-place (RC(xxx))
can be used. Compiling with -bopt | grep RC shows
this difference.
The fault is related to multiple partitions in a single WL.
The criterion used for any partition is this:
CRIT: X[ iv] = f [ x[iv]];
That is, the modarray does not require access to any element
of X other than X[iv].
The criteria for the entire WL is:
any (CRIT)
but it should be:
all (CRIT)