A bit of background:
I'm trying to fit a very complicated symbolic function. By compiling the function I got about 100x speedup, but I would need another 10. Therefore I'm trying to understand if the function is correctly compiled (I allready checked that there are no calls to MainEvaluate).
The problem:
While scanning through the output of CompilePrint I see the following snippet repeating a lot
12 B0 = R39 None R38 (tol R42)
13 if[ !B0] goto 46
The question:
What does line 12 do? Is this R39 * None * R38? What is (tol R42)?
Here is some more context:
33 arguments
1 Boolean register
1 Integer register
123 Real registers
Underflow checking off
Overflow checking off
Integer overflow checking off
RuntimeAttributes -> {}
R0 = A1
R1 = A2
...
Result = R64
1 R38 = Reciprocal[ R2]
2 R39 = R37 * R38
3 R38 = R36 + R39
4 R39 = Reciprocal[ R38]
5 R38 = - R39
6 R39 = - R2
7 R41 = R40 + R39
8 R39 = Reciprocal[ R2]
9 R41 = R41 * R39
10 R39 = R36 + R38 + R41
11 R38 = I0
12 B0 = R39 None R38 (tol R42)
13 if[ !B0] goto 46
....
19k something lines:)