                         shouldBeNoMoreThanOne += 0.000001 // making sure
                         xRadius *= sqrt(shouldBeNoMoreThanOne)
                         yRadius *= sqrt(shouldBeNoMoreThanOne)
+                        
+                        xRadius² = xRadius*xRadius
+                        yRadius² = yRadius*yRadius
                     }
                 }
                 

                {
                    xRadius *= sqrt(shouldBeNoMoreThanOne)
                    yRadius *= sqrt(shouldBeNoMoreThanOne)
                    
                    shouldBeNoMoreThanOne = translatedCurPointX²/(xRadius²)
                        + translatedCurPointY²/(yRadius²)

            return false
        }
    }

    // following crashes the current Swift compiler
//    public convenience init?(svgPath: String)
//    {
//        self.init()
//        if !self.addSVGPath(svgPath: svgPath)
//        {
//            return nil 
//        }
//    }
}

extension CGPath
