Data.Approximate.Numerics:blog from approximate-0.2.2.1

Time bar (total: 4.6s)

analyze4.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
66.7%50%25%0%0%25%0%3
80%50%12.5%0%0%37.5%0%4
88.9%50%6.2%0%0%43.7%0%5
94.1%50%3.1%0%0%46.9%0%6
97%50%1.6%0%0%48.4%0%7
98.5%50%0.8%0%0%49.2%0%8
99.2%50%0.4%0%0%49.6%0%9
99.6%50%0.2%0%0%49.8%0%10
99.8%50%0.1%0%0%49.9%0%11
99.9%50%0%0%0%49.9%0%12
Compiler

Compiled 16 to 12 computations (25% saved)

sample4.2s (92.7%)

Results
1.7s8256×0valid-rival
393.0ms8255×0valid-sollya
7.0ms0invalid-sollya
2.0ms0invalid-rival
5.0ms0exit-sollya
Bogosity

preprocess235.0ms (5.1%)

Algorithm
egg-herbie
Rules
1006×fma-define
689×fma-neg
176×distribute-rgt-in
160×unsub-neg
157×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
025228
158196
2142184
3360176
4887176
51983176
63386176
74130176
84396176
94510176
104519176
114525176
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 x #s(literal 1 binary64))) (+.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 x))))
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 x #s(literal 1 binary64))) (+.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 x))))
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 (neg.f64 x) #s(literal 1 binary64))) (+.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x)))))
(neg.f64 (/.f64 (*.f64 #s(literal 6 binary64) (-.f64 (neg.f64 x) #s(literal 1 binary64))) (+.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x))))))
Outputs
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 x #s(literal 1 binary64))) (+.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 x))))
(/.f64 (*.f64 #s(literal 6 binary64) (+.f64 x #s(literal -1 binary64))) (+.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 4 binary64) (sqrt.f64 x)))))
(/.f64 (+.f64 (*.f64 #s(literal 6 binary64) x) #s(literal -6 binary64)) (fma.f64 #s(literal 4 binary64) (sqrt.f64 x) (+.f64 x #s(literal 1 binary64))))
(/.f64 (fma.f64 #s(literal 6 binary64) x #s(literal -6 binary64)) (+.f64 x (fma.f64 #s(literal 4 binary64) (sqrt.f64 x) #s(literal 1 binary64))))
(/.f64 (fma.f64 #s(literal 6 binary64) x #s(literal -6 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) (sqrt.f64 x) x)))
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 x #s(literal 1 binary64))) (+.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 x))))
(/.f64 (*.f64 #s(literal 6 binary64) (+.f64 x #s(literal -1 binary64))) (+.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 4 binary64) (sqrt.f64 x)))))
(/.f64 (+.f64 (*.f64 #s(literal 6 binary64) x) #s(literal -6 binary64)) (fma.f64 #s(literal 4 binary64) (sqrt.f64 x) (+.f64 x #s(literal 1 binary64))))
(/.f64 (fma.f64 #s(literal 6 binary64) x #s(literal -6 binary64)) (+.f64 x (fma.f64 #s(literal 4 binary64) (sqrt.f64 x) #s(literal 1 binary64))))
(/.f64 (fma.f64 #s(literal 6 binary64) x #s(literal -6 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) (sqrt.f64 x) x)))
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 (neg.f64 x) #s(literal 1 binary64))) (+.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x)))))
(/.f64 (*.f64 #s(literal 6 binary64) (+.f64 (neg.f64 x) #s(literal -1 binary64))) (+.f64 (neg.f64 x) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x))))))
(*.f64 (fma.f64 #s(literal -1 binary64) x #s(literal -1 binary64)) (/.f64 #s(literal 6 binary64) (fma.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x)) (-.f64 #s(literal 1 binary64) x))))
(*.f64 (-.f64 #s(literal -1 binary64) x) (/.f64 #s(literal 6 binary64) (fma.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x)) (-.f64 #s(literal 1 binary64) x))))
(/.f64 (fma.f64 x #s(literal -6 binary64) #s(literal -6 binary64)) (fma.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x)) (-.f64 #s(literal 1 binary64) x)))
(/.f64 (fma.f64 x #s(literal -6 binary64) #s(literal -6 binary64)) (-.f64 (fma.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x)) #s(literal 1 binary64)) x))
(neg.f64 (/.f64 (*.f64 #s(literal 6 binary64) (-.f64 (neg.f64 x) #s(literal 1 binary64))) (+.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x))))))
(/.f64 (neg.f64 (*.f64 #s(literal 6 binary64) (+.f64 (neg.f64 x) #s(literal -1 binary64)))) (+.f64 (neg.f64 x) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x))))))
(*.f64 #s(literal -6 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x #s(literal -1 binary64)) (fma.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x)) (-.f64 #s(literal 1 binary64) x))))
(*.f64 #s(literal 6 binary64) (/.f64 (+.f64 x #s(literal 1 binary64)) (fma.f64 #s(literal 4 binary64) (sqrt.f64 (neg.f64 x)) (-.f64 #s(literal 1 binary64) x))))
(/.f64 (fma.f64 x #s(literal -6 binary64) #s(literal -6 binary64)) (fma.f64 (sqrt.f64 (neg.f64 x)) #s(literal -4 binary64) (+.f64 x #s(literal -1 binary64))))
(/.f64 (fma.f64 x #s(literal -6 binary64) #s(literal -6 binary64)) (+.f64 #s(literal -1 binary64) (fma.f64 (sqrt.f64 (neg.f64 x)) #s(literal -4 binary64) x)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

eval1.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 x #s(literal 1 binary64))) (+.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 x))))
Compiler

Compiled 30 to 22 computations (26.7% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01650
12750
23150
33450
43750
54050
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 x #s(literal 1 binary64))) (+.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 x))))
Outputs
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 x #s(literal 1 binary64))) (+.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 x))))
(/.f64 (*.f64 #s(literal 6 binary64) (+.f64 x #s(literal -1 binary64))) (+.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) (sqrt.f64 x))))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 15 to 12 computations (20% saved)

preprocess85.0ms (1.8%)

Compiler

Compiled 90 to 68 computations (24.4% saved)

end0.0ms (0%)

Profiling

Loading profile data...