samth/test-bugs — Issue #138: decompiler doesn't know about flreal-part and friends
Author: samth
Created: 2012-03-09 02:59:48+00:00
State: open
Labels: gnats-migrated, racket

###### Originally submitted on: Tue Oct 04 11:04:01 -0400 2011

The following definition:

```racket
(define (addfl x) (fl+ (flreal-part x) (flimag-part x)))
```
Produces decompiled output like this, which doesn't indicate that there are unboxed flonums, which I think there are (the disassembly for the safe version is hard to understand).

```racket
(begin
(module addfl ....
(define-values
(_addfl)
(#%closed
addfl33
(lambda (arg0-34)
'#(addfl # 5 0 40 56 #f)
'(flags: preserves-marks single-result)
(fl+ (flreal-part arg0-34) (flimag-part arg0-34)))))))
```
More generally, the big list of inlined and flonum operations in decompiler.rkt seems prone to this kind of problem. Is there a way we could ask the JIT for this information?

##### Release:

```
5.1.3.11--2011-10-03(97ac9aa/g)
```

##### Environment:

```
unix "Linux punge 2.6.38-11-generic #48-Ubuntu SMP Fri Jul 29 19:05:14 UTC 2011 i686 i686
i386 GNU/Linux" (i386-linux/3m) (get-display-depth) = 32
Human Language: english
(current-memory-use) 270462052
Links: (links) = ("gcstat" "raco-git" "disassemble"); (links #:user? #f) = (); (links
#:root? #t) = (); (links #:user? #f #:root? #t) = ()

Collections:
("/home/samth/sw/plt/add-on/5.1.3.11/collects"
(non-existent-path))
("/home/samth/sw/plt/collects"
("db" "honu" "eopl" "tests" "typed" "test-engine" "errortrace" "sgl" "plot"
"combinator-parser" "mzcom" "test-box-recovery" "version" ".gitignore" "defaults"
"deinprogramm" "s-exp" "handin-client" "srpersist" "launcher" "scriblib" "browser"
"unstable" "r5rs" "gui-debugger" "at-exp" "swindle" "scheme" "reader" "frtime" "meta"
"racket" "file" "racklog" "data" "slatex" "net" "wxme" "syntax" "scribblings"
"parser-tools" "ffi" "hierlist" "handin-server" "2htdp" "framework" "mz" "openssl"
"dynext" "datalog" "slideshow" "games" "raco" "picturing-programs" "xml" "texpict"
"graphics" "mzscheme" "profile" "help" "web-server" "schelog" "trace" "make" "algol60"
"mzlib" "rackunit" "icons" "plai" "sirmail" "lazy" "mrlib" "setup" "xrepl"
"string-constants" "typed-racket" "syntax-color" "r6rs" "drscheme" "lang"
"repo-time-stamp" "afm" "planet" "typed-scheme" "info-domain" "config" "guibuilder"
"stepper" "mred" "embedded-gui" "preprocessor" "readline" "htdp" "compiler" "srfi"
"waterworld" "!
macro-debugger" "html" "scribble" "mysterx" "redex" "drracket" "rnrs" "teachpack"
"tex2page" "schemeunit"))

Computer Language: (("Determine language from source") (#(#t print mixed-fraction-e #f #t
none) (default) #() "#lang racket\n" #t #t))
```

###### This bug was converted from Gnats bug [12256](http://bugs.racket-lang.org/old/12256).