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

Time bar (total: 872.0ms)

analyze1.0ms (0.1%)

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)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-exp: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample657.0ms (75.3%)

Results
446.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 221.0ms
ival-mult: 151.0ms (68.4% of total)
ival-exp: 60.0ms (27.2% of total)
const: 7.0ms (3.2% of total)
backward-pass: 3.0ms (1.4% of total)
Bogosity

preprocess81.0ms (9.3%)

Algorithm
egg-herbie
Rules
260×exp-prod
108×associate-*r*
104×exp-sum
64×unsub-neg
56×distribute-lft-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01842
15740
212740
329340
449540
564540
671540
772440
056
1116
2186
3206
4216
0216
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(exp (* (* x y) y))
Outputs
(exp (* (* x y) y))
(exp.f64 (*.f64 y (*.f64 x y)))
Call 2
Inputs
(exp (* (* x y) y))
(exp (* (* (neg x) y) y))
(exp (* (* x (neg y)) (neg y)))
(neg (exp (* (* (neg x) y) y)))
(neg (exp (* (* x (neg y)) (neg y))))
(exp (* (* y x) x))
Outputs
(exp (* (* x y) y))
(pow (exp x) (* y y))
(exp (* (* (neg x) y) y))
(pow (exp (neg x)) (* y y))
(exp (* (* x (neg y)) (neg y)))
(pow (exp x) (* y y))
(neg (exp (* (* (neg x) y) y)))
(/ -1 (pow (exp x) (* y y)))
(neg (exp (* (* x (neg y)) (neg y))))
(neg (pow (exp x) (* y y)))
(exp (* (* y x) x))
(pow (pow (exp x) y) x)
Symmetry

(abs y)

explain49.0ms (5.6%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
10-0-(exp.f64 (*.f64 (*.f64 x y) y))
00-0-(*.f64 (*.f64 x y) y)
00-0-(*.f64 x y)
00-0-x
00-0-y
Results
31.0ms512×0valid
Compiler

Compiled 46 to 17 computations (63% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 8.0ms (69.4% of total)
ival-exp: 3.0ms (26% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 8 to 5 computations (37.5% saved)

prune1.0ms (0.1%)

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

Compiled 8 to 5 computations (37.5% saved)

localize37.0ms (4.2%)

Algorithm
egg-herbie
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 (*.f64 x y) y)
cost-diff0
(exp.f64 (*.f64 (*.f64 x y) y))
accuracy100.0%
(*.f64 x y)
accuracy100.0%
(exp.f64 (*.f64 (*.f64 x y) y))
accuracy99.8%
(*.f64 (*.f64 x y) y)
Rules
14×pow-lowering-pow.f64
14×pow-lowering-pow.f32
14×exp-prod
14×*-lowering-*.f32
14×*-lowering-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0516
11116
21816
32016
42116
02116
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(exp (* (* x y) y))
(* (* x y) y)
(* x y)
x
y
Outputs
(exp (* (* x y) y))
(exp.f64 (*.f64 y (*.f64 x y)))
(* (* x y) y)
(*.f64 y (*.f64 x y))
(* x y)
(*.f64 x y)
x
y
Results
20.0ms256×0valid
Compiler

Compiled 19 to 6 computations (68.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 5.0ms (61.9% of total)
ival-exp: 2.0ms (24.8% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series9.0ms (1%)

Counts
3 → 72
Calls
Call 1
Inputs
#<alt (* (* x y) y)>
#<alt (exp (* (* x y) y))>
#<alt (* x y)>
Outputs
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt (* x (pow y 2))>
#<alt 1>
#<alt (+ 1 (* x (pow y 2)))>
#<alt (+ 1 (* x (+ (* 1/2 (* x (pow y 4))) (pow y 2))))>
#<alt (+ 1 (* x (+ (* x (+ (* 1/6 (* x (pow y 6))) (* 1/2 (pow y 4)))) (pow y 2))))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt 1>
#<alt (+ 1 (* x (pow y 2)))>
#<alt (+ 1 (* (pow y 2) (+ x (* 1/2 (* (pow x 2) (pow y 2))))))>
#<alt (+ 1 (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* (pow x 3) (pow y 2))) (* 1/2 (pow x 2)))))))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (exp (* x (pow y 2)))>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
Calls

18 calls:

TimeVariablePointExpression
2.0ms
x
@0
(* (* x y) y)
1.0ms
y
@0
(* x y)
1.0ms
y
@inf
(* (* x y) y)
0.0ms
x
@inf
(* (* x y) y)
0.0ms
y
@0
(* (* x y) y)

rewrite38.0ms (4.4%)

Algorithm
batch-egg-rewrite
Rules
1196×frac-add
738×frac-times
536×frac-sub
408×associate-*r/
268×pow-pow
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0516
11116
22616
38916
44793
538713
090323
Stop Event
iter limit
node limit

end0.0ms (0%)

Profiling

Loading profile data...