Quotient of products

Time bar (total: 1.6s)

start0.0ms (0%)

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

analyze127.0ms (7.8%)

Memory
-12.9MiB live, 167.2MiB allocated; 27ms 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)

sample925.0ms (56.7%)

Memory
42.4MiB live, 782.8MiB allocated; 829ms collecting garbage
Samples
642.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 436.0ms
ival-div!: 318.0ms (72.9% of total)
ival-mult!: 117.0ms (26.8% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

explain78.0ms (4.8%)

Memory
-9.3MiB live, 81.0MiB allocated; 10ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
400-1(2.5971275641893987e-108 -2.7569946282178914e-213 -2.1846900354810607e-127 -1.662645505635062e+94)(/.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))n/u110
(*.f64 b1 b2)underflow27
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/o100
(*.f64 b1 b2)overflow34
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/n90
(*.f64 a1 a2)overflow34
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/o30
(*.f64 a1 a2)overflow34
(*.f64 b1 b2)overflow34
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/n30
(*.f64 a1 a2)underflow26
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/u30
(*.f64 a1 a2)underflow26
(*.f64 b1 b2)underflow27
Confusion
Predicted +Predicted -
+391
-0216
Precision
1.0
Recall
0.975
Confusion?
Predicted +Predicted MaybePredicted -
+3901
-00216
Precision?
1.0
Recall?
0.975
Freqs
test
numberfreq
0217
139
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
22.0ms512×0valid
Compiler

Compiled 45 to 25 computations (44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult!: 5.0ms (67.6% of total)
ival-div!: 2.0ms (27.1% of total)
adjust: 0.0ms (0% of total)

preprocess14.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03381
110881
224781
333381
433381
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

(sort a1 a2)

(sort b1 b2)

Compiler

Compiled 7 to 7 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

series17.0ms (1.1%)

Memory
-16.5MiB live, 29.4MiB allocated; 3ms collecting garbage
Counts
7 → 7
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
a1
a2
(*.f64 b1 b2)
b1
b2
Outputs
#s(approx (/ (* a1 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx a1 #s(hole binary64 a1))
#s(approx a2 #s(hole binary64 a2))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

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

rewrite20.0ms (1.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01758
01858
13058
27358
321558
455458
556358
056358
Stop Event
iter-limit
saturated
iter-limit
Counts
14 → 44
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
a1
a2
(*.f64 b1 b2)
b1
b2
#s(approx (/ (* a1 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx a1 #s(hole binary64 a1))
#s(approx a2 #s(hole binary64 a2))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 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 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) 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 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 a2 a1)
(*.f64 a1 a2)
(neg.f64 (*.f64 (neg.f64 a2) a1))
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))
b1
b2
#s(approx (/ (* a1 a2) (* b1 b2)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2))
#s(approx (* a1 a2) (*.f64 a2 a1))
#s(approx a1 a1)
#s(approx a2 a2)
#s(approx (* b1 b2) (*.f64 b2 b1))
#s(approx b1 b1)
#s(approx b2 b2)

eval4.0ms (0.2%)

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

Compiled 368 to 89 computations (75.8% saved)

prune33.0ms (2.1%)

Memory
-41.6MiB live, 11.5MiB allocated; 8ms collecting garbage
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New38644
Fresh000
Picked011
Done000
Total38745
Accuracy
100.0%
Counts
45 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
84.7%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
85.4%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
88.3%
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
86.5%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
86.8%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
87.6%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Compiler

Compiled 95 to 95 computations (0% saved)

series25.0ms (1.5%)

Memory
44.3MiB live, 44.3MiB allocated; 0ms collecting garbage
Counts
17 → 17
Calls
Call 1
Inputs
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 a1 b2) a2)
(/.f64 a1 b2)
a1
b2
a2
b1
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 a1 b1)
Outputs
#s(approx (/ (* (/ a1 b2) a2) b1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ a1 b2) a2) #s(hole binary64 (/ (* a1 a2) b2)))
#s(approx (/ a1 b2) #s(hole binary64 (/ a1 b2)))
#s(approx a1 #s(hole binary64 a1))
#s(approx (* (/ a2 b1) (/ a1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ (/ a1 b2) b1) a2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (/ a1 b2) b1) #s(hole binary64 (/ a1 (* b1 b2))))
#s(approx (* (/ (/ a2 b2) b1) a1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* (/ a1 b1) a2) b2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ a1 b1) a2) #s(hole binary64 (/ (* a1 a2) b1)))
#s(approx (/ a1 b1) #s(hole binary64 (/ a1 b1)))
#s(approx a2 #s(hole binary64 a2))
#s(approx (/ a2 b1) #s(hole binary64 (/ a2 b1)))
#s(approx (/ (/ a2 b2) b1) #s(hole binary64 (/ a2 (* b1 b2))))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

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

rewrite23.0ms (1.4%)

Memory
-21.7MiB live, 24.0MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054230
071230
1120230
2253230
3531230
4538230
0538230
Stop Event
iter-limit
saturated
iter-limit
Counts
34 → 184
Calls
Call 1
Inputs
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 a1 b2) a2)
(/.f64 a1 b2)
a1
b2
a2
b1
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 a1 b1)
#s(approx (/ (* (/ a1 b2) a2) b1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ a1 b2) a2) #s(hole binary64 (/ (* a1 a2) b2)))
#s(approx (/ a1 b2) #s(hole binary64 (/ a1 b2)))
#s(approx a1 #s(hole binary64 a1))
#s(approx (* (/ a2 b1) (/ a1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ (/ a1 b2) b1) a2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (/ a1 b2) b1) #s(hole binary64 (/ a1 (* b1 b2))))
#s(approx (* (/ (/ a2 b2) b1) a1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* (/ a1 b1) a2) b2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ a1 b1) a2) #s(hole binary64 (/ (* a1 a2) b1)))
#s(approx (/ a1 b1) #s(hole binary64 (/ a1 b1)))
#s(approx a2 #s(hole binary64 a2))
#s(approx (/ a2 b1) #s(hole binary64 (/ a2 b1)))
#s(approx (/ (/ a2 b2) b1) #s(hole binary64 (/ a2 (* b1 b2))))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Outputs
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 a2 (/.f64 a1 b2)) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(*.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 a1))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 a2 b2) a1)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a2 a1) b2)
(/.f64 (*.f64 (neg.f64 a1) a2) (neg.f64 b2))
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2))
(/.f64 (neg.f64 a1) (neg.f64 b2))
(/.f64 a1 b2)
(neg.f64 (/.f64 (neg.f64 a1) b2))
a1
b2
a2
b1
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 a2 (/.f64 a1 b2)) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(/.f64 (neg.f64 a2) (neg.f64 b1))
(/.f64 a2 b1)
(neg.f64 (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 a2 (/.f64 a1 b2)) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 a1 b1) b2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 (*.f64 b1 b2))
(neg.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 a2 (/.f64 a1 b2)) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(/.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 b1) b2))
(/.f64 (/.f64 a2 b2) b1)
(/.f64 (/.f64 a2 b1) b2)
(/.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 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 a2 (/.f64 a1 b2)) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(*.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 a2))
(*.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 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 a1) (neg.f64 b1))
(/.f64 a1 b1)
(neg.f64 (/.f64 (neg.f64 a1) b1))
#s(approx (* (/ a2 b1) (/ a1 b2)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2))
#s(approx (* (/ a1 b2) a2) (*.f64 a2 (/.f64 a1 b2)))
#s(approx (/ a1 b2) (/.f64 a1 b2))
#s(approx a1 a1)
#s(approx (* (/ a2 b1) (/ a1 b2)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2))
#s(approx (* (/ a2 b1) (/ a1 b2)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2))
#s(approx (/ (/ a1 b2) b1) (/.f64 (/.f64 a1 b2) b1))
#s(approx (* (/ a2 b1) (/ a1 b2)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2))
#s(approx (* (/ a2 b1) (/ a1 b2)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2))
#s(approx (* (/ a1 b1) a2) (*.f64 (/.f64 a1 b1) a2))
#s(approx (/ a1 b1) (/.f64 a1 b1))
#s(approx a2 a2)
#s(approx (/ a2 b1) (/.f64 a2 b1))
#s(approx (/ (/ a2 b2) b1) (/.f64 (/.f64 a2 b2) b1))
#s(approx (/ a2 b2) (/.f64 a2 b2))
#s(approx b1 b1)
#s(approx b2 b2)

eval13.0ms (0.8%)

Memory
-17.4MiB live, 28.0MiB allocated; 4ms collecting garbage
Compiler

Compiled 1 080 to 220 computations (79.6% saved)

prune6.0ms (0.4%)

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

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New1244128
Fresh101
Picked145
Done011
Total1269135
Accuracy
100.0%
Counts
135 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
88.3%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
88.6%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
84.7%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
85.4%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
86.5%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
86.4%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
87.6%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
86.0%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 63 to 63 computations (0% saved)

series21.0ms (1.3%)

Memory
7.9MiB live, 54.9MiB allocated; 2ms collecting garbage
Counts
15 → 15
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))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 b2) a1)
(/.f64 a2 b2)
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) b1)
(*.f64 a2 a1)
Outputs
#s(approx (* (/ a1 (* b1 b2)) a2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ a1 (* b1 b2)) #s(hole binary64 (/ a1 (* b1 b2))))
#s(approx a1 #s(hole binary64 a1))
#s(approx (* (/ a2 (* b1 b2)) a1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* (/ a2 b2) a1) b1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ a2 b2) a1) #s(hole binary64 (/ (* a1 a2) b2)))
#s(approx (/ (/ (* a2 a1) b1) b2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* a2 a1) b1) #s(hole binary64 (/ (* a1 a2) b1)))
#s(approx (* a2 a1) #s(hole binary64 (* a1 a2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx (/ a2 (* b1 b2)) #s(hole binary64 (/ a2 (* b1 b2))))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

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

rewrite23.0ms (1.4%)

Memory
-32.0MiB live, 28.8MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045198
058198
195198
2186198
3415198
4450198
0450198
Stop Event
iter-limit
saturated
iter-limit
Counts
30 → 160
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))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 b2) a1)
(/.f64 a2 b2)
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) b1)
(*.f64 a2 a1)
#s(approx (* (/ a1 (* b1 b2)) a2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ a1 (* b1 b2)) #s(hole binary64 (/ a1 (* b1 b2))))
#s(approx a1 #s(hole binary64 a1))
#s(approx (* (/ a2 (* b1 b2)) a1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* (/ a2 b2) a1) b1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ a2 b2) a1) #s(hole binary64 (/ (* a1 a2) b2)))
#s(approx (/ (/ (* a2 a1) b1) b2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* a2 a1) b1) #s(hole binary64 (/ (* a1 a2) b1)))
#s(approx (* a2 a1) #s(hole binary64 (* a1 a2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx (/ a2 (* b1 b2)) #s(hole binary64 (/ a2 (* b1 b2))))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
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 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b2) (neg.f64 b1))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) a1))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b1) b2)
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b1) b2))
(/.f64 a1 (*.f64 b2 b1))
(neg.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2))
a1
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 (neg.f64 b2) (neg.f64 b1))
(*.f64 b2 b1)
(*.f64 b1 b2)
(neg.f64 (*.f64 (neg.f64 b1) b2))
b1
b2
a2
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b2) (neg.f64 b1))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) a1))
(/.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 b1))
(/.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 b2))
(/.f64 (/.f64 a2 b1) b2)
(/.f64 (neg.f64 a2) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 (*.f64 b2 b1))
(neg.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b2) (neg.f64 b1))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) a1))
(*.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 a1))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b2))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b2) a1)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (neg.f64 b2))
(/.f64 (*.f64 a2 a1) b2)
(neg.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b2))
(/.f64 (neg.f64 a2) (neg.f64 b2))
(/.f64 a2 b2)
(neg.f64 (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b2) (neg.f64 b1))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) a1))
(*.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 a2))
(*.f64 (/.f64 a2 b1) a1)
(*.f64 (/.f64 a1 b1) a2)
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b1))
(*.f64 a2 (/.f64 a1 b1))
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 (neg.f64 a2) a1) (neg.f64 b1))
(/.f64 (*.f64 a2 a1) b1)
(neg.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 a2 a1)
(*.f64 a1 a2)
(neg.f64 (*.f64 (neg.f64 a2) a1))
#s(approx (/ (* (/ a2 b2) a1) b1) (*.f64 (/.f64 a1 (*.f64 b2 b1)) a2))
#s(approx (/ a1 (* b1 b2)) (/.f64 a1 (*.f64 b2 b1)))
#s(approx a1 a1)
#s(approx (/ (* (/ a2 b2) a1) b1) (*.f64 (/.f64 a1 (*.f64 b2 b1)) a2))
#s(approx (/ (* (/ a2 b2) a1) b1) (*.f64 (/.f64 a1 (*.f64 b2 b1)) a2))
#s(approx (* (/ a2 b2) a1) (*.f64 (/.f64 a2 b2) a1))
#s(approx (/ (* (/ a2 b2) a1) b1) (*.f64 (/.f64 a1 (*.f64 b2 b1)) a2))
#s(approx (/ (* a2 a1) b1) (/.f64 (*.f64 a2 a1) b1))
#s(approx (* a2 a1) (*.f64 a2 a1))
#s(approx a2 a2)
#s(approx (/ a2 (* b1 b2)) (/.f64 a2 (*.f64 b2 b1)))
#s(approx (/ a2 b2) (/.f64 a2 b2))
#s(approx (* b1 b2) (*.f64 b2 b1))
#s(approx b1 b1)
#s(approx b2 b2)

eval10.0ms (0.6%)

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

Compiled 992 to 220 computations (77.8% saved)

prune17.0ms (1%)

Memory
-3.1MiB live, 41.0MiB allocated; 7ms collecting garbage
Pruning

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New1180118
Fresh000
Picked044
Done055
Total1189127
Accuracy
100.0%
Counts
127 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
88.3%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
88.6%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
84.7%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
85.4%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
86.5%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
86.4%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
87.6%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
86.0%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 142 to 97 computations (31.7% saved)

regimes84.0ms (5.2%)

Memory
9.7MiB live, 49.3MiB allocated; 14ms collecting garbage
Counts
11 → 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 b2) a1) b1)
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
Outputs
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
Calls

7 calls:

64.0ms
b1
3.0ms
b2
3.0ms
a2
3.0ms
a1
3.0ms
(*.f64 a1 a2)
Results
AccuracySegmentsBranch
97.8%5(*.f64 b1 b2)
97.1%5(*.f64 a1 a2)
93.3%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
92.5%3a1
90.9%2a2
90.9%2b1
93.1%3b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes6.0ms (0.4%)

Memory
8.6MiB live, 8.6MiB allocated; 0ms collecting garbage
Counts
9 → 5
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 b2) a1) b1)
Outputs
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
Calls

2 calls:

3.0ms
(*.f64 b1 b2)
3.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Results
AccuracySegmentsBranch
97.8%5(*.f64 b1 b2)
97.6%5(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 10 to 12 computations (-20% saved)

regimes24.0ms (1.5%)

Memory
-33.1MiB live, 13.3MiB allocated; 5ms collecting garbage
Counts
8 → 5
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)
Outputs
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
Calls

3 calls:

18.0ms
(*.f64 a1 a2)
3.0ms
(*.f64 b1 b2)
2.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Results
AccuracySegmentsBranch
90.9%2(*.f64 a1 a2)
97.1%5(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
96.4%5(*.f64 b1 b2)
Compiler

Compiled 13 to 17 computations (-30.8% saved)

regimes2.0ms (0.1%)

Memory
5.0MiB live, 5.0MiB allocated; 0ms collecting garbage
Counts
5 → 5
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 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Calls

1 calls:

2.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Results
AccuracySegmentsBranch
96.8%5(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 7 to 7 computations (0% saved)

regimes2.0ms (0.1%)

Memory
4.2MiB live, 4.2MiB allocated; 0ms 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 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Calls

1 calls:

2.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Results
AccuracySegmentsBranch
94.9%4(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 7 to 7 computations (0% saved)

regimes11.0ms (0.7%)

Memory
24.7MiB live, 24.7MiB 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 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Calls

7 calls:

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

Compiled 17 to 33 computations (-94.1% saved)

regimes19.0ms (1.1%)

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

4 calls:

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

Compiled 12 to 20 computations (-66.7% saved)

regimes7.0ms (0.4%)

Memory
17.3MiB live, 17.3MiB 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
b2
1.0ms
b1
1.0ms
a1
1.0ms
a2
1.0ms
(*.f64 a1 a2)
Results
AccuracySegmentsBranch
86.0%1(*.f64 b1 b2)
86.0%1a1
86.0%1b1
86.0%1(*.f64 a1 a2)
86.0%1(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
86.0%1a2
86.0%1b2
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.4808296964582132e+233
5.471751887727135e+252
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.461662670875817e+171
8.29263101230745e+182
0.0ms
3.988470655709436e-294
2.817783936407995e-290
0.0ms
-2.6810325372669512e-260
-3.1864728735075854e-296
0.0ms
-4.98705479011588e+105
-1.3658901152070614e+102
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.4808296964582132e+233
5.471751887727135e+252
0.0ms
5.690392778975992e-260
1.0327316167830296e-248
0.0ms
-2.5353570907017385e-222
-3.048613180759463e-250
0.0ms
-3.510752121311847e+296
-9.665251060048532e+263
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.471751887727135e+252
1.1525520677303627e+269
0.0ms
5.690392778975992e-260
1.0327316167830296e-248
0.0ms
-2.5353570907017385e-222
-3.048613180759463e-250
0.0ms
-3.510752121311847e+296
-9.665251060048532e+263
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.471751887727135e+252
1.1525520677303627e+269
0.0ms
5.690392778975992e-260
1.0327316167830296e-248
0.0ms
-2.5353570907017385e-222
-3.048613180759463e-250
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.8537960013092805e+213
3.4909440532372686e+219
Compiler

Compiled 10 to 14 computations (-40% saved)

derivations31.0ms (1.9%)

Memory
-2.9MiB live, 44.7MiB allocated; 3ms collecting garbage
Stop Event
done
Compiler

Compiled 329 to 58 computations (82.4% saved)

preprocess85.0ms (5.2%)

Memory
-17.2MiB live, 172.2MiB allocated; 19ms collecting garbage
Remove

(sort b1 b2)

(sort a1 a2)

Compiler

Compiled 2 050 to 712 computations (65.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...