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)