Toniolo and Linder, Equation (3a)

Time bar (total: 5.1s)

analyze129.0ms (2.5%)

Memory
-0.2MiB live, 49.3MiB 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.9s (94.9%)

Memory
51.0MiB live, 1 512.2MiB allocated
Samples
1.5s8 256×0valid-baseline
1.3s8 256×0valid-rival
862.0ms8 256×0valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 1.1s
ival-sin: 335.0ms (31.5% of total)
ival-pow2: 213.0ms (20% of total)
ival-div: 168.0ms (15.8% of total)
ival-mult: 131.0ms (12.3% of total)
ival-sqrt: 101.0ms (9.5% of total)
ival-add: 100.0ms (9.4% of total)
ival-true: 8.0ms (0.8% of total)
...in/eval/compile.rkt:110:19: 5.0ms (0.5% of total)
ival-assert: 4.0ms (0.4% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 1.1s
ival-sin: 325.0ms (28.7% of total)
ival-pow: 287.0ms (25.3% of total)
ival-div: 165.0ms (14.5% of total)
ival-mult: 135.0ms (11.9% of total)
ival-add: 109.0ms (9.6% of total)
ival-sqrt: 100.0ms (8.8% of total)
const: 13.0ms (1.1% of total)
Bogosity

preprocess87.0ms (1.7%)

Memory
-4.9MiB live, 25.9MiB 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.3MiB live, 0.3MiB 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
99.2%
(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.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 31 to 22 computations (29% saved)

preprocess42.0ms (0.8%)

Memory
4.6MiB live, 37.8MiB 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...