Toniolo and Linder, Equation (3a)

Time bar (total: 4.9s)

analyze131.0ms (2.7%)

Memory
-18.1MiB live, 50.2MiB allocated
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
50%49.9%49.9%0.2%0%0%0%3
50%49.9%49.9%0.2%0%0%0%4
50%49.9%49.9%0.2%0%0%0%5
50%49.9%49.9%0.2%0%0%0%6
75%74.9%25%0.2%0%0%0%7
75%74.9%25%0.2%0%0%0%8
75%74.9%25%0.2%0%0%0%9
75%74.9%25%0.2%0%0%0%10
87.5%87.3%12.5%0.2%0%0%0%11
87.5%87.3%12.5%0.2%0%0%0%12
Compiler

Compiled 65 to 47 computations (27.7% saved)

sample4.6s (94.6%)

Memory
6.8MiB live, 1 382.6MiB allocated
Samples
1.3s8 256×0valid-baseline
1.2s8 256×0valid-rival
852.0ms8 256×0valid-sollya
Bogosity

preprocess89.0ms (1.8%)

Memory
-5.1MiB live, 26.0MiB allocated
Algorithm
egg-herbie
Rules
560×associate-*r*
549×associate-*l*
491×distribute-lft-neg-out
424×distribute-rgt-neg-out
381×distribute-lft-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01421552
13561376
29681376
342701376
Stop Event
node limit
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 l)) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) (neg.f64 Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 (neg.f64 kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 (neg.f64 ky)) #s(literal 2 binary64))))))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 l)) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) (neg.f64 Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 (neg.f64 kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 (neg.f64 ky)) #s(literal 2 binary64)))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) Om) l) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) kx) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 l) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) ky) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 l) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) kx) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 Om) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) ky) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 Om) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))))))
Outputs
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 l)) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) (neg.f64 Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 (neg.f64 kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 (neg.f64 ky)) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 l)) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 (neg.f64 l) Om)) #s(literal 2 binary64))))))))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64)))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) (neg.f64 Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 (neg.f64 l) Om)) #s(literal 2 binary64))))))))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64)))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 (neg.f64 kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 (neg.f64 l) Om)) #s(literal 2 binary64))))))))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64)))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 (neg.f64 ky)) #s(literal 2 binary64)))))))))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 (neg.f64 l) Om)) #s(literal 2 binary64))))))))))
(neg.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64)))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) Om) l) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 Om l)) #s(literal 2 binary64)))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 Om l)) #s(literal 2 binary64)) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) kx) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 l) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 kx Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 l) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 kx Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 l) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 kx (/.f64 #s(literal 2 binary64) Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 l) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) ky) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 l) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) ky) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 l) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 ky (/.f64 #s(literal 2 binary64) Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 l) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 ky Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 l) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) kx) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 Om) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) kx) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 Om) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l kx)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 Om) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) ky) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 Om) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l ky)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 Om) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l ky)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 Om) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 l (/.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 Om) #s(literal 2 binary64))) #s(literal 1 binary64))))))
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (/.f64 l Om)) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))))))
Symmetry

(abs l)

(abs Om)

(abs kx)

(abs ky)

(sort kx ky)

Compiler

Compiled 33 to 22 computations (33.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
Compiler

Compiled 66 to 44 computations (33.3% saved)

simplify2.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Rules
1-exp
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03195
14295
Stop Event
saturated
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
Outputs
(sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))
(sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) l) Om) #s(literal 2 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))))

soundness0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Stop Event
fuel
Compiler

Compiled 31 to 22 computations (29% saved)

preprocess42.0ms (0.9%)

Memory
4.0MiB live, 37.7MiB allocated
Remove

(sort kx ky)

(abs ky)

(abs kx)

(abs Om)

(abs l)

Compiler

Compiled 748 to 528 computations (29.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...