OK folks, listen up. :-) For you Fractint is a fractal program, for me it is the World's Best Quick And Dirty Reference to Complex Transcendental Functions. Press F1, go to "Fractals and the PC", and navigate down to trig identities. I put these in the help because I went through a LOT of books finding these and wanted to collect them all in one place in order to code them up. Some books are too simple and so don't have the formulas, and other more advanced books are too abstract and so don't have them either. The formula for the complex power is as follows: z^w = e^(w*log(z)) (here"^" is ASCII text shorthand for exponentiation, in this case z^w means "raise the complex number z to the power of the complex number w") where: e^(x+iy) = (e^x) (cos(y) + i sin(y)) and log(x+iy) = (1/2)log(x^2 + y^2) + i(atan(y/x) + 2kPi) for k = 0, -1, 1, -2, 2, ... (The log function refers to log base e, or ln. The expression atan(y/x) is an angle between -pi and pi in the quadrant containing (x,y) implemented in C as the atan2() function.) The point of these formulae from a programmer's perspective is that they define the complex valued power function in terms of the real versions of e^x, log(x), sin(x), and cos(x) that are available to the C programmer. The interesting and important thing here is that the value of the complex log is not unique. There are infinitely many different values, with the imaginary members. Put another way: the complex log is not single valued. Let's look at the log. In the "bug" illustration, the complex argument is: (-5.0, 0.0) The assembler log function gives: (1.6094379124341,-3.141592653589793) Coding by hand in C gives: (1.6094379124341, 3.141592653589793) BOTH ANSWERS ARE RIGHT!!! The imaginary parts differ by 2*PI, which is acceptable. What actually causes this is that the log implementation normalizes the result to a particular 2*PI segment. Jim's fatal mistake was when he assumed that given a = 1, b = -5, g = 1, h = -1, j = 1/6, that (-a*b*g*h) is -5. Yes, it's very close to -5 in the actual computer calculation, but "close" wins only in horseshoes. The problem is that the complex logarithm of (-5,0) has an imaginary part exactly on the logarithm software implementation's boundary of 2*PI normalization (namely PI). So if the calculation (-a*b*g*h) drops a bit here or adds a bit there, even a bit of the lowest significance, it can change the imaginary component from ~ PI to ~ -PI. I leave it to the reader to plug both these logarithm values into the rest of the formula for the exponential power, and see that the result is (1.132467200411351, -0.653830243005915) in the one case and (1.132467200411351,+0.653830243005915) in the other, as Jim discovered. Here's the main point - a recurring theme in trying to create fractals with complex transcendental functions. The complex power function x^y is discontinuous because of the ambiguity in the many- valued complex log. Each decision to normalize the log to a particular 2*PI interval in an effort to define a single-valued function creates a discontinuous tear in the result in a different way. The "bug" Jim found had values right on the boundary of the tear, so that tiny perturbations and rearrangements of the code pushed the calculation over the edge of the discontinuity. Fractint is cleared of the unjust accusation! The verdict: INNOCENT! All is well with the fractal world :-) One single absolute truth of the universe is thus upheld again. It is this: There are NO software bugs, ONLY USER ERRORS!!! (Sorry Jim ... -no, not *really* sorry, I lied :-) I suggest the future Fractal of the Day explore a fractal based on a discontinuous complex transcendental function in such a way that the fractal itself has visually manifest tears. There are several examples in Fractal Creations, and I am sure many of the artists here, including the honorable Mr. Muth, know of or can discover examples. Tim Wegner