Ian Simplification

Time bar (total: 3.9s)

analyze4.0ms (0.1%)

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)

sample3.5s (91.3%)

Results
2.1s4147×body1024valid
856.0ms2051×body512valid
329.0ms462×body2048valid
240.0ms1596×body256valid
0.0msbody256invalid
Bogosity

preprocess330.0ms (8.6%)

Algorithm
egg-herbie
Rules
253×fma-def
73×*-commutative
67×associate--r+
67×+-commutative
54×associate-+l-
Problems
256×(-.f64 (/.f64 (PI.f64) 2) (*.f64 2 (asin.f64 (sqrt.f64 (/.f64 (-.f64 1 x) 2)))))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
024188
155180
2110164
3229152
4405144
5615144
6811144
71012144
81156144
91194144
101201144
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 2 (asin.f64 (sqrt.f64 (-.f64 1/2 (/.f64 x 2))))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (-.f64 1/2 (/.f64 x 2)))) -2))
(fma.f64 (asin.f64 (sqrt.f64 (+.f64 1/2 (/.f64 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)))
(-.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 1/2 (/.f64 x 2))))))
(+.f64 (/.f64 (PI.f64) 2) (*.f64 (asin.f64 (sqrt.f64 (-.f64 1/2 (/.f64 x 2)))) -2))
(fma.f64 (asin.f64 (sqrt.f64 (+.f64 1/2 (/.f64 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)))
(-.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 1/2 (/.f64 (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 1/2 (/.f64 x -2)))) -2 (/.f64 (PI.f64) 2))
(fma.f64 -2 (asin.f64 (sqrt.f64 (-.f64 1/2 (/.f64 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 1/2 (PI.f64)))
(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 1/2 (/.f64 (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 1/2 (/.f64 x -2))))) (/.f64 (PI.f64) 2))
(fma.f64 2 (asin.f64 (sqrt.f64 (-.f64 1/2 (/.f64 x -2)))) (/.f64 (PI.f64) -2))
(fma.f64 2 (asin.f64 (sqrt.f64 (fma.f64 1/2 x 1/2))) (*.f64 -1/2 (PI.f64)))
(fma.f64 2 (asin.f64 (sqrt.f64 (fma.f64 x 1/2 1/2))) (*.f64 (PI.f64) -1/2))
(fma.f64 2 (asin.f64 (sqrt.f64 (fma.f64 x 1/2 1/2))) (*.f64 -1/2 (PI.f64)))
Compiler

Compiled 52 to 43 computations (17.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...