Jim wrote:
I gather from postings by Sylvie Gallet and Tim Wegner that the Fracint development team is aware of this problem.
I was aware but am only now studying your messages in any depth. A couple of observations. In float mode, there is absolutely nothing special about how Fractint deals with the sign. A complex number is well and truly just an ordered pair of IEEE standard 64 bit doubles, though in the assembler many calculations are done with 80 bit precision (the native format in the Intel math coprocessor is 80 bits). We don't store the sign in any way other than as part of a standard number.
From your examples, I see you are using an exponential. I'm wondering if what you are seeing is a characteristic of the fractint assembler complex valued exponential implementation. Can you come up with a simpler example that doesn't use an exponential? I might try overloading the assembler exponential with a c-language coded one.
I'm wondering if it might be good to implement debugging function show(z) that would print z to a file. This could really help figure out puzzles like this. Perhaps even better would be a showall() function that caused ALL the variables and their values to be printed out. Some of these of these capabilities might already exist, I'll have a look, but if not I'll see if I can determine what is happening. Meanwhile, I'm getting stupid in my old age, so if you can simplify your example in any way, let me know. Tim