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

Time bar (total: 7.0s)

analyze611.0ms (8.7%)

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)

sample5.7s (81.6%)

Results
1.6s8256×0valid-rival
1.0s8253×0valid-sollya
15.0ms0exit-sollya
Bogosity

preprocess553.0ms (7.9%)

Algorithm
egg-herbie
Rules
1160×fma-define
555×unsub-neg
436×distribute-lft-in
428×distribute-rgt-in
424×associate-/l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0531088
11831024
26711024
322441024
442261024
554011024
655331024
755931024
856691024
957281024
1073521024
1176561024
1276561024
1376561024
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)))
(+.f64 (*.f64 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 (/.f64 x y) (/.f64 x y) (*.f64 (/.f64 z t) (/.f64 z t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (*.f64 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 (/.f64 x y) (/.f64 x 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 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 (/.f64 x y) (/.f64 x 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 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 (/.f64 x y) (/.f64 x 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 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 (/.f64 x y) (/.f64 x 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 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y)))
(fma.f64 (/.f64 x y) (/.f64 x 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 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y))))
(neg.f64 (fma.f64 (/.f64 x y) (/.f64 x 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 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y))))
(neg.f64 (fma.f64 (/.f64 x y) (/.f64 x 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 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y))))
(neg.f64 (fma.f64 (/.f64 x y) (/.f64 x 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 x (/.f64 x (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 t t))))
(neg.f64 (fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 x y) (/.f64 x y))))
(neg.f64 (fma.f64 (/.f64 x y) (/.f64 x 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 x) (/.f64 y x)))
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 (/.f64 y x) (/.f64 y x)))
(fma.f64 (/.f64 y x) (/.f64 y 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 x (/.f64 x (*.f64 t t))))
(fma.f64 x (/.f64 x (*.f64 t t)) (*.f64 (/.f64 z y) (/.f64 z y)))
(fma.f64 x (/.f64 x (*.f64 t t)) (*.f64 z (/.f64 (/.f64 z y) y)))
(+.f64 (/.f64 (*.f64 t t) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 x x)))
(+.f64 (*.f64 t (/.f64 t (*.f64 y y))) (/.f64 (*.f64 z z) (*.f64 x x)))
(fma.f64 z (/.f64 z (*.f64 x x)) (*.f64 t (/.f64 t (*.f64 y y))))
(fma.f64 (/.f64 z x) (/.f64 z 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 x (/.f64 x (*.f64 z z))) (*.f64 (/.f64 y t) (/.f64 y t)))
(fma.f64 x (/.f64 x (*.f64 z z)) (*.f64 y (/.f64 y (*.f64 t t))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 t t)) (/.f64 (*.f64 z z) (*.f64 y y)))
(+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (*.f64 x (/.f64 x (*.f64 t t))))
(fma.f64 x (/.f64 x (*.f64 t t)) (*.f64 (/.f64 z y) (/.f64 z y)))
(fma.f64 x (/.f64 x (*.f64 t t)) (*.f64 z (/.f64 (/.f64 z y) y)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 t t) (*.f64 z z)))
(+.f64 (*.f64 x (/.f64 x (*.f64 y y))) (*.f64 t (/.f64 t (*.f64 z z))))
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 t (/.f64 t (*.f64 z z))))
(fma.f64 (/.f64 x y) (/.f64 x y) (/.f64 (*.f64 t t) (*.f64 z z)))
Symmetry

(abs x)

(abs y)

(abs z)

(abs t)

Compiler

Compiled 19 to 11 computations (42.1% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune3.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
72.1%
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
Compiler

Compiled 38 to 22 computations (42.1% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01867
11967
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
Outputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 19 to 11 computations (42.1% saved)

preprocess122.0ms (1.7%)

Remove

(abs t)

(abs z)

(abs y)

(abs x)

Compiler

Compiled 410 to 240 computations (41.5% saved)

end0.0ms (0%)

Profiling

Loading profile data...