Graphics.Rasterific.Svg.PathConverter:arcToSegments from rasterific-svg-0.2.3.1

Time bar (total: 1.4s)

analyze122.0ms (8.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
25%25%74.9%0.2%0%0%0%5
25%25%74.9%0.2%0%0%0%6
37.5%37.4%62.4%0.2%0%0%0%7
37.5%37.4%62.4%0.2%0%0%0%8
56.3%56.1%43.7%0.2%0%0%0%9
56.3%56.1%43.7%0.2%0%0%0%10
65.6%65.5%34.3%0.2%0%0%0%11
65.6%65.5%34.3%0.2%0%0%0%12
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.2s (81.5%)

Results
546.0ms4348×body256valid
503.0ms3908×body256infinite
Bogosity

preprocess144.0ms (10%)

Algorithm
egg-herbie
Rules
512×fma-def
504×associate-*l*
484×*-commutative
480×associate-/l*
448×times-frac
Problems
129×No Errors
67×(/.f64 (*.f64 z z) (*.f64 t t))
60×(/.f64 (*.f64 x x) (*.f64 y y))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0531088
11831024
25991024
331441024
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 (neg.f64 z) (neg.f64 z)) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 (neg.f64 t) (neg.f64 t))))
(neg.f64 (+.f64 (/.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 (neg.f64 z) (neg.f64 z)) (*.f64 t t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 (neg.f64 t) (neg.f64 t)))))
(+.f64 (/.f64 (*.f64 y y) (*.f64 x x)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 t t) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 x x)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 z z)) (/.f64 (*.f64 y y) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 t t)) (/.f64 (*.f64 z z) (*.f64 y y)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 t t) (*.f64 z z)))
Outputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t)))
(+.f64 (/.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 (neg.f64 z) (neg.f64 z)) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 (neg.f64 t) (neg.f64 t))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t)))
(neg.f64 (+.f64 (/.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y))))
(neg.f64 (fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y))))
(neg.f64 (fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 (neg.f64 z) (neg.f64 z)) (*.f64 t t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y))))
(neg.f64 (fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 (neg.f64 t) (neg.f64 t)))))
(neg.f64 (+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 x x) (*.f64 y y))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y))))
(neg.f64 (fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z t) (/.f64 z t))))
(+.f64 (/.f64 (*.f64 y y) (*.f64 x x)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 z z) (*.f64 t t)) (/.f64 (*.f64 y y) (*.f64 x x)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 y x) (/.f64 y x)))
(fma.f64 y (/.f64 y (*.f64 x x)) (*.f64 (/.f64 z t) (/.f64 z t)))
(+.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (*.f64 (/.f64 x t) (/.f64 x t)))
(fma.f64 (/.f64 x t) (/.f64 x t) (*.f64 (/.f64 z y) (/.f64 z y)))
(fma.f64 (/.f64 x t) (/.f64 x t) (*.f64 z (/.f64 z (*.f64 y y))))
(fma.f64 x (/.f64 x (*.f64 t t)) (*.f64 z (/.f64 z (*.f64 y y))))
(+.f64 (/.f64 (*.f64 t t) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 x x)))
(+.f64 (*.f64 (/.f64 t y) (/.f64 t y)) (*.f64 (/.f64 z x) (/.f64 z x)))
(fma.f64 (/.f64 z x) (/.f64 z x) (*.f64 (/.f64 t y) (/.f64 t y)))
(fma.f64 z (/.f64 z (*.f64 x x)) (*.f64 (/.f64 t y) (/.f64 t y)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 z z)) (/.f64 (*.f64 y y) (*.f64 t t)))
(+.f64 (*.f64 (/.f64 x z) (/.f64 x z)) (/.f64 (*.f64 y y) (*.f64 t t)))
(fma.f64 (/.f64 y t) (/.f64 y t) (/.f64 (*.f64 x x) (*.f64 z z)))
(fma.f64 (/.f64 y t) (/.f64 y t) (*.f64 (/.f64 x z) (/.f64 x z)))
(fma.f64 y (/.f64 y (*.f64 t t)) (/.f64 (*.f64 x x) (*.f64 z z)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 t t)) (/.f64 (*.f64 z z) (*.f64 y y)))
(+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (*.f64 (/.f64 x t) (/.f64 x t)))
(fma.f64 (/.f64 x t) (/.f64 x t) (*.f64 (/.f64 z y) (/.f64 z y)))
(fma.f64 (/.f64 x t) (/.f64 x t) (*.f64 z (/.f64 z (*.f64 y y))))
(fma.f64 x (/.f64 x (*.f64 t t)) (*.f64 z (/.f64 z (*.f64 y y))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 t t) (*.f64 z z)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (/.f64 t z) (/.f64 t z)))
(fma.f64 (/.f64 x y) (/.f64 x y) (*.f64 (/.f64 t z) (/.f64 t z)))
(fma.f64 (/.f64 x y) (/.f64 x y) (*.f64 t (/.f64 (/.f64 t z) z)))
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 t z) (/.f64 t z)))
Symmetry

(abs x)

(abs y)

(abs z)

(abs t)

Compiler

Compiled 50 to 12 computations (76% saved)

end0.0ms (0%)

Profiling

Loading profile data...