{"action":"created","issue":{"url":"https://api.github.com/repos/insieme/insieme/issues/35","labels_url":"https://api.github.com/repos/insieme/insieme/issues/35/labels{/name}","comments_url":"https://api.github.com/repos/insieme/insieme/issues/35/comments","events_url":"https://api.github.com/repos/insieme/insieme/issues/35/events","html_url":"https://github.com/insieme/insieme/issues/35","id":67321684,"number":35,"title":"Simplify with unsigned constants","user":{"login":"klois","id":6360140,"avatar_url":"https://avatars.githubusercontent.com/u/6360140?v=3","gravatar_id":"","url":"https://api.github.com/users/klois","html_url":"https://github.com/klois","followers_url":"https://api.github.com/users/klois/followers","following_url":"https://api.github.com/users/klois/following{/other_user}","gists_url":"https://api.github.com/users/klois/gists{/gist_id}","starred_url":"https://api.github.com/users/klois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klois/subscriptions","organizations_url":"https://api.github.com/users/klois/orgs","repos_url":"https://api.github.com/users/klois/repos","events_url":"https://api.github.com/users/klois/events{/privacy}","received_events_url":"https://api.github.com/users/klois/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-04-09T09:35:54Z","updated_at":"2015-04-09T14:10:58Z","closed_at":null,"body":"Simplify seems to convert unsigned integers to signed ones. When trying to simplify e.g. 7u it is converted to 7. The check for type maintenance at https://github.com/insieme/insieme/blob/master/code/core/src/transform/simplify.cpp#L268 fails and the simplification is nullified. Same happens also with other expressions with unsigned literals. E.g. the simplify function has no effect on \r\n\r\n\t11u+1-11u- *v51-11u- *v51/1*1\r\n(parenthesis skipped by pretty printer) while it should be\r\n\r\n\t12u\r\nIt works with signed integer.\r\n"},"comment":{"url":"https://api.github.com/repos/insieme/insieme/issues/comments/91243789","html_url":"https://github.com/insieme/insieme/issues/35#issuecomment-91243789","issue_url":"https://api.github.com/repos/insieme/insieme/issues/35","id":91243789,"user":{"login":"HerbertJordan","id":4097849,"avatar_url":"https://avatars.githubusercontent.com/u/4097849?v=3","gravatar_id":"","url":"https://api.github.com/users/HerbertJordan","html_url":"https://github.com/HerbertJordan","followers_url":"https://api.github.com/users/HerbertJordan/followers","following_url":"https://api.github.com/users/HerbertJordan/following{/other_user}","gists_url":"https://api.github.com/users/HerbertJordan/gists{/gist_id}","starred_url":"https://api.github.com/users/HerbertJordan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HerbertJordan/subscriptions","organizations_url":"https://api.github.com/users/HerbertJordan/orgs","repos_url":"https://api.github.com/users/HerbertJordan/repos","events_url":"https://api.github.com/users/HerbertJordan/events{/privacy}","received_events_url":"https://api.github.com/users/HerbertJordan/received_events","type":"User","site_admin":false},"created_at":"2015-04-09T14:10:58Z","updated_at":"2015-04-09T14:10:58Z","body":"The arithmetic utilities are not able to deal with unsigned integers so far -- nor are they capable of dealing with different levels of precision. So the given check is there to avoid inadvertently introducing invalid values.\r\n\r\nIs this critical for your work?"}}