Quotient of products

Time bar (total: 2.4s)

start0.0ms (0%)

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

analyze203.0ms (8.5%)

Memory
-4.2MiB live, 189.2MiB allocated; 56ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
25%25%74.9%0.2%0%0%0%5
25%25%74.9%0.2%0%0%0%6
25%25%74.9%0.2%0%0%0%7
37.5%37.4%62.4%0.2%0%0%0%8
56.3%56.1%43.7%0.2%0%0%0%9
56.3%56.1%43.7%0.2%0%0%0%10
56.3%56.1%43.7%0.2%0%0%0%11
65.6%65.5%34.3%0.2%0%0%0%12
Compiler

Compiled 9 to 9 computations (0% saved)

sample1.1s (47.7%)

Memory
28.0MiB live, 1 071.2MiB allocated; 121ms collecting garbage
Samples
715.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 286.0ms
ival-mult: 196.0ms (68.5% of total)
ival-div: 77.0ms (26.9% of total)
ival-true: 6.0ms (2.1% of total)
ival-assert: 4.0ms (1.4% of total)
adjust: 3.0ms (1% of total)
Bogosity

explain87.0ms (3.6%)

Memory
-8.0MiB live, 85.7MiB allocated; 7ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
550-1(2.9407252439467725e-260 1.1630735635987429e-58 -3.053673105934206e+128 7.684376789596292e-142)(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
00-0-(*.f64 b1 b2)
00-0-(*.f64 a1 a2)
00-0-a1
00-0-b2
00-0-b1
00-0-a2
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/n160
(*.f64 a1 a2)overflow43
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/o110
(*.f64 b1 b2)overflow36
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/n80
(*.f64 a1 a2)underflow37
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/u70
(*.f64 a1 a2)underflow37
(*.f64 b1 b2)underflow31
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/o60
(*.f64 a1 a2)overflow43
(*.f64 b1 b2)overflow36
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/u60
(*.f64 b1 b2)underflow31
Confusion
Predicted +Predicted -
+541
-0201
Precision
1.0
Recall
0.9818181818181818
Confusion?
Predicted +Predicted MaybePredicted -
+5401
-00201
Precision?
1.0
Recall?
0.9818181818181818
Freqs
test
numberfreq
0202
154
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
43.0ms512×0valid
Compiler

Compiled 45 to 25 computations (44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 7.0ms (66.1% of total)
ival-div: 3.0ms (28.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess44.0ms (1.8%)

Memory
-3.0MiB live, 43.8MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036114
1116102
2326102
3697102
4997102
51879102
61895102
077
0107
1197
2377
3487
4487
0487
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
Symmetry

(negabs b2)

(negabs b1)

(negabs a2)

(negabs a1)

(sort a1 a2)

(sort b1 b2)

Compiler

Compiled 7 to 7 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.5%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 7 to 7 computations (0% saved)

simplify4.0ms (0.2%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 b1 b2)
cost-diff0
(*.f64 a1 a2)
cost-diff0
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
01017
11917
23717
34817
44817
04817
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
a1
a2
(*.f64 b1 b2)
b1
b2
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 a2)
(*.f64 a2 a1)
a1
a2
(*.f64 b1 b2)
(*.f64 b2 b1)
b1
b2

localize17.0ms (0.7%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 b1 b2)
accuracy0.0
(*.f64 a1 a2)
accuracy13.030009594032803
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Samples
12.0ms256×0valid
Compiler

Compiled 19 to 9 computations (52.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 3.0ms (61.7% of total)
ival-div: 1.0ms (20.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series17.0ms (0.7%)

Memory
-23.0MiB live, 28.3MiB allocated; 3ms collecting garbage
Counts
3 → 3
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(*.f64 b1 b2)
Outputs
(/ (* a1 a2) (* b1 b2))
(* a1 a2)
(* b1 b2)
Calls

12 calls:

TimeVariablePointExpression
6.0ms
a1
@0
((/ (* a1 a2) (* b1 b2)) (* a1 a2) (* b1 b2))
2.0ms
a2
@-inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) (* b1 b2))
1.0ms
a1
@-inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) (* b1 b2))
1.0ms
b2
@-inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) (* b1 b2))
1.0ms
a1
@inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) (* b1 b2))

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11613
23413
34513
44513
04513
Stop Event
iter limit
saturated
Counts
3 → 3
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(* a1 a2)
(* b1 b2)
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(* a1 a2)
(*.f64 a2 a1)
(* b1 b2)
(*.f64 b2 b1)

rewrite29.0ms (1.2%)

Memory
-13.5MiB live, 32.1MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
01013
12213
26513
320913
454813
555713
055713
Stop Event
iter limit
saturated
iter limit
Counts
3 → 33
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(*.f64 b1 b2)
Outputs
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 a2 a1)
(*.f64 a1 a2)
(neg.f64 (*.f64 (neg.f64 a1) a2))
(*.f64 (neg.f64 b2) (neg.f64 b1))
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 b2 b1)
(*.f64 b1 b2)
(neg.f64 (*.f64 (neg.f64 b2) b1))

eval3.0ms (0.1%)

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

Compiled 304 to 77 computations (74.7% saved)

prune4.0ms (0.2%)

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

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New30636
Fresh000
Picked011
Done000
Total30737
Accuracy
100.0%
Counts
37 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
76.3%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
89.2%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
79.5%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.7%
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
94.5%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
78.6%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
73.4%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Compiler

Compiled 95 to 95 computations (0% saved)

simplify4.0ms (0.2%)

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

Found 15 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 a1 b2)
cost-diff0
(*.f64 (/.f64 a1 b2) a2)
cost-diff0
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
cost-diff0
(/.f64 a1 b1)
cost-diff0
(*.f64 (/.f64 a1 b1) a2)
cost-diff0
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
cost-diff0
(/.f64 a1 b2)
cost-diff0
(/.f64 (/.f64 a1 b2) b1)
cost-diff0
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
cost-diff0
(/.f64 a1 b2)
cost-diff0
(/.f64 a2 b1)
cost-diff0
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
cost-diff0
(/.f64 a2 b2)
cost-diff0
(/.f64 (/.f64 a2 b2) b1)
cost-diff0
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01793
03093
14793
26193
36293
06293
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
a2
b2
b1
a1
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
a2
b1
(/.f64 a1 b2)
a1
b2
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 b2)
a1
b2
b1
a2
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 a1 b1)
a1
b1
a2
b2
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 a1 b2) a2)
(/.f64 a1 b2)
a1
b2
a2
b1
Outputs
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
a2
b2
b1
a1
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 a2 b1)
a2
b1
(/.f64 a1 b2)
a1
b2
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 b2)
a1
b2
b1
a2
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(*.f64 (/.f64 a1 b1) a2)
(/.f64 a1 b1)
a1
b1
a2
b2
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(*.f64 (/.f64 a1 b2) a2)
(/.f64 a1 b2)
a1
b2
a2
b1

localize53.0ms (2.2%)

Memory
-43.3MiB live, 100.3MiB allocated; 15ms collecting garbage
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 a1 b2)
accuracy8.249060288066127
(*.f64 (/.f64 a1 b2) a2)
accuracy8.348841180100228
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
accuracy0.0
(/.f64 a1 b1)
accuracy1.726879239430232
(*.f64 (/.f64 a1 b1) a2)
accuracy6.47573761295279
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
accuracy0.0
(/.f64 a1 b2)
accuracy5.966185790843888
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
accuracy9.417099031738097
(/.f64 (/.f64 a1 b2) b1)
accuracy0.0
(/.f64 a2 b1)
accuracy0.0
(/.f64 a1 b2)
accuracy16.911886357967454
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
accuracy0.0
(/.f64 a2 b2)
accuracy1.9376654780832459
(/.f64 (/.f64 a2 b2) b1)
accuracy3.4199990550089825
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
Samples
35.0ms256×0valid
Compiler

Compiled 95 to 19 computations (80% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-div: 13.0ms (62.7% of total)
ival-mult: 7.0ms (33.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series26.0ms (1.1%)

Memory
15.1MiB live, 61.5MiB allocated; 4ms collecting garbage
Counts
13 → 9
Calls
Call 1
Inputs
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
(/.f64 a1 b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 a1 b1)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 a1 b2) a2)
Outputs
(/ (* a1 a2) (* b1 b2))
(/ a1 b2)
(/ a1 (* b1 b2))
(/ (* a1 a2) b1)
(/ a1 b1)
(/ (* a1 a2) b2)
(/ a2 (* b1 b2))
(/ a2 b2)
(/ a2 b1)
Calls

12 calls:

TimeVariablePointExpression
4.0ms
b1
@-inf
((* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ a2 b2) (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2) (/ a1 b1) (/ (* (/ a1 b2) a2) b1) (* (/ a1 b2) a2))
4.0ms
a1
@0
((* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ a2 b2) (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2) (/ a1 b1) (/ (* (/ a1 b2) a2) b1) (* (/ a1 b2) a2))
3.0ms
a1
@-inf
((* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ a2 b2) (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2) (/ a1 b1) (/ (* (/ a1 b2) a2) b1) (* (/ a1 b2) a2))
3.0ms
a2
@-inf
((* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ a2 b2) (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2) (/ a1 b1) (/ (* (/ a1 b2) a2) b1) (* (/ a1 b2) a2))
2.0ms
a1
@inf
((* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ a2 b2) (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2) (/ a1 b1) (/ (* (/ a1 b2) a2) b1) (* (/ a1 b2) a2))

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01539
12439
23839
34139
04139
Stop Event
iter limit
saturated
Counts
9 → 9
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(/ a1 b2)
(/ a1 (* b1 b2))
(/ (* a1 a2) b1)
(/ a1 b1)
(/ (* a1 a2) b2)
(/ a2 (* b1 b2))
(/ a2 b2)
(/ a2 b1)
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/ a1 b2)
(/.f64 a1 b2)
(/ a1 (* b1 b2))
(/.f64 (/.f64 a1 b2) b1)
(/ (* a1 a2) b1)
(*.f64 (/.f64 a2 b1) a1)
(/ a1 b1)
(/.f64 a1 b1)
(/ (* a1 a2) b2)
(*.f64 (/.f64 a1 b2) a2)
(/ a2 (* b1 b2))
(/.f64 a2 (*.f64 b1 b2))
(/ a2 b2)
(/.f64 a2 b2)
(/ a2 b1)
(/.f64 a2 b1)

rewrite16.0ms (0.7%)

Memory
-16.6MiB live, 30.2MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01767
03067
16667
220167
351367
454767
054767
Stop Event
iter limit
saturated
iter limit
Counts
13 → 163
Calls
Call 1
Inputs
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
(/.f64 a1 b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 a1 b1)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 a1 b2) a2)
Outputs
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) (/.f64 a2 b2)) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(/.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 b2))
(/.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 b1))
(/.f64 (neg.f64 a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (/.f64 a2 b1) b2)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 (*.f64 b1 b2))
(neg.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(/.f64 (neg.f64 a2) (neg.f64 b2))
(/.f64 a2 b2)
(neg.f64 (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) (/.f64 a2 b2)) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(/.f64 (neg.f64 a2) (neg.f64 b1))
(/.f64 a2 b1)
(neg.f64 (/.f64 (neg.f64 a2) b1))
(/.f64 (neg.f64 a1) (neg.f64 b2))
(/.f64 a1 b2)
(neg.f64 (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) (/.f64 a2 b2)) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (/.f64 a1 b1) b2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 (*.f64 b1 b2))
(neg.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) (/.f64 a2 b2)) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(*.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 a1))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 (/.f64 a2 b1) a1)
(*.f64 a1 (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) b1)
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2))
(/.f64 (neg.f64 a1) (neg.f64 b1))
(/.f64 a1 b1)
(neg.f64 (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) (/.f64 a2 b2)) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 a1))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a1 (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) a1)
(*.f64 a2 (/.f64 a1 b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (neg.f64 b2))
(/.f64 (*.f64 a1 a2) b2)
(neg.f64 (*.f64 (neg.f64 a1) (/.f64 a2 b2)))

eval7.0ms (0.3%)

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

Compiled 760 to 176 computations (76.8% saved)

prune5.0ms (0.2%)

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

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New85388
Fresh101
Picked055
Done011
Total86995
Accuracy
100.0%
Counts
95 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.9%
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
76.3%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
89.2%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
79.5%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
94.5%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
78.6%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
85.7%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
73.4%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
83.0%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 63 to 63 computations (0% saved)

simplify6.0ms (0.3%)

Memory
-38.2MiB live, 8.5MiB allocated; 3ms collecting garbage
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 a2 b1)
cost-diff0
(*.f64 (/.f64 a2 b1) a1)
cost-diff0
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
cost-diff0
(*.f64 b1 b2)
cost-diff0
(/.f64 a2 (*.f64 b1 b2))
cost-diff0
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
cost-diff0
(*.f64 b1 b2)
cost-diff0
(/.f64 a1 (*.f64 b1 b2))
cost-diff0
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01257
02057
13457
25157
35757
45757
05757
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
a1
(*.f64 b1 b2)
b1
b2
a2
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 a2 (*.f64 b1 b2))
a2
(*.f64 b1 b2)
b1
b2
a1
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(*.f64 (/.f64 a2 b1) a1)
(/.f64 a2 b1)
a2
b1
a1
b2
Outputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(/.f64 a1 (*.f64 b1 b2))
(/.f64 a1 (*.f64 b2 b1))
a1
(*.f64 b1 b2)
(*.f64 b2 b1)
b1
b2
a2
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(/.f64 a2 (*.f64 b1 b2))
(/.f64 a2 (*.f64 b2 b1))
a2
(*.f64 b1 b2)
(*.f64 b2 b1)
b1
b2
a1
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a2 b1) a1)
(/.f64 a2 b1)
a2
b1
a1
b2

localize35.0ms (1.5%)

Memory
22.6MiB live, 71.0MiB allocated; 8ms collecting garbage
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 a2 b1)
accuracy6.47573761295279
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
accuracy7.695558273474121
(*.f64 (/.f64 a2 b1) a1)
accuracy0.0
(*.f64 b1 b2)
accuracy3.4199990550089825
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
accuracy7.844858622776505
(/.f64 a2 (*.f64 b1 b2))
accuracy0.0
(*.f64 b1 b2)
accuracy5.966185790843888
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
accuracy6.288852875664857
(/.f64 a1 (*.f64 b1 b2))
Samples
28.0ms256×0valid
Compiler

Compiled 59 to 14 computations (76.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-div: 10.0ms (61.3% of total)
ival-mult: 6.0ms (36.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series17.0ms (0.7%)

Memory
-6.3MiB live, 40.4MiB allocated; 4ms collecting garbage
Counts
8 → 6
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
(*.f64 b1 b2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 a2 (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(*.f64 (/.f64 a2 b1) a1)
(/.f64 a2 b1)
Outputs
(/ (* a1 a2) (* b1 b2))
(/ a1 (* b1 b2))
(/ (* a1 a2) b1)
(/ a2 (* b1 b2))
(/ a2 b1)
(* b1 b2)
Calls

12 calls:

TimeVariablePointExpression
3.0ms
b1
@0
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) (* b1 b2) (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (* (/ a2 b1) a1) b2) (* (/ a2 b1) a1) (/ a2 b1))
2.0ms
b1
@-inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) (* b1 b2) (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (* (/ a2 b1) a1) b2) (* (/ a2 b1) a1) (/ a2 b1))
1.0ms
b2
@-inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) (* b1 b2) (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (* (/ a2 b1) a1) b2) (* (/ a2 b1) a1) (/ a2 b1))
1.0ms
a2
@-inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) (* b1 b2) (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (* (/ a2 b1) a1) b2) (* (/ a2 b1) a1) (/ a2 b1))
1.0ms
a2
@inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) (* b1 b2) (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (* (/ a2 b1) a1) b2) (* (/ a2 b1) a1) (/ a2 b1))

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01128
12128
23728
34428
44428
04428
Stop Event
iter limit
saturated
Counts
6 → 6
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(/ a1 (* b1 b2))
(/ (* a1 a2) b1)
(/ a2 (* b1 b2))
(/ a2 b1)
(* b1 b2)
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(/ a1 (* b1 b2))
(/.f64 a1 (*.f64 b2 b1))
(/ (* a1 a2) b1)
(*.f64 (/.f64 a1 b1) a2)
(/ a2 (* b1 b2))
(/.f64 a2 (*.f64 b2 b1))
(/ a2 b1)
(/.f64 a2 b1)
(* b1 b2)
(*.f64 b2 b1)

rewrite13.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
02042
14442
212142
335342
445242
545742
045742
Stop Event
iter limit
saturated
iter limit
Counts
8 → 102
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
(*.f64 b1 b2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 a2 (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(*.f64 (/.f64 a2 b1) a1)
(/.f64 a2 b1)
Outputs
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (/.f64 a1 b1) b2)
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b2) b1))
(/.f64 a1 (*.f64 b2 b1))
(neg.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 b2) (neg.f64 b1))
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 b2 b1)
(*.f64 b1 b2)
(neg.f64 (*.f64 (neg.f64 b2) b1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(/.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 b1))
(/.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 b2))
(/.f64 (/.f64 a2 b2) b1)
(/.f64 (neg.f64 a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (/.f64 a2 b1) b2)
(/.f64 a2 (*.f64 b2 b1))
(neg.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(*.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 a2 b1) a1)
(*.f64 a2 (/.f64 a1 b1))
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a2 a1) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (neg.f64 b1))
(neg.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1))
(/.f64 (neg.f64 a2) (neg.f64 b1))
(/.f64 a2 b1)
(neg.f64 (/.f64 (neg.f64 a2) b1))

eval33.0ms (1.4%)

Memory
-31.5MiB live, 15.2MiB allocated; 4ms collecting garbage
Compiler

Compiled 582 to 143 computations (75.4% saved)

prune6.0ms (0.3%)

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

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New68068
Fresh000
Picked033
Done066
Total68977
Accuracy
100.0%
Counts
77 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.9%
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
76.3%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
89.2%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
79.5%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
94.5%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
78.6%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
85.7%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
73.4%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
83.0%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 135 to 94 computations (30.4% saved)

regimes47.0ms (2%)

Memory
7.7MiB live, 54.8MiB allocated; 3ms collecting garbage
Counts
10 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
Outputs
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
Calls

7 calls:

29.0ms
a2
3.0ms
a1
3.0ms
b2
3.0ms
b1
3.0ms
(*.f64 a1 a2)
Results
AccuracySegmentsBranch
98.6%2(*.f64 b1 b2)
99.0%2(*.f64 a1 a2)
98.0%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
98.2%2a1
94.5%1a2
94.5%1b1
98.2%2b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes48.0ms (2%)

Memory
-44.7MiB live, 17.1MiB allocated; 64ms collecting garbage
Counts
6 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
Outputs
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
Calls

3 calls:

43.0ms
b2
2.0ms
(*.f64 a1 a2)
2.0ms
(*.f64 b1 b2)
Results
AccuracySegmentsBranch
98.2%2b2
99.7%3(*.f64 b1 b2)
94.5%1(*.f64 a1 a2)
Compiler

Compiled 7 to 14 computations (-100% saved)

regimes14.0ms (0.6%)

Memory
37.0MiB live, 37.0MiB allocated; 0ms collecting garbage
Counts
5 → 4
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
Outputs
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Calls

7 calls:

2.0ms
(*.f64 a1 a2)
2.0ms
a2
2.0ms
a1
2.0ms
b2
2.0ms
(*.f64 b1 b2)
Results
AccuracySegmentsBranch
93.9%3b1
92.6%3(*.f64 a1 a2)
88.2%2a2
97.0%3(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
99.0%4(*.f64 b1 b2)
88.5%2a1
92.0%2b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes8.0ms (0.3%)

Memory
-39.9MiB live, 9.1MiB allocated; 8ms collecting garbage
Counts
4 → 4
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Outputs
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Calls

2 calls:

6.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
2.0ms
(*.f64 b1 b2)
Results
AccuracySegmentsBranch
96.0%3(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
98.2%4(*.f64 b1 b2)
Compiler

Compiled 10 to 12 computations (-20% saved)

regimes8.0ms (0.3%)

Memory
19.0MiB live, 19.0MiB allocated; 0ms collecting garbage
Counts
3 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Outputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
Calls

5 calls:

2.0ms
(*.f64 b1 b2)
1.0ms
(*.f64 a1 a2)
1.0ms
b2
1.0ms
b1
1.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Results
AccuracySegmentsBranch
85.7%1(*.f64 a1 a2)
87.9%2b2
88.5%2b1
88.6%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
88.6%2(*.f64 b1 b2)
Compiler

Compiled 15 to 25 computations (-66.7% saved)

regimes7.0ms (0.3%)

Memory
24.5MiB live, 24.5MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Outputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Calls

7 calls:

1.0ms
a1
1.0ms
a2
1.0ms
b1
1.0ms
b2
1.0ms
(*.f64 b1 b2)
Results
AccuracySegmentsBranch
83.0%1(*.f64 a1 a2)
83.0%1b2
83.0%1a2
83.0%1b1
83.0%1a1
83.0%1(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.0%1(*.f64 b1 b2)
Compiler

Compiled 17 to 33 computations (-94.1% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.388110175017465e-5
0.0002160670549219454
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch14.0ms (0.6%)

Memory
-17.3MiB live, 27.8MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
13.0ms
5921887733.680672
57697283641275.28
Samples
8.0ms128×0valid
Compiler

Compiled 122 to 142 computations (-16.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 4.0ms (78.2% of total)
ival-div: 1.0ms (19.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.4191153740653857e+290
1.192887030361027e+293
0.0ms
2976.6101011395704
309036.04723089037
0.0ms
0.0
6.4e-323
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.4191153740653857e+290
1.192887030361027e+293
0.0ms
2976.6101011395704
309036.04723089037
0.0ms
0.0
6.4e-323
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch3.0ms (0.1%)

Memory
7.6MiB live, 7.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
2.0ms
2976.6101011395704
309036.04723089037
Samples
1.0ms32×0valid
Compiler

Compiled 30 to 42 computations (-40% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-div: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify11.0ms (0.4%)

Memory
-20.6MiB live, 26.8MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040157
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 a1 a2) #s(literal 5902958103587057/295147905179352825856 binary64)) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) (*.f64 (/.f64 (/.f64 a2 b2) b1) a1))
(if (<=.f64 b2 #s(literal 170000000000 binary64)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2) (*.f64 (/.f64 (/.f64 a2 b2) b1) a1))
(if (<=.f64 (*.f64 b1 b2) #s(literal 0 binary64)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2) (if (<=.f64 (*.f64 b1 b2) #s(literal 5000 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) #s(literal 200000000000000012345566705573431377398874462192602251662010570107762675307934311788507834188892959338862091690298252262069181570867912343476423070733974457108518204218323764372269486067627507254546771920492554489989692515780696061630802248473408403824265151663702610072177901842265203015680 binary64)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))
(if (<=.f64 (*.f64 b1 b2) #s(literal 0 binary64)) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (if (<=.f64 (*.f64 b1 b2) #s(literal 5000 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) #s(literal 200000000000000012345566705573431377398874462192602251662010570107762675307934311788507834188892959338862091690298252262069181570867912343476423070733974457108518204218323764372269486067627507254546771920492554489989692515780696061630802248473408403824265151663702610072177901842265203015680 binary64)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))
(if (<=.f64 (*.f64 b1 b2) #s(literal 50000 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Outputs
(if (<=.f64 (*.f64 a1 a2) #s(literal 5902958103587057/295147905179352825856 binary64)) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) (*.f64 (/.f64 (/.f64 a2 b2) b1) a1))
(if (<=.f64 b2 #s(literal 170000000000 binary64)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2) (*.f64 (/.f64 (/.f64 a2 b2) b1) a1))
(if (<=.f64 (*.f64 b1 b2) #s(literal 0 binary64)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2) (if (<=.f64 (*.f64 b1 b2) #s(literal 5000 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) #s(literal 200000000000000012345566705573431377398874462192602251662010570107762675307934311788507834188892959338862091690298252262069181570867912343476423070733974457108518204218323764372269486067627507254546771920492554489989692515780696061630802248473408403824265151663702610072177901842265203015680 binary64)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))
(if (<=.f64 (*.f64 b1 b2) #s(literal 0 binary64)) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (if (<=.f64 (*.f64 b1 b2) #s(literal 5000 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) #s(literal 200000000000000012345566705573431377398874462192602251662010570107762675307934311788507834188892959338862091690298252262069181570867912343476423070733974457108518204218323764372269486067627507254546771920492554489989692515780696061630802248473408403824265151663702610072177901842265203015680 binary64)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))
(if (<=.f64 (*.f64 b1 b2) #s(literal 50000 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)

derivations55.0ms (2.3%)

Memory
-8.1MiB live, 46.7MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
01013
12213
26513
320913
454813
555713
055713
01767
03067
16667
220167
351367
454767
054767
Stop Event
done
iter limit
saturated
iter limit
iter limit
saturated
iter limit
Compiler

Compiled 157 to 40 computations (74.5% saved)

preprocess390.0ms (16.4%)

Memory
17.5MiB live, 829.2MiB allocated; 101ms collecting garbage
Compiler

Compiled 894 to 384 computations (57% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...