Ian Simplification

Time bar (total: 5.0s)

analyze11.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%50%0%0%50%0%3
50%25%25%0%0%50%0%4
75%37.5%12.5%0%0%50%0%5
87.5%43.7%6.2%0%0%50%0%6
93.8%46.9%3.1%0%0%50%0%7
96.9%48.4%1.6%0%0%50%0%8
98.4%49.2%0.8%0%0%50%0%9
99.2%49.6%0.4%0%0%50%0%10
99.6%49.8%0.2%0%0%50%0%11
99.8%49.9%0.1%0%0%50%0%12
Compiler

Compiled 15 to 14 computations (6.7% saved)

sample4.4s (86.8%)

Results
2.5s4210×body1024valid
831.0ms2037×body512valid
712.0ms1742×body256valid
285.0ms267×body2048valid
1.0msbody256invalid
Bogosity

preprocess652.0ms (12.9%)

Algorithm
egg-herbie
Rules
670×fma-def
116×cancel-sign-sub-inv
110×fma-neg
104×sub-neg
98×distribute-lft-neg-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
024188
155180
2106164
3227152
4402144
5622144
6793144
7985144
81106144
91151144
101158144
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 (neg.f64 x)) 2)))))
(neg.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 (neg.f64 x)) 2))))))
Outputs
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(fma.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2 (/.f64 (PI.f64) 2))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 -1/2 x 1/2))) -2 (/.f64 (PI.f64) 2))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 x -1/2 1/2))) -2 (/.f64 (PI.f64) 2))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 x -1/2 1/2))) -2 (*.f64 1/2 (PI.f64)))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 x -1/2 1/2))) -2 (*.f64 (PI.f64) 1/2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2))
(fma.f64 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2))) -2 (/.f64 (PI.f64) 2))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 -1/2 x 1/2))) -2 (/.f64 (PI.f64) 2))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 x -1/2 1/2))) -2 (/.f64 (PI.f64) 2))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 x -1/2 1/2))) -2 (*.f64 1/2 (PI.f64)))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 x -1/2 1/2))) -2 (*.f64 (PI.f64) 1/2))
(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 (neg.f64 x)) 2)))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 -2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 (neg.f64 x)) 2)))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (+.f64 1 x) 2))) -2))
(fma.f64 (asin.f64 (sqrt.f64 (/.f64 (+.f64 1 x) 2))) -2 (/.f64 (PI.f64) 2))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 1/2 x 1/2))) -2 (/.f64 (PI.f64) 2))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 x 1/2 1/2))) -2 (*.f64 1/2 (PI.f64)))
(fma.f64 (asin.f64 (sqrt.f64 (fma.f64 x 1/2 1/2))) -2 (*.f64 (PI.f64) 1/2))
(fma.f64 (PI.f64) 1/2 (*.f64 (asin.f64 (sqrt.f64 (fma.f64 x 1/2 1/2))) -2))
(neg.f64 (-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 (neg.f64 x)) 2))))))
(neg.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 -2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 (neg.f64 x)) 2))))))
(neg.f64 (+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (/.f64 (+.f64 1 x) 2))) -2)))
(-.f64 (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (+.f64 1 x) 2)))) (/.f64 (PI.f64) 2))
(fma.f64 2 (asin.f64 (sqrt.f64 (/.f64 (+.f64 1 x) 2))) (/.f64 (PI.f64) -2))
(fma.f64 2 (asin.f64 (sqrt.f64 (fma.f64 1/2 x 1/2))) (/.f64 (PI.f64) -2))
(fma.f64 2 (asin.f64 (sqrt.f64 (fma.f64 x 1/2 1/2))) (/.f64 (PI.f64) -2))
(fma.f64 (PI.f64) -1/2 (*.f64 2 (asin.f64 (sqrt.f64 (fma.f64 x 1/2 1/2)))))
Compiler

Compiled 104 to 86 computations (17.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...