< Back

Update on Research (First Entry!!!)

November 11, 2020

Note: This is my first entry for my blog, a compendium of my thoughts, articles, references, etc. Is blog even the correct word? I’m still trying to figure out what exactly this will. Hopefully, I’ll be able to write here often.

Life Update: I’m currently in the first quarter of my sophomore year and things are going fairly well considering the state of the world. My work in Herbie has started moving much faster with my exploration of multi-precision expressions and cost/accuracy Pareto curves. Today, I began work on a generic IEEE–754 floating-point plugin for Herbie which will be very useful in the future.

One of the problems I had run into was the lack of subnormals in Racket’s bigflonum library - the language’s MPFR interface. Fortunately, the FFI procedures buried in the math library overall proved to be quite useful, so now I have a parallel set of operations that correctly handles subnormals and checks the range on the result. I emphasize the fact that it is parallel, since I still have access to the original, arguably more practical, set of operations that allow floats to have exponents somewhere on the order of 2^15 and ignore subnormals entirely. On a side note - it would be excellent to see support for limiting the exponent size and doing subnormal arithmetic in Racket’s library; however, I may be the only person in the world currently in need of such features, so… maybe not?

Another problem is the mapping of ordinals since such procedures are done on the Racket side of things, but they have no regard for subnormal numbers and seem to be causing issues on the Herbie side of things. Now that I think about it, it seems that all my problems have to do with subnormal floating point numbers. Go figure.

I see some possibility in separating out this new set of MPFR bindings and creating a generic floating point package that allows a user to specify a float with a given significand and exponent. It would be useful in FPBench since some of the tooling is very broken.

On a separate note: My website is quite new. It’s only been up for one week!! I’ve been working on it recently, and things are looking good. I began using Racket to generate my html pages, so everything is much easier to work with.

Anyways, that’s all my thoughts for today. Maybe next time I’ll write something more technical rather than rambly… Stay tuned for more!!

Last updated: December 16, 2020

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.