Toniolo and Linder, Equation (3a)

Time bar (total: 16.1s)

analyze168.0ms (1%)

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 34 to 30 computations (11.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 120.0ms
Operation ival-sin, time spent: 38.0ms, 32.0% of total-time
Operation ival-pow, time spent: 21.0ms, 17.0% of total-time
Operation ival-sqrt, time spent: 20.0ms, 17.0% of total-time
Operation ival-mult, time spent: 14.0ms, 12.0% of total-time
Operation ival-div, time spent: 14.0ms, 12.0% of total-time
Operation ival-add, time spent: 11.0ms, 9.0% of total-time
Operation const, time spent: 3.0ms, 2.0% of total-time

sample3.7s (23.3%)

Results
3.5s8254×0valid
0.0ms0valid
2.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 2.0s
Operation ival-sin, time spent: 672.0ms, 34.0% of total-time
Operation ival-add, time spent: 416.0ms, 21.0% of total-time
Operation ival-div, time spent: 220.0ms, 11.0% of total-time
Operation ival-sqrt, time spent: 218.0ms, 11.0% of total-time
Operation ival-pow, time spent: 212.0ms, 11.0% of total-time
Operation ival-mult, time spent: 191.0ms, 10.0% of total-time
Operation const, time spent: 61.0ms, 3.0% of total-time
Bogosity

preprocess8.3s (51.4%)

Algorithm
egg-herbie
Rules
952×distribute-lft-neg-out
926×associate-*r/
860×associate-*r*
850×associate-*l*
838×associate-*l/
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-l
00-0-(*.f64 2 l)
00-0-(*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))
00-0-(+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
00-0-(sin.f64 kx)
00-0-(pow.f64 (sin.f64 kx) 2)
00-0-(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
00-0-(/.f64 (*.f64 2 l) Om)
00-0-(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
00-0-(pow.f64 (sin.f64 ky) 2)
00-0-(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
00-0-(sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
00-0-kx
00-0-ky
00-0-(+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))
00-0-(sin.f64 ky)
00-0-(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
00-0-(/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
00-0-(/.f64 1 2)
00-0-Om
00-0-2
00-0-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01421552
13841376
210311376
353241376
Stop Event
node limit
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 (neg.f64 l)) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) (neg.f64 Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 (neg.f64 kx)) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 (neg.f64 ky)) 2)))))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 (neg.f64 l)) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) (neg.f64 Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 (neg.f64 kx)) 2) (pow.f64 (sin.f64 ky) 2))))))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 (neg.f64 ky)) 2))))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 kx) Om) 2) (+.f64 (pow.f64 (sin.f64 l) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 ky) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 l) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) kx) 2) (+.f64 (pow.f64 (sin.f64 Om) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) ky) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 Om) 2)))))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))))))))
Outputs
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 (neg.f64 l)) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) (neg.f64 Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 (neg.f64 kx)) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 (neg.f64 ky)) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 (neg.f64 l)) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 2 (/.f64 Om (neg.f64 l))) 2)))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 (*.f64 l -2) Om) 2) 1))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) (neg.f64 Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 2 (/.f64 Om (neg.f64 l))) 2)))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 (*.f64 l -2) Om) 2) 1))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 (neg.f64 kx)) 2) (pow.f64 (sin.f64 ky) 2))))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 2 (/.f64 Om (neg.f64 l))) 2)))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 (*.f64 l -2) Om) 2) 1))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))))))
(neg.f64 (sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 (neg.f64 ky)) 2))))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 2 (/.f64 Om (neg.f64 l))) 2)))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 (*.f64 l -2) Om) 2) 1))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (/.f64 (*.f64 2 Om) l) 2))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (*.f64 (/.f64 2 l) Om) 2) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (pow.f64 (*.f64 Om (/.f64 2 l)) 2) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 kx) Om) 2) (+.f64 (pow.f64 (sin.f64 l) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om kx)) 2) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 l) 2)))))))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (/.f64 2 (/.f64 Om kx)) 2) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 l) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (/.f64 kx (/.f64 Om 2)) 2) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 l) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 ky) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 l) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om ky)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 l) 2)))))))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 Om) ky) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 l) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 ky Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 l) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) kx) 2) (+.f64 (pow.f64 (sin.f64 Om) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 kx l)) 2) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 Om) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 kx) l) 2) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 Om) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) kx) 2) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 Om) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) ky) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 Om) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) ky) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 Om) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 ky) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 Om) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 l (/.f64 2 ky)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 Om) 2)) 1)))))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 l Om) 2) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
Symmetry

(abs l)

(abs Om)

(abs kx)

(abs ky)

(sort kx ky)

Compiler

Compiled 451 to 325 computations (27.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.4s
Operation ival-sin, time spent: 2.2s, 40.0% of total-time
Operation ival-add, time spent: 911.0ms, 17.0% of total-time
Operation ival-pow, time spent: 740.0ms, 14.0% of total-time
Operation ival-mult, time spent: 717.0ms, 13.0% of total-time
Operation ival-div, time spent: 446.0ms, 8.0% of total-time
Operation ival-sqrt, time spent: 280.0ms, 5.0% of total-time
Operation const, time spent: 129.0ms, 2.0% of total-time

eval2.0ms (0%)

Compiler

Compiled 79 to 63 computations (20.3% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
Compiler

Compiled 31 to 27 computations (12.9% saved)

localize3.7s (22.8%)

Compiler

Compiled 203 to 132 computations (35% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.4s
Operation ival-sin, time spent: 1.1s, 44.0% of total-time
Operation ival-add, time spent: 447.0ms, 19.0% of total-time
Operation ival-pow, time spent: 352.0ms, 15.0% of total-time
Operation ival-div, time spent: 223.0ms, 9.0% of total-time
Operation ival-sqrt, time spent: 132.0ms, 5.0% of total-time
Operation ival-mult, time spent: 128.0ms, 5.0% of total-time
Operation const, time spent: 63.0ms, 3.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune3.0ms (0%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done000
Total011
Accuracy
99.2%
Counts
1 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
Compiler

Compiled 91 to 77 computations (15.4% saved)

regimes57.0ms (0.4%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
2 → 1
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
Outputs
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
Calls

19 calls:

6.0ms
(sin.f64 ky)
5.0ms
Om
4.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.0ms
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
3.0ms
(pow.f64 (sin.f64 ky) 2)
Results
AccuracySegmentsBranch
99.2%1l
99.2%1Om
99.2%1kx
99.2%1ky
99.2%1(sqrt.f64 (*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
99.2%1(*.f64 (/.f64 1 2) (+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))
99.2%1(+.f64 1 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))
99.2%1(/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
99.2%1(sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
99.2%1(+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
99.2%1(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
99.2%1(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
99.2%1(/.f64 (*.f64 2 l) Om)
99.2%1(*.f64 2 l)
99.2%1(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
99.2%1(pow.f64 (sin.f64 kx) 2)
99.2%1(sin.f64 kx)
99.2%1(pow.f64 (sin.f64 ky) 2)
99.2%1(sin.f64 ky)
Compiler

Compiled 275 to 232 computations (15.6% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03095
14095
Stop Event
done
saturated
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
Outputs
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) 1/2)))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 1 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 2 (/.f64 Om l)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
Compiler

Compiled 31 to 27 computations (12.9% saved)

soundness107.0ms (0.7%)

Rules
952×distribute-lft-neg-out
926×associate-*r/
860×associate-*r*
850×associate-*l*
838×associate-*l/
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01421552
13841376
210311376
353241376
Stop Event
node limit

end0.0ms (0%)

preprocess68.0ms (0.4%)

Remove

(sort kx ky)

(abs ky)

(abs kx)

(abs Om)

(abs l)

Compiler

Compiled 748 to 652 computations (12.8% saved)

Profiling

Loading profile data...