Toniolo and Linder, Equation (7)

Time bar (total: 4.3s)

analyze632.0ms (14.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
0%0%99.9%0.1%0%0%0%7
0%0%74.9%0.1%0%25%0%8
4.2%3.1%71.8%0.1%0%25%0%9
6.3%4.7%70.2%0.1%0%25%0%10
11.3%7%55.4%0.1%0%37.4%0%11
16.9%10.5%51.9%0.1%0%37.4%0%12
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 215.0ms
ival-mult: 93.0ms (43.3% of total)
ival-sqrt: 43.0ms (20% of total)
ival-sub: 26.0ms (12.1% of total)
ival-add: 25.0ms (11.6% of total)
ival-div: 24.0ms (11.2% of total)
const: 4.0ms (1.9% of total)

sample3.2s (73.4%)

Results
1.0s6032×256valid
435.0ms1164×1024valid
389.0ms3182×256invalid
290.0ms849×1024invalid
236.0ms993×512valid
130.0ms525×512invalid
30.0ms67×2048valid
Precisions
Click to see histograms. Total time spent on operations: 1.9s
ival-mult: 689.0ms (35.6% of total)
ival-div: 464.0ms (24% of total)
ival-sqrt: 326.0ms (16.8% of total)
ival-sub: 214.0ms (11.1% of total)
ival-add: 213.0ms (11% of total)
const: 29.0ms (1.5% of total)
Bogosity

preprocess131.0ms (3%)

Algorithm
egg-herbie
Rules
502×distribute-lft-in
493×fma-neg
435×distribute-rgt-in
308×distribute-lft-neg-out
308×div-sub
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0781172
12561160
27401156
325661156
478161156
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (-.f64 (neg.f64 x) #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 (neg.f64 l) (neg.f64 l)) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 (neg.f64 l) (neg.f64 l)))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 t)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 (neg.f64 t) (neg.f64 t))))) (*.f64 l l))))
(neg.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (-.f64 (neg.f64 x) #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))))
(neg.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 (neg.f64 l) (neg.f64 l)) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 (neg.f64 l) (neg.f64 l))))))
(neg.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 t)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 (neg.f64 t) (neg.f64 t))))) (*.f64 l l)))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 l #s(literal 1 binary64)) (-.f64 l #s(literal 1 binary64))) (+.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 x x))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 t #s(literal 1 binary64)) (-.f64 t #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 x x)))) (*.f64 l l))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) l) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 t t) (*.f64 #s(literal 2 binary64) (*.f64 l l)))) (*.f64 t t))))
Outputs
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (fma.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (+.f64 x #s(literal -1 binary64))) (neg.f64 (*.f64 l l))))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (fma.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (+.f64 x #s(literal -1 binary64))) (neg.f64 (*.f64 l l))))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (-.f64 (neg.f64 x) #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (fma.f64 (/.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (+.f64 (neg.f64 x) #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 t t))) (neg.f64 (*.f64 l l)))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (/.f64 (-.f64 #s(literal 1 binary64) x) (fma.f64 #s(literal -1 binary64) x #s(literal -1 binary64)))) (*.f64 l l))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (fma.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (/.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal -1 binary64) x)) (neg.f64 (*.f64 l l))))))
(*.f64 t (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (fma.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (/.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal -1 binary64) x)) (*.f64 l (neg.f64 l))))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 (neg.f64 l) (neg.f64 l)) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 (neg.f64 l) (neg.f64 l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (fma.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (+.f64 x #s(literal -1 binary64))) (neg.f64 (*.f64 l l))))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 t)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 (neg.f64 t) (neg.f64 t))))) (*.f64 l l))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (neg.f64 t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (neg.f64 t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (neg.f64 t) (sqrt.f64 (fma.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (+.f64 x #s(literal -1 binary64))) (neg.f64 (*.f64 l l))))))
(*.f64 t (/.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l))) (*.f64 l l)))))
(neg.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (-.f64 (neg.f64 x) #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (neg.f64 (sqrt.f64 (fma.f64 (/.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (+.f64 (neg.f64 x) #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 t t))) (neg.f64 (*.f64 l l))))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 t)) (sqrt.f64 (-.f64 (*.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (/.f64 (-.f64 #s(literal 1 binary64) x) (fma.f64 #s(literal -1 binary64) x #s(literal -1 binary64)))) (*.f64 l l))))
(*.f64 t (/.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (fma.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (/.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal -1 binary64) x)) (neg.f64 (*.f64 l l))))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (neg.f64 t) (sqrt.f64 (fma.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (/.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal -1 binary64) x)) (*.f64 l (neg.f64 l))))))
(neg.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 (neg.f64 l) (neg.f64 l)) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 (neg.f64 l) (neg.f64 l))))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (neg.f64 t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (neg.f64 t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (neg.f64 t) (sqrt.f64 (fma.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (+.f64 x #s(literal -1 binary64))) (neg.f64 (*.f64 l l))))))
(*.f64 t (/.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l))) (*.f64 l l)))))
(neg.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 t)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 (neg.f64 t) (neg.f64 t))))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l))) (*.f64 l l)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (fma.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 l l)) (+.f64 x #s(literal -1 binary64))) (neg.f64 (*.f64 l l))))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 l #s(literal 1 binary64)) (-.f64 l #s(literal 1 binary64))) (+.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 x x))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 t (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 #s(literal 1 binary64) l) (+.f64 l #s(literal -1 binary64))) (fma.f64 x x (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 x x)))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (/.f64 (*.f64 (+.f64 #s(literal 1 binary64) l) (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 x x))) (+.f64 l #s(literal -1 binary64))) (*.f64 x x))))
(*.f64 t (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1 binary64) l) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 x x)) (+.f64 l #s(literal -1 binary64))) (neg.f64 (*.f64 x x))))))
(*.f64 t (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1 binary64) l) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 t t) (*.f64 x x)) (+.f64 l #s(literal -1 binary64))) (*.f64 x (neg.f64 x))))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 t #s(literal 1 binary64)) (-.f64 t #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 x x)))) (*.f64 l l))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (sqrt.f64 (fma.f64 (/.f64 (+.f64 t #s(literal 1 binary64)) (+.f64 t #s(literal -1 binary64))) (fma.f64 l l (*.f64 #s(literal 2 binary64) (*.f64 x x))) (neg.f64 (*.f64 l l)))))
(*.f64 x (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (-.f64 (/.f64 (*.f64 (+.f64 t #s(literal 1 binary64)) (fma.f64 #s(literal 2 binary64) (*.f64 x x) (*.f64 l l))) (+.f64 t #s(literal -1 binary64))) (*.f64 l l)))))
(*.f64 x (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (fma.f64 (/.f64 (+.f64 t #s(literal 1 binary64)) (+.f64 t #s(literal -1 binary64))) (fma.f64 #s(literal 2 binary64) (*.f64 x x) (*.f64 l l)) (neg.f64 (*.f64 l l))))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) x) (sqrt.f64 (fma.f64 (+.f64 t #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 x x) (*.f64 l l)) (+.f64 t #s(literal -1 binary64))) (*.f64 l (neg.f64 l)))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) l) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 t t) (*.f64 #s(literal 2 binary64) (*.f64 l l)))) (*.f64 t t))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) l) (sqrt.f64 (fma.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (fma.f64 t t (*.f64 #s(literal 2 binary64) (*.f64 l l))) (neg.f64 (*.f64 t t)))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) l) (sqrt.f64 (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 l l) (*.f64 t t)) (+.f64 x #s(literal -1 binary64)))) (*.f64 t t))))
(*.f64 l (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 l l) (*.f64 t t)) (+.f64 x #s(literal -1 binary64)))) (*.f64 t t)))))
Symmetry

(abs l)

(negabs t)

explain362.0ms (8.3%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1180-1(1.3203063872863291e+259 2.2122817933671033e-247 1.6571987275848755e-159)(sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l)))
910-2(87.22149369999794 5.3234034282243835e+78 9.351080761507237e-25)(-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))
00-0-x
00-0-(+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))
00-0-l
00-0-(-.f64 x #s(literal 1 binary64))
00-0-#s(literal 2 binary64)
00-0-(*.f64 t t)
00-0-(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
00-0-(sqrt.f64 #s(literal 2 binary64))
00-0-(*.f64 l l)
00-0-(+.f64 x #s(literal 1 binary64))
00-0-(*.f64 (sqrt.f64 #s(literal 2 binary64)) t)
00-0-(*.f64 #s(literal 2 binary64) (*.f64 t t))
00-0-#s(literal 1 binary64)
00-0-t
00-0-(*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t))))
00-0-(/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
Results
156.0ms66×512valid
75.0ms390×256valid
55.0ms54×1024valid
1.0ms2048valid
Compiler

Compiled 300 to 56 computations (81.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 219.0ms
ival-div: 140.0ms (64% of total)
ival-mult: 31.0ms (14.2% of total)
ival-sqrt: 23.0ms (10.5% of total)
ival-add: 16.0ms (7.3% of total)
ival-sub: 7.0ms (3.2% of total)
const: 1.0ms (0.5% of total)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
35.5%
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
Compiler

Compiled 60 to 36 computations (40% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
unsub-neg
neg-mul-1
+-commutative
*-commutative
sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025108
142108
252108
361108
474108
591108
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
Outputs
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) t) (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))) (+.f64 (*.f64 l l) (*.f64 #s(literal 2 binary64) (*.f64 t t)))) (*.f64 l l))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 30 to 19 computations (36.7% saved)

preprocess27.0ms (0.6%)

Remove

(negabs t)

(abs l)

Compiler

Compiled 360 to 226 computations (37.2% saved)

end0.0ms (0%)

Profiling

Loading profile data...