Henrywood and Agarwal, Equation (9a)

Time bar (total: 6.1s)

analyze481.0ms (7.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
0%0%99.7%0.3%0%0%0%1
0%0%99.7%0.3%0%0%0%2
0%0%99.7%0.3%0%0%0%3
0%0%99.7%0.3%0%0%0%4
0%0%99.7%0.3%0%0%0%5
0%0%99.7%0.3%0%0%0%6
12.5%12.5%87.2%0.3%0%0%0%7
12.5%12.5%87.2%0.3%0%0%0%8
12.5%12.5%87.2%0.3%0%0%0%9
12.5%12.5%87.2%0.3%0%0%0%10
12.5%12.5%87.2%0.3%0%0%0%11
18.8%18.7%81%0.3%0%0%0%12
Compiler

Compiled 25 to 19 computations (24% saved)

Precisions
Click to see histograms. Total time spent on operations: 230.0ms
Operation ival-mult, time spent: 98.0ms, 43.0% of total-time
Operation ival-sqrt, time spent: 39.0ms, 17.0% of total-time
Operation ival-div, time spent: 34.0ms, 15.0% of total-time
Operation ival-pow, time spent: 33.0ms, 14.0% of total-time
Operation ival-sub, time spent: 18.0ms, 8.0% of total-time
Operation const, time spent: 8.0ms, 3.0% of total-time

sample2.3s (37.4%)

Results
1.4s7098×0valid
480.0ms2707×0invalid
229.0ms1157×0infinite
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 1.0s
Operation ival-mult, time spent: 335.0ms, 32.0% of total-time
Operation ival-sub, time spent: 206.0ms, 20.0% of total-time
Operation ival-div, time spent: 187.0ms, 18.0% of total-time
Operation ival-sqrt, time spent: 151.0ms, 14.0% of total-time
Operation ival-pow, time spent: 123.0ms, 12.0% of total-time
Operation const, time spent: 42.0ms, 4.0% of total-time
Bogosity

preprocess1.6s (26.3%)

Algorithm
egg-herbie
Rules
990×cancel-sign-sub-inv
892×associate-/l*
772×neg-mul-1
744×neg-sub0
716×*-commutative
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-h
00-0-(*.f64 2 d)
00-0-M
00-0-l
00-0-(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
00-0-(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
00-0-(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
00-0-(pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)
00-0-(/.f64 (*.f64 M D) (*.f64 2 d))
00-0-w0
00-0-(-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))
00-0-(*.f64 M D)
00-0-d
00-0-2
00-0-(/.f64 h l)
00-0-D
00-0-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01782099
15672083
216782067
353602067
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 (neg.f64 w0) (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 (neg.f64 M) D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M (neg.f64 D)) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (neg.f64 h) l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h (neg.f64 l))))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 (neg.f64 d))) 2) (/.f64 h l)))))
(neg.f64 (*.f64 (neg.f64 w0) (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 (neg.f64 M) D) (*.f64 2 d)) 2) (/.f64 h l))))))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M (neg.f64 D)) (*.f64 2 d)) 2) (/.f64 h l))))))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (neg.f64 h) l))))))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h (neg.f64 l)))))))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 (neg.f64 d))) 2) (/.f64 h l))))))
(*.f64 M (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 w0 D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 D (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M w0) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 h (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 w0 l)))))
(*.f64 l (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h w0)))))
(*.f64 d (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 w0)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 h D) (*.f64 2 d)) 2) (/.f64 M l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 l D) (*.f64 2 d)) 2) (/.f64 h M)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 d D) (*.f64 2 M)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M h) (*.f64 2 d)) 2) (/.f64 D l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M l) (*.f64 2 d)) 2) (/.f64 h D)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M d) (*.f64 2 D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 l h)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 h)) 2) (/.f64 d l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 l)) 2) (/.f64 h d)))))
Outputs
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 (neg.f64 w0) (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))) (neg.f64 w0))
(*.f64 w0 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l))))))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 (neg.f64 M) D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M (neg.f64 D)) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (neg.f64 h) l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 (neg.f64 h) l)))))
(*.f64 w0 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 h l) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h (neg.f64 l))))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 (neg.f64 h) l)))))
(*.f64 w0 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 h l) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 (neg.f64 d))) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(neg.f64 (*.f64 (neg.f64 w0) (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 (neg.f64 M) D) (*.f64 2 d)) 2) (/.f64 h l))))))
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))) (neg.f64 w0))
(*.f64 w0 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l))))))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M (neg.f64 D)) (*.f64 2 d)) 2) (/.f64 h l))))))
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))) (neg.f64 w0))
(*.f64 w0 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l))))))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (neg.f64 h) l))))))
(*.f64 (neg.f64 w0) (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 (neg.f64 h) l)))))
(*.f64 (neg.f64 w0) (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l) 1)))
(*.f64 w0 (neg.f64 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 h l) 1))))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h (neg.f64 l)))))))
(*.f64 (neg.f64 w0) (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 (neg.f64 h) l)))))
(*.f64 (neg.f64 w0) (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l) 1)))
(*.f64 w0 (neg.f64 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 h l) 1))))
(neg.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 (neg.f64 d))) 2) (/.f64 h l))))))
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))) (neg.f64 w0))
(*.f64 w0 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l))))))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 (neg.f64 w0) (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 M (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 w0 D) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 M (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 w0 2) (/.f64 D d)) 2)))))
(*.f64 M (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 D d) (/.f64 w0 2)) 2)))))
(*.f64 M (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 D (/.f64 (/.f64 w0 2) d)) 2)))))
(*.f64 M (sqrt.f64 (neg.f64 (fma.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 D d) (/.f64 w0 2)) 2) -1))))
(*.f64 D (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M w0) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 D (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) w0)) 2)))))
(*.f64 D (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 w0 2) (/.f64 M d)) 2)))))
(*.f64 D (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 M 2) (/.f64 w0 d)) 2)))))
(*.f64 D (sqrt.f64 (neg.f64 (fma.f64 (/.f64 h l) (pow.f64 (*.f64 w0 (/.f64 (/.f64 M 2) d)) 2) -1))))
(*.f64 h (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 w0 l)))))
(*.f64 h (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 w0 l)))))
(*.f64 h (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 w0 l)))))
(*.f64 h (sqrt.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 w0 l) -1))))
(*.f64 l (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h w0)))))
(*.f64 l (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h w0)))))
(*.f64 l (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h w0)))))
(*.f64 l (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) w0) 1)))
(*.f64 l (sqrt.f64 (neg.f64 (fma.f64 h (/.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) w0) -1))))
(*.f64 d (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 w0)) 2) (/.f64 h l)))))
(*.f64 d (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D w0)) 2)))))
(*.f64 d (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M w0)) 2)))))
(*.f64 d (sqrt.f64 (neg.f64 (fma.f64 (/.f64 h l) (pow.f64 (*.f64 D (/.f64 M (*.f64 w0 2))) 2) -1))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 (neg.f64 h) l) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 h D) (*.f64 2 d)) 2) (/.f64 M l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 h (/.f64 (*.f64 2 d) D)) 2) (/.f64 M l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 h (*.f64 2 d)) D) 2) (/.f64 M l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (/.f64 h (*.f64 2 d))) 2) (/.f64 M l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 l D) (*.f64 2 d)) 2) (/.f64 h M)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 l 2) (/.f64 D d)) 2) (/.f64 h M)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 l (*.f64 2 d)) D) 2) (/.f64 h M)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 l (/.f64 d (/.f64 D 2))) 2) (/.f64 h M)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 l d) (/.f64 D 2)) 2) (/.f64 h M)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 d D) (*.f64 2 M)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (/.f64 (*.f64 D d) (*.f64 M 2)) 2)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (/.f64 d (/.f64 (*.f64 M 2) D)) 2)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 D 2) (/.f64 d M)) 2)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (/.f64 (neg.f64 h) l) (pow.f64 (*.f64 (/.f64 D 2) (/.f64 d M)) 2) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M h) (*.f64 2 d)) 2) (/.f64 D l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 h d) (/.f64 M 2)) 2) (/.f64 D l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (/.f64 h (/.f64 d M)) 2) 2) (/.f64 D l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M l) (*.f64 2 d)) 2) (/.f64 h D)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 l d)) 2) (/.f64 h D)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 (/.f64 M 2) l) d) 2) (/.f64 h D)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 l (/.f64 M (*.f64 2 d))) 2) (/.f64 h D)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 l (/.f64 (/.f64 M 2) d)) 2) (/.f64 h D)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M d) (*.f64 2 D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (/.f64 M 2) (/.f64 d D)) 2)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 d (/.f64 M (*.f64 D 2))) 2)))))
(*.f64 w0 (sqrt.f64 (fma.f64 (/.f64 h l) (neg.f64 (pow.f64 (*.f64 d (/.f64 M (*.f64 D 2))) 2)) 1)))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 l h)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 l h)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 l h)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D (*.f64 d -2)) M) 2) (/.f64 l h)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 h)) 2) (/.f64 d l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D h)) 2) (/.f64 d l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (/.f64 M (*.f64 2 h))) 2) (/.f64 d l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (/.f64 (/.f64 M 2) h)) 2) (/.f64 d l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 l)) 2) (/.f64 h d)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D l)) 2) (/.f64 h d)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M l) (/.f64 D 2)) 2) (/.f64 h d)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (/.f64 M (*.f64 2 l))) 2) (/.f64 h d)))))
Symmetry

(abs M)

(abs D)

(abs d)

(negabs w0)

(sort M D)

Compiler

Compiled 228 to 126 computations (44.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.1s
Operation ival-mult, time spent: 338.0ms, 31.0% of total-time
Operation ival-div, time spent: 273.0ms, 25.0% of total-time
Operation ival-sub, time spent: 185.0ms, 17.0% of total-time
Operation ival-pow, time spent: 135.0ms, 13.0% of total-time
Operation ival-sqrt, time spent: 97.0ms, 9.0% of total-time
Operation const, time spent: 48.0ms, 4.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 78 to 50 computations (35.9% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
82.1%
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
82.3%
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
Compiler

Compiled 48 to 36 computations (25% saved)

localize1.5s (24.3%)

Compiler

Compiled 199 to 108 computations (45.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.1s
Operation ival-div, time spent: 349.0ms, 31.0% of total-time
Operation ival-mult, time spent: 304.0ms, 27.0% of total-time
Operation ival-sub, time spent: 187.0ms, 17.0% of total-time
Operation ival-pow, time spent: 138.0ms, 12.0% of total-time
Operation ival-sqrt, time spent: 96.0ms, 9.0% of total-time
Operation const, time spent: 47.0ms, 4.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

prune3.0ms (0%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done000
Total022
Accuracy
82.9%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
82.1%
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
82.3%
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
Compiler

Compiled 108 to 76 computations (29.6% saved)

regimes56.0ms (0.9%)

Accuracy

Total -1.0b remaining (-8.6%)

Threshold costs -1b (-8.6%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
Outputs
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
Calls

15 calls:

9.0ms
w0
6.0ms
(-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))
4.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
4.0ms
(*.f64 2 d)
3.0ms
h
Results
AccuracySegmentsBranch
82.3%1w0
82.3%1M
82.3%1D
82.3%1h
82.3%1l
82.3%1d
82.3%1(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
82.3%1(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
82.3%1(-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))
82.3%1(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
82.3%1(pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)
82.3%1(/.f64 (*.f64 M D) (*.f64 2 d))
82.3%1(*.f64 M D)
82.3%1(*.f64 2 d)
82.3%1(/.f64 h l)
Compiler

Compiled 183 to 145 computations (20.8% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
14×*-commutative
10×sub-neg
10×+-commutative
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02771
14071
25171
35971
46571
56871
66971
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
Outputs
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
Compiler

Compiled 24 to 18 computations (25% saved)

soundness111.0ms (1.8%)

Rules
990×cancel-sign-sub-inv
892×associate-/l*
772×neg-mul-1
744×neg-sub0
716×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01782099
15672083
216782067
353602067
Stop Event
node limit

end0.0ms (0%)

preprocess71.0ms (1.2%)

Remove

(negabs w0)

(abs d)

Compiler

Compiled 864 to 648 computations (25% saved)

Profiling

Loading profile data...