Data.Approximate.Numerics:blog from approximate-0.2.2.1

Time bar (total: 2.0s)

analyze15.0ms (0.7%)

Memory
4.7MiB live, 4.7MiB allocated
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 32 to 25 computations (21.9% saved)

sample1.8s (88.4%)

Memory
-5.4MiB live, 557.2MiB allocated
Samples
479.0ms8 256×0valid-baseline
469.0ms8 256×0valid-rival
226.0ms8 256×0valid-sollya
Bogosity

preprocess185.0ms (9.2%)

Memory
5.0MiB live, 20.7MiB allocated
Algorithm
egg-herbie
Rules
1 006×fma-define
721×fmm-def
176×distribute-rgt-in
157×times-frac
145×unsub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
025228
158196
2142184
3360176
4887176
51992176
63397176
74175176
84458176
94572176
104581176
114587176
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)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(/.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)

simplify2.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
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))))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 15 to 12 computations (20% saved)

preprocess30.0ms (1.5%)

Memory
1.5MiB live, 34.9MiB allocated
Compiler

Compiled 90 to 68 computations (24.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...