FastMath test3

Time bar (total: 1.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
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 13 to 11 computations (15.4% saved)

sample1.1s (69.5%)

Memory
-11.7MiB live, 1 211.3MiB allocated; 339ms collecting garbage
Samples
725.0ms7 801×0valid
49.0ms367×1valid
13.0ms88×2valid
Precisions
Click to see histograms. Total time spent on operations: 473.0ms
ival-mult: 266.0ms (56.2% of total)
ival-add: 176.0ms (37.2% of total)
adjust: 19.0ms (4% of total)
ival-true: 5.0ms (1.1% of total)
exact: 5.0ms (1.1% of total)
ival-assert: 3.0ms (0.6% of total)
Bogosity

explain125.0ms (7.9%)

Memory
11.1MiB live, 156.1MiB allocated; 10ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
40-0-(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
00-0-(*.f64 d1 #s(literal 3 binary64))
00-0-(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))
00-0-#s(literal 3 binary64)
00-0-(*.f64 d1 d2)
00-0-(*.f64 d1 d3)
00-0-d2
00-0-d1
00-0-d3
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))nan-rescue40
(*.f64 d1 d2)overflow31
(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))overflow31
(*.f64 d1 d3)overflow32
Confusion
Predicted +Predicted -
+40
-0252
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+400
-00252
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0252
14
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
29.0ms460×0valid
4.0ms22×2valid
3.0ms26×1valid
1.0ms3valid
Compiler

Compiled 77 to 31 computations (59.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 12.0ms (60.2% of total)
ival-add: 5.0ms (25.1% of total)
adjust: 2.0ms (10% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess188.0ms (11.9%)

Memory
5.4MiB live, 50.9MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03692
112370
244064
3110063
4208563
5348763
6486563
7516863
8534063
9537363
10538663
11612463
12682463
13683963
14683963
15683963
16685963
17687963
18688963
19688963
0911
0911
0911
Stop Event
saturated
saturated
saturated
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Symmetry

(negabs d1)

(sort d2 d3)

Compiler

Compiled 11 to 9 computations (18.2% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.3%
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify3.0ms (0.2%)

Memory
6.1MiB live, 6.1MiB allocated; 0ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 d1 d2)
cost-diff0
(*.f64 d1 #s(literal 3 binary64))
cost-diff0
(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))
cost-diff0
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0931
0931
0931
Stop Event
saturated
saturated
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 3 binary64))
d1
#s(literal 3 binary64)
(*.f64 d1 d2)
d2
(*.f64 d1 d3)
d3
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 3 binary64))
d1
#s(literal 3 binary64)
(*.f64 d1 d2)
d2
(*.f64 d1 d3)
d3

localize27.0ms (1.7%)

Memory
-7.4MiB live, 38.4MiB allocated; 5ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 d1 d2)
accuracy0.0
(*.f64 d1 #s(literal 3 binary64))
accuracy0.125
(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))
accuracy0.9257771216604116
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Samples
16.0ms229×0valid
2.0ms18×1valid
2.0ms2valid
1.0ms3valid
Compiler

Compiled 33 to 11 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 5.0ms (51.8% of total)
ival-add: 3.0ms (31.1% of total)
adjust: 2.0ms (20.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series8.0ms (0.5%)

Memory
9.9MiB live, 9.9MiB allocated; 0ms collecting garbage
Counts
4 → 16
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 3 binary64))
(*.f64 d1 d2)
Outputs
(* d1 (+ 3 (+ d2 d3)))
(* d1 (+ 3 d2))
(* 3 d1)
(* d1 d2)
(* -1 (* d1 (- (+ (* -1 d2) (* -1 d3)) 3)))
(* -1 (* d1 (- (* -1 d2) 3)))
(+ (* 3 d1) (* d1 d3))
(+ (* 3 d1) (+ (* d1 d2) (* d1 d3)))
(+ (* 3 d1) (* d1 d2))
(* d2 (+ d1 (+ (* 3 (/ d1 d2)) (/ (* d1 d3) d2))))
(* d2 (+ d1 (* 3 (/ d1 d2))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 3 d1) (* d1 d3)) d2)))))
(* -1 (* d2 (+ (* -3 (/ d1 d2)) (* -1 d1))))
(* d1 d3)
(* d3 (+ d1 (+ (* 3 (/ d1 d3)) (/ (* d1 d2) d3))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (+ (* 3 d1) (* d1 d2)) d3)))))
Calls

9 calls:

TimeVariablePointExpression
2.0ms
d1
@inf
((+ (+ (* d1 3) (* d1 d2)) (* d1 d3)) (+ (* d1 3) (* d1 d2)) (* d1 3) (* d1 d2))
1.0ms
d1
@-inf
((+ (+ (* d1 3) (* d1 d2)) (* d1 d3)) (+ (* d1 3) (* d1 d2)) (* d1 3) (* d1 d2))
1.0ms
d1
@0
((+ (+ (* d1 3) (* d1 d2)) (* d1 d3)) (+ (* d1 3) (* d1 d2)) (* d1 3) (* d1 d2))
1.0ms
d2
@0
((+ (+ (* d1 3) (* d1 d2)) (* d1 d3)) (+ (* d1 3) (* d1 d2)) (* d1 3) (* d1 d2))
1.0ms
d2
@-inf
((+ (+ (* d1 3) (* d1 d2)) (* d1 d3)) (+ (* d1 3) (* d1 d2)) (* d1 3) (* d1 d2))

simplify50.0ms (3.2%)

Memory
-7.2MiB live, 43.1MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05690
120388
268588
3279088
4737588
0817888
Stop Event
saturated
node limit
Counts
16 → 0
Calls
Call 1
Inputs
(* d1 (+ 3 (+ d2 d3)))
(* d1 (+ 3 d2))
(* 3 d1)
(* d1 d2)
(* -1 (* d1 (- (+ (* -1 d2) (* -1 d3)) 3)))
(* -1 (* d1 (- (* -1 d2) 3)))
(+ (* 3 d1) (* d1 d3))
(+ (* 3 d1) (+ (* d1 d2) (* d1 d3)))
(+ (* 3 d1) (* d1 d2))
(* d2 (+ d1 (+ (* 3 (/ d1 d2)) (/ (* d1 d3) d2))))
(* d2 (+ d1 (* 3 (/ d1 d2))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 3 d1) (* d1 d3)) d2)))))
(* -1 (* d2 (+ (* -3 (/ d1 d2)) (* -1 d1))))
(* d1 d3)
(* d3 (+ d1 (+ (* 3 (/ d1 d3)) (/ (* d1 d2) d3))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (+ (* 3 d1) (* d1 d2)) d3)))))
Outputs
(* d1 (+ 3 (+ d2 d3)))
(* d1 (+ 3 d2))
(* 3 d1)
(* d1 d2)
(* -1 (* d1 (- (+ (* -1 d2) (* -1 d3)) 3)))
(* -1 (* d1 (- (* -1 d2) 3)))
(+ (* 3 d1) (* d1 d3))
(+ (* 3 d1) (+ (* d1 d2) (* d1 d3)))
(+ (* 3 d1) (* d1 d2))
(* d2 (+ d1 (+ (* 3 (/ d1 d2)) (/ (* d1 d3) d2))))
(* d2 (+ d1 (* 3 (/ d1 d2))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 3 d1) (* d1 d3)) d2)))))
(* -1 (* d2 (+ (* -3 (/ d1 d2)) (* -1 d1))))
(* d1 d3)
(* d3 (+ d1 (+ (* 3 (/ d1 d3)) (/ (* d1 d2) d3))))
(* -1 (* d3 (+ (* -1 d1) (* -1 (/ (+ (* 3 d1) (* d1 d2)) d3)))))

rewrite13.0ms (0.8%)

Memory
17.3MiB live, 17.3MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0924
0924
0924
Stop Event
saturated
saturated
saturated
Counts
4 → 4
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 3 binary64))
(*.f64 d1 d2)
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 3 binary64))
(*.f64 d1 d2)

eval0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Compiler

Compiled 44 to 9 computations (79.5% saved)

prune1.0ms (0.1%)

Memory
1.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New404
Fresh000
Picked011
Done000
Total415
Accuracy
98.3%
Counts
5 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.3%
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Compiler

Compiled 22 to 18 computations (18.2% saved)

simplify43.0ms (2.7%)

Memory
-32.6MiB live, 13.8MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0911
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))

derivations0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 11 to 9 computations (18.2% saved)

preprocess22.0ms (1.4%)

Memory
40.4MiB live, 40.4MiB allocated; 0ms collecting garbage
Remove

(sort d2 d3)

(negabs d1)

Compiler

Compiled 146 to 122 computations (16.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...