Linear.Projection:inversePerspective from linear-1.19.1.3, C

Time bar (total: 995.0ms)

analyze18.0ms (1.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
25%25%74.9%0.1%0%0%0%3
37.5%37.5%62.4%0.1%0%0%0%4
56.3%56.2%43.7%0.1%0%0%0%5
65.6%65.6%34.3%0.1%0%0%0%6
76.6%76.5%23.4%0.1%0%0%0%7
82%82%18%0.1%0%0%0%8
87.9%87.8%12.1%0.1%0%0%0%9
90.8%90.7%9.2%0.1%0%0%0%10
93.8%93.8%6.1%0.1%0%0%0%11
95.4%95.3%4.6%0.1%0%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample859.0ms (86.3%)

Results
848.0ms8255×body256valid
0.0msbody256infinite
Bogosity

preprocess118.0ms (11.9%)

Algorithm
egg-herbie
Rules
633×distribute-lft-in
587×distribute-rgt-in
527×*-commutative
510×associate-/r*
301×distribute-frac-neg
Problems
196×No Errors
60×(/.f64 (+.f64 x y) (*.f64 (*.f64 x 2) y))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
028283
165259
2189259
3684211
43187211
57872211
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (*.f64 (*.f64 x 2) y))
(/.f64 (+.f64 x y) (*.f64 (*.f64 x 2) y))
(/.f64 (+.f64 (neg.f64 x) y) (*.f64 (*.f64 (neg.f64 x) 2) y))
(/.f64 (+.f64 x (neg.f64 y)) (*.f64 (*.f64 x 2) (neg.f64 y)))
(neg.f64 (/.f64 (+.f64 (neg.f64 x) y) (*.f64 (*.f64 (neg.f64 x) 2) y)))
(neg.f64 (/.f64 (+.f64 x (neg.f64 y)) (*.f64 (*.f64 x 2) (neg.f64 y))))
(/.f64 (+.f64 y x) (*.f64 (*.f64 y 2) x))
Outputs
(/.f64 (+.f64 x y) (*.f64 (*.f64 x 2) y))
(/.f64 (+.f64 x y) (*.f64 x (*.f64 y 2)))
(/.f64 (+.f64 x y) (*.f64 (*.f64 x 2) y))
(/.f64 (+.f64 x y) (*.f64 x (*.f64 y 2)))
(/.f64 (+.f64 (neg.f64 x) y) (*.f64 (*.f64 (neg.f64 x) 2) y))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 y (*.f64 2 (neg.f64 x))))
(/.f64 (/.f64 (-.f64 y x) (*.f64 x -2)) y)
(/.f64 (-.f64 y x) (*.f64 (*.f64 x y) -2))
(-.f64 (/.f64 -1/2 x) (/.f64 -1/2 y))
(-.f64 (/.f64 1/2 y) (/.f64 1/2 x))
(/.f64 (+.f64 x (neg.f64 y)) (*.f64 (*.f64 x 2) (neg.f64 y)))
(/.f64 (-.f64 x y) (neg.f64 (*.f64 x (*.f64 y 2))))
(/.f64 (-.f64 x y) (*.f64 x (*.f64 -2 y)))
(/.f64 (-.f64 x y) (*.f64 (*.f64 x y) -2))
(+.f64 (/.f64 -1/2 y) (/.f64 1/2 x))
(neg.f64 (/.f64 (+.f64 (neg.f64 x) y) (*.f64 (*.f64 (neg.f64 x) 2) y)))
(/.f64 (-.f64 x y) (neg.f64 (*.f64 x (*.f64 y 2))))
(/.f64 (-.f64 x y) (*.f64 x (*.f64 -2 y)))
(/.f64 (-.f64 x y) (*.f64 (*.f64 x y) -2))
(+.f64 (/.f64 -1/2 y) (/.f64 1/2 x))
(neg.f64 (/.f64 (+.f64 x (neg.f64 y)) (*.f64 (*.f64 x 2) (neg.f64 y))))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 y (*.f64 2 (neg.f64 x))))
(/.f64 (/.f64 (-.f64 y x) (*.f64 x -2)) y)
(/.f64 (-.f64 y x) (*.f64 (*.f64 x y) -2))
(-.f64 (/.f64 -1/2 x) (/.f64 -1/2 y))
(-.f64 (/.f64 1/2 y) (/.f64 1/2 x))
(/.f64 (+.f64 y x) (*.f64 (*.f64 y 2) x))
(/.f64 (+.f64 x y) (*.f64 x (*.f64 y 2)))
Symmetry

(sort x y)

Compiler

Compiled 26 to 14 computations (46.2% saved)

end0.0ms (0%)

Profiling

Loading profile data...