Data.Random.Distribution.Normal:normalF from random-fu-0.2.6.2

Time bar (total: 1.6s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 9 to 6 computations (33.3% saved)

sample1.1s (65.8%)

Results
830.0ms6220×body256valid
218.0ms2036×body256infinite
Bogosity

preprocess170.0ms (10.6%)

Algorithm
egg-herbie
Rules
682×sqr-pow
419×div-sub
380×associate-/r*
330×fma-def
300×associate-*r/
Problems
256×No Errors
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01989
15489
212789
335889
482689
5195989
6496689
7769389
Stop Event
node limit
Calls
Call 1
Inputs
(exp.f64 (*.f64 (*.f64 x y) y))
(exp.f64 (*.f64 (*.f64 x y) y))
(exp.f64 (*.f64 (*.f64 (neg.f64 x) y) y))
(exp.f64 (*.f64 (*.f64 x (neg.f64 y)) (neg.f64 y)))
(exp.f64 (*.f64 (*.f64 y x) x))
Outputs
(exp.f64 (*.f64 (*.f64 x y) y))
(pow.f64 (exp.f64 (*.f64 x y)) y)
(pow.f64 (pow.f64 (exp.f64 x) y) y)
(pow.f64 (pow.f64 (exp.f64 y) x) y)
(exp.f64 (*.f64 (*.f64 x y) y))
(pow.f64 (exp.f64 (*.f64 x y)) y)
(pow.f64 (pow.f64 (exp.f64 x) y) y)
(pow.f64 (pow.f64 (exp.f64 y) x) y)
(exp.f64 (*.f64 (*.f64 (neg.f64 x) y) y))
(pow.f64 (exp.f64 (*.f64 x (neg.f64 y))) y)
(pow.f64 (pow.f64 (exp.f64 x) y) (neg.f64 y))
(pow.f64 (pow.f64 (exp.f64 y) x) (neg.f64 y))
(pow.f64 (pow.f64 (exp.f64 x) (neg.f64 y)) y)
(exp.f64 (*.f64 (*.f64 x (neg.f64 y)) (neg.f64 y)))
(pow.f64 (exp.f64 (*.f64 x y)) y)
(pow.f64 (pow.f64 (exp.f64 x) y) y)
(pow.f64 (pow.f64 (exp.f64 y) x) y)
(exp.f64 (*.f64 (*.f64 y x) x))
(pow.f64 (exp.f64 (*.f64 x y)) x)
(pow.f64 (pow.f64 (exp.f64 x) y) x)
(pow.f64 (exp.f64 y) (*.f64 x x))
(pow.f64 (pow.f64 (exp.f64 y) x) x)
Symmetry

(abs y)

Compiler

Compiled 27 to 11 computations (59.3% saved)

eval1.0ms (0.1%)

Compiler

Compiled 50 to 25 computations (50% saved)

prune2.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (*.f64 (*.f64 x y) y))
100.0%
(exp.f64 (*.f64 (*.f64 x y) y))
Compiler

Compiled 16 to 10 computations (37.5% saved)

localize32.0ms (2%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.8%
(*.f64 (*.f64 x y) y)
99.8%
(*.f64 (*.f64 x y) y)
Compiler

Compiled 19 to 6 computations (68.4% saved)

series3.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (*.f64 x y) y)
1.0ms
y
@inf
(*.f64 (*.f64 x y) y)
0.0ms
x
@inf
(*.f64 (*.f64 x y) y)
0.0ms
y
@0
(*.f64 (*.f64 x y) y)
0.0ms
x
@-inf
(*.f64 (*.f64 x y) y)

rewrite190.0ms (11.8%)

Algorithm
rewrite-once
batch-egg-rewrite
Rules
798×unswap-sqr
395×swap-sqr
333×sqr-pow
313×prod-exp
191×rem-sqrt-square
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
0613
11013
21313
32113
43913
58513
62687
716271
816561
917251
1022291
1140831
1271981
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) y)
Outputs
x
Calls

3 calls:

1.0ms
(*.f64 (*.f64 x y) y)
0.0ms
(*.f64 (*.f64 x y) y)
0.0ms
(*.f64 (*.f64 x y) y)

simplify108.0ms (6.7%)

Algorithm
egg-herbie
Rules
795×fma-def
550×prod-exp
379×*-commutative
379×unswap-sqr
297×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039539
178539
2318539
31301539
43241539
55522539
Stop Event
node limit
Counts
39 → 16
Calls
Call 1
Inputs
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(*.f64 x (pow.f64 y 2))
(exp.f64 (log.f64 (*.f64 (*.f64 x y) y)))
(log.f64 (exp.f64 (*.f64 (*.f64 x y) y)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 x y) y)) (sqrt.f64 (*.f64 (*.f64 x y) y)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 x y) y)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 x y) y)))
(*.f64 1 (*.f64 (*.f64 x y) y))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 x y) y)) (cbrt.f64 (*.f64 (*.f64 x y) y))) (cbrt.f64 (*.f64 (*.f64 x y) y)))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 x y) y) (*.f64 (*.f64 x y) y)) (*.f64 (*.f64 x y) y)))
(pow.f64 (*.f64 (*.f64 x y) y) 1)
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 x y) y)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 x y) y)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 x) (binary64->binary32 y)) (binary64->binary32 y)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 x y) y)))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 x y) y)))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 x) (binary64->binary32 y)) (binary64->binary32 y)))
Outputs
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(*.f64 x (pow.f64 y 2))
(*.f64 x (*.f64 y y))
(exp.f64 (log.f64 (*.f64 (*.f64 x y) y)))
(*.f64 x (*.f64 y y))
(log.f64 (exp.f64 (*.f64 (*.f64 x y) y)))
(*.f64 x (*.f64 y y))
(*.f64 (sqrt.f64 (*.f64 (*.f64 x y) y)) (sqrt.f64 (*.f64 (*.f64 x y) y)))
(*.f64 x (*.f64 y y))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 x y) y)))
(*.f64 x (*.f64 y y))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 x y) y)))
(*.f64 x (*.f64 y y))
(*.f64 1 (*.f64 (*.f64 x y) y))
(*.f64 x (*.f64 y y))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 x y) y)) (cbrt.f64 (*.f64 (*.f64 x y) y))) (cbrt.f64 (*.f64 (*.f64 x y) y)))
(*.f64 x (*.f64 y y))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 x y) y) (*.f64 (*.f64 x y) y)) (*.f64 (*.f64 x y) y)))
(*.f64 x (*.f64 y y))
(pow.f64 (*.f64 (*.f64 x y) y) 1)
(*.f64 x (*.f64 y y))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 x y) y)))
(binary32->binary64 (binary64->binary32 (*.f64 x (*.f64 y y))))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 x y) y)))
(binary32->binary64 (binary64->binary32 (*.f64 x (*.f64 y y))))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 x) (binary64->binary32 y)) (binary64->binary32 y)))
(binary32->binary64 (*.f32 (binary64->binary32 x) (*.f32 (binary64->binary32 y) (binary64->binary32 y))))
(binary32->binary64 (*.f32 (binary64->binary32 y) (*.f32 (binary64->binary32 x) (binary64->binary32 y))))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 x y) y)))
(binary32->binary64 (binary64->binary32 (*.f64 x (*.f64 y y))))
(binary32->binary64 (binary64->binary32 (*.f64 (*.f64 x y) y)))
(binary32->binary64 (binary64->binary32 (*.f64 x (*.f64 y y))))
(binary32->binary64 (*.f32 (*.f32 (binary64->binary32 x) (binary64->binary32 y)) (binary64->binary32 y)))
(binary32->binary64 (*.f32 (binary64->binary32 x) (*.f32 (binary64->binary32 y) (binary64->binary32 y))))
(binary32->binary64 (*.f32 (binary64->binary32 y) (*.f32 (binary64->binary32 x) (binary64->binary32 y))))

eval3.0ms (0.2%)

Compiler

Compiled 162 to 59 computations (63.6% saved)

prune3.0ms (0.2%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New16016
Fresh000
Picked011
Done000
Total16117
Accuracy
100.0%
Counts
17 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (*.f64 (*.f64 x y) y))
Compiler

Compiled 16 to 10 computations (37.5% saved)

simplify6.0ms (0.4%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
11017
Stop Event
done
saturated
Calls
Call 1
Inputs
(exp.f64 (*.f64 (*.f64 x y) y))
Outputs
(exp.f64 (*.f64 (*.f64 x y) y))
(exp.f64 (*.f64 y (*.f64 x y)))
Compiler

Compiled 8 to 5 computations (37.5% saved)

soundness0.0ms (0%)

end0.0ms (0%)

preprocess33.0ms (2.1%)

Remove

(abs y)

Compiler

Compiled 48 to 30 computations (37.5% saved)

Profiling

Loading profile data...