I am not sure what if this is what you are looking for but the Pretty Diff tool performs a literal text difference without regard to the contents it is comparing. Unfortunately it does illustrate differences in white space, but only after both contents are first minified and then beautified to normalize all the white space if used with one of the supported code options. I am not familiar with the syntax you illustrated in your example, so may need to use the plain text mode of the tool.
I'm not aware of such tool but it would be fairly easy to whip up a Perl script to do that for you by combining some fancy floating point regular expression set with a bunch of routines to normalize said regexed floats. I can probably take a swing at it if you need help, but it's a bit time consuming enterprise so I'll be a greedy pig and ask for a useful bounty (although at 60% accept rate, I'm a bit wary of answering anyway - hint hint)
There is this one, which looks very interesting. I'm trying to have it working on my AIX, so I haven't seem it in action yet, but I believe this is what you (and I :-) need
See Smart Differencer Tools. These tools compare two source code files according to program structure, as opposed to comparing text lines. To do so, these tools parse the source file according to the language rules, build an AST, and compare trees. The output is in terms of abstract editing changes (insert, delete, move, copy, rename) to program structures (identifiers, expressions, statements, blocks, methods, ...).
As a side effect, the individual language lexemes, such as character, string and numeric literals, are converted to a normal form internal representation. The format of literal is ignored, so it will treat floating point values such as 00.001 and 1e-03 as identical, 0xFF and 255 as identical, and "\n" and "\u000a" as identical. This doesn't include an tolerance fuzz for floating point numbers, but it does ignore thier shape. What this means is the the SmartDifference tools will report two corresponding but slightly different numbers as different, but it will only report the numbers themselves; you'll get something like
<Line 75 col 15-19 1.01
>replace by Line 75 col 15-19 1.02
The matcher presently allows identifiers to be different and treats a consistent identifier renaming across a scope as a single edit rather that a bunch of different edits. The idea of using floating point fuzz to allow matching of near-miss fp numbers is interesting; I'll add it to the possible feature request list.
These tools are production for Java, COBOL and C#. We have preproduction versions for C++ and C; the hard issue is picking up program structures for languages that effectively allow arbitrary editing of the souce via use of macros and preprocessor conditionals.