Quotient of products

Time bar (total: 2.5s)

start0.0ms (0%)

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

analyze152.0ms (6.2%)

Memory
-6.1MiB live, 327.9MiB allocated; 54ms 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.0s (41.2%)

Memory
11.1MiB live, 1 357.4MiB allocated; 212ms collecting garbage
Samples
667.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 337.0ms
ival-mult: 273.0ms (81% of total)
ival-div: 53.0ms (15.7% of total)
ival-true: 6.0ms (1.8% of total)
ival-assert: 3.0ms (0.9% of total)
adjust: 2.0ms (0.6% of total)
Bogosity

explain175.0ms (7.1%)

Memory
-36.5MiB live, 159.2MiB allocated; 10ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
360-1(-9.005514052194354e-201 1.9862573798802073e-123 -8.932526800822814e-233 -8.929808333038294e+79)(/.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/o110
(*.f64 b1 b2)overflow36
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/n70
(*.f64 a1 a2)underflow30
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/o50
(*.f64 a1 a2)overflow29
(*.f64 b1 b2)overflow36
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/u50
(*.f64 a1 a2)underflow30
(*.f64 b1 b2)underflow27
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/n40
(*.f64 a1 a2)overflow29
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/u30
(*.f64 b1 b2)underflow27
Confusion
Predicted +Predicted -
+351
-0220
Precision
1.0
Recall
0.9722222222222222
Confusion?
Predicted +Predicted MaybePredicted -
+3501
-00220
Precision?
1.0
Recall?
0.9722222222222222
Freqs
test
numberfreq
0221
135
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
40.0ms512×0valid
Compiler

Compiled 45 to 25 computations (44.4% saved)

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

preprocess67.0ms (2.7%)

Memory
35.2MiB live, 79.9MiB allocated; 4ms collecting garbage
Algorithm
egg-herbie
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.3MiB live, 0.3MiB 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
86.5%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 7 to 7 computations (0% saved)

simplify29.0ms (1.2%)

Memory
-35.9MiB live, 7.7MiB allocated; 5ms collecting garbage
Algorithm
egg-herbie
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

localize45.0ms (1.8%)

Memory
-10.2MiB live, 52.6MiB allocated; 10ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 b1 b2)
accuracy0.0
(*.f64 a1 a2)
accuracy8.520811544033139
(/.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 (60.9% of total)
ival-div: 1.0ms (20.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series12.0ms (0.5%)

Memory
33.7MiB live, 33.7MiB allocated; 0ms 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
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
a1
@0
((/ (* a1 a2) (* b1 b2)) (* a1 a2) (* b1 b2))
1.0ms
b2
@-inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) (* b1 b2))
1.0ms
b1
@-inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) (* b1 b2))

simplify18.0ms (0.7%)

Memory
-39.3MiB live, 7.7MiB allocated; 3ms collecting garbage
Algorithm
egg-herbie
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)

rewrite20.0ms (0.8%)

Memory
44.8MiB live, 44.8MiB allocated; 0ms 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))

eval19.0ms (0.8%)

Memory
-34.0MiB live, 10.9MiB allocated; 5ms collecting garbage
Compiler

Compiled 304 to 77 computations (74.7% saved)

prune5.0ms (0.2%)

Memory
11.8MiB live, 11.8MiB 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
78.4%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
93.0%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
86.5%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.7%
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
89.6%
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
94.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
79.1%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
Compiler

Compiled 99 to 99 computations (0% saved)

simplify9.0ms (0.4%)

Memory
16.7MiB live, 16.7MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 a1)
cost-diff0
(/.f64 (neg.f64 a1) b1)
cost-diff0
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
cost-diff2
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
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 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
020103
036101
159101
2100101
3181101
4325101
5430101
0430101
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 (/.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
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) b1)
(neg.f64 a1)
a1
b1
b2
(neg.f64 a2)
a2
Outputs
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
a2
b2
b1
a1
(*.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 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 a1 b1)
a1
b1
a2
b2
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) a2)
(/.f64 a1 b2)
a1
b2
a2
b1
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) b1)
(neg.f64 a1)
a1
b1
b2
(neg.f64 a2)
a2

localize82.0ms (3.3%)

Memory
9.2MiB live, 153.7MiB allocated; 13ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(neg.f64 a2)
accuracy0.0
(neg.f64 a1)
accuracy2.2783914083139187
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
accuracy6.405480301542608
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
accuracy0.0
(/.f64 a1 b2)
accuracy5.912943303677622
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
accuracy9.644327975587952
(*.f64 (/.f64 a1 b2) a2)
accuracy0.0
(/.f64 a1 b1)
accuracy2.2460247339605734
(*.f64 (/.f64 a1 b1) a2)
accuracy4.4375494857108615
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
accuracy0.0
(/.f64 a1 b2)
accuracy6.405480301542608
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
accuracy7.856164057797059
(/.f64 (/.f64 a1 b2) b1)
accuracy0.0
(/.f64 a2 b2)
accuracy1.7409172617150637
(/.f64 (/.f64 a2 b2) b1)
accuracy3.6749423722778456
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
Samples
69.0ms256×0valid
Compiler

Compiled 105 to 22 computations (79% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
ival-div: 16.0ms (52.4% of total)
ival-mult: 12.0ms (39.3% of total)
ival-neg: 2.0ms (6.5% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series74.0ms (3%)

Memory
-47.7MiB live, 100.3MiB allocated; 12ms collecting garbage
Counts
16 → 12
Calls
Call 1
Inputs
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 b2)
(/.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)
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) b1)
(neg.f64 a1)
(neg.f64 a2)
Outputs
(/ (* a1 a2) (* b1 b2))
(/ a1 (* b1 b2))
(/ a1 b2)
(/ (* a1 a2) b1)
(/ a1 b1)
(/ (* a1 a2) b2)
(* -1 (/ a1 (* b1 b2)))
(* -1 (/ a1 b1))
(* -1 a1)
(/ a2 (* b1 b2))
(/ a2 b2)
(* -1 a2)
Calls

12 calls:

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

simplify5.0ms (0.2%)

Memory
14.6MiB live, 14.6MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01950
13950
27150
39350
49450
09450
Stop Event
iter limit
saturated
Counts
12 → 12
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(/ a1 (* b1 b2))
(/ a1 b2)
(/ (* a1 a2) b1)
(/ a1 b1)
(/ (* a1 a2) b2)
(* -1 (/ a1 (* b1 b2)))
(* -1 (/ a1 b1))
(* -1 a1)
(/ a2 (* b1 b2))
(/ a2 b2)
(* -1 a2)
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/ a1 (* b1 b2))
(/.f64 a1 (*.f64 b1 b2))
(/ a1 b2)
(/.f64 a1 b2)
(/ (* a1 a2) b1)
(*.f64 (/.f64 a2 b1) a1)
(/ a1 b1)
(/.f64 a1 b1)
(/ (* a1 a2) b2)
(*.f64 (/.f64 a1 b2) a2)
(* -1 (/ a1 (* b1 b2)))
(/.f64 (/.f64 (neg.f64 a1) b2) b1)
(* -1 (/ a1 b1))
(/.f64 (neg.f64 a1) b1)
(* -1 a1)
(neg.f64 a1)
(/ a2 (* b1 b2))
(/.f64 a2 (*.f64 b1 b2))
(/ a2 b2)
(/.f64 a2 b2)
(* -1 a2)
(neg.f64 a2)

rewrite39.0ms (1.6%)

Memory
-5.0MiB live, 41.8MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02080
03678
17678
222478
346478
449978
049978
Stop Event
iter limit
saturated
iter limit
Counts
16 → 172
Calls
Call 1
Inputs
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 b2)
(/.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)
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) b1)
(neg.f64 a1)
(neg.f64 a2)
Outputs
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.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 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.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 a2) a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(/.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 b2))
(/.f64 (/.f64 a2 b1) b2)
(/.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 b1))
(/.f64 (neg.f64 a2) (*.f64 (neg.f64 b2) b1))
(/.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 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.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 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.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 a2) a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(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 (neg.f64 a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (/.f64 a1 b1) b2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 (*.f64 b1 b2))
(neg.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(/.f64 (neg.f64 a1) (neg.f64 b2))
(/.f64 a1 b2)
(neg.f64 (/.f64 (neg.f64 a1) 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 a2 b1) (/.f64 a1 b2))
(*.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 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.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 a2) a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(*.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b1) a1)
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 a2))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 b1))
(/.f64 (*.f64 (neg.f64 a2) a1) (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 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.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 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.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 a2) a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(*.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 a1))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b2))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a1 (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) a1)
(*.f64 a2 (/.f64 a1 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (neg.f64 b2))
(/.f64 (*.f64 a1 a2) b2)
(neg.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.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 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.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 a2) a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(/.f64 (/.f64 (neg.f64 a1) b2) b1)
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) (*.f64 b1 b2))
(/.f64 (/.f64 a1 b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b2) (neg.f64 b1))
(/.f64 a1 (*.f64 (neg.f64 b2) b1))
(neg.f64 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (neg.f64 a1) b1)
(/.f64 a1 (neg.f64 b1))
(neg.f64 (/.f64 a1 b1))
(neg.f64 a1)
(neg.f64 a2)

eval9.0ms (0.3%)

Memory
29.2MiB live, 29.3MiB allocated; 0ms collecting garbage
Compiler

Compiled 850 to 199 computations (76.6% saved)

prune7.0ms (0.3%)

Memory
-24.7MiB live, 20.6MiB allocated; 4ms collecting garbage
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New92496
Fresh101
Picked235
Done011
Total958103
Accuracy
100.0%
Counts
103 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
90.4%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
78.4%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
93.0%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
86.5%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
94.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
89.6%
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
87.5%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 56 to 56 computations (0% saved)

simplify4.0ms (0.2%)

Memory
12.7MiB live, 12.7MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 a2 b2)
cost-diff0
(*.f64 (/.f64 a2 b2) a1)
cost-diff0
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
cost-diff0
(/.f64 a1 b1)
cost-diff0
(/.f64 (/.f64 a1 b1) b2)
cost-diff0
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
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
01576
02676
14076
25776
35976
05976
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 a1 b1) b2) a2)
(/.f64 (/.f64 a1 b1) b2)
(/.f64 a1 b1)
a1
b1
b2
a2
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 b2) a1)
(/.f64 a2 b2)
a2
b2
a1
b1
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 a1 b1) b2) a2)
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(/.f64 (/.f64 a1 b1) b2)
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 b1)
a1
b1
b2
a2
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a2 b2) a1)
(/.f64 a2 b2)
a2
b2
a1
b1

localize48.0ms (1.9%)

Memory
-18.6MiB live, 123.5MiB allocated; 18ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 a2 b2)
accuracy2.471344262456083
(*.f64 (/.f64 a2 b2) a1)
accuracy5.912943303677622
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
accuracy0.0
(/.f64 a1 b1)
accuracy2.2783914083139187
(/.f64 (/.f64 a1 b1) b2)
accuracy6.405480301542608
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
accuracy0.0
(*.f64 b1 b2)
accuracy3.6749423722778456
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
accuracy7.080471215055801
(/.f64 a2 (*.f64 b1 b2))
accuracy0.0
(*.f64 b1 b2)
accuracy5.83346437975024
(/.f64 a1 (*.f64 b1 b2))
accuracy6.405480301542608
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Samples
33.0ms256×0valid
Compiler

Compiled 78 to 17 computations (78.2% saved)

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

series21.0ms (0.9%)

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

12 calls:

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

simplify3.0ms (0.1%)

Memory
11.0MiB live, 11.0MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
12231
23831
34331
04331
Stop Event
iter limit
saturated
Counts
7 → 7
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(/ a1 (* b1 b2))
(/ a1 b1)
(/ (* a1 a2) b2)
(/ a2 (* b1 b2))
(/ a2 b2)
(* b1 b2)
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(/ a1 (* b1 b2))
(/.f64 a1 (*.f64 b2 b1))
(/ a1 b1)
(/.f64 a1 b1)
(/ (* a1 a2) b2)
(/.f64 (*.f64 a2 a1) b2)
(/ a2 (* b1 b2))
(/.f64 a2 (*.f64 b2 b1))
(/ a2 b2)
(/.f64 a2 b2)
(* b1 b2)
(*.f64 b2 b1)

rewrite14.0ms (0.6%)

Memory
-20.1MiB live, 26.9MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01557
02657
15357
215357
342157
447357
047357
Stop Event
iter limit
saturated
iter limit
Counts
11 → 135
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 a1 b1) b2) a2)
(/.f64 (/.f64 a1 b1) b2)
(/.f64 a1 b1)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 b2) a1)
(/.f64 a2 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 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 (/.f64 (/.f64 a2 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 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) a2))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b1) b2)
(/.f64 a1 (*.f64 b2 b1))
(neg.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.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 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 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 (/.f64 (/.f64 a2 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 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) a2))
(/.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 b2) b1))
(/.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 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 (/.f64 (/.f64 a2 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 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) a2))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b1) b2)
(/.f64 a1 (*.f64 b2 b1))
(neg.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(/.f64 (neg.f64 a1) (neg.f64 b1))
(/.f64 a1 b1)
(neg.f64 (/.f64 (neg.f64 a1) 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 a1 (*.f64 (neg.f64 b2) b1)) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b2) b1)))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 (/.f64 (/.f64 a2 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 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b2) b1)) a2))
(*.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 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 a1 (/.f64 a2 b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (neg.f64 b2))
(/.f64 (*.f64 a2 a1) b2)
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2))
(/.f64 (neg.f64 a2) (neg.f64 b2))
(/.f64 a2 b2)
(neg.f64 (/.f64 (neg.f64 a2) b2))

eval7.0ms (0.3%)

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

Compiled 618 to 153 computations (75.2% saved)

prune51.0ms (2.1%)

Memory
-34.1MiB live, 21.3MiB allocated; 60ms collecting garbage
Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New72072
Fresh000
Picked044
Done044
Total72880
Accuracy
100.0%
Counts
80 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
90.4%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
78.4%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
93.0%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
86.5%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
94.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
89.6%
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
87.5%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 137 to 90 computations (34.3% saved)

regimes34.0ms (1.4%)

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

7 calls:

13.0ms
(*.f64 a1 a2)
4.0ms
a2
3.0ms
a1
3.0ms
b2
3.0ms
b1
Results
AccuracySegmentsBranch
98.9%2(*.f64 b1 b2)
98.9%2(*.f64 a1 a2)
98.6%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
98.5%2a1
97.4%2a2
97.4%2b1
98.1%2b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes6.0ms (0.2%)

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

2 calls:

3.0ms
(*.f64 a1 a2)
2.0ms
(*.f64 b1 b2)
Results
AccuracySegmentsBranch
98.9%2(*.f64 b1 b2)
98.5%2(*.f64 a1 a2)
Compiler

Compiled 6 to 10 computations (-66.7% saved)

regimes16.0ms (0.6%)

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

7 calls:

3.0ms
(*.f64 b1 b2)
2.0ms
a1
2.0ms
b1
2.0ms
(*.f64 a1 a2)
2.0ms
a2
Results
AccuracySegmentsBranch
92.0%2b1
91.3%2a2
92.7%2b2
89.6%1a1
95.4%3(*.f64 a1 a2)
94.9%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
96.1%3(*.f64 b1 b2)
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes12.0ms (0.5%)

Memory
0.2MiB live, 47.0MiB allocated; 3ms 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

7 calls:

3.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
2.0ms
b2
2.0ms
a2
2.0ms
a1
2.0ms
b1
Results
AccuracySegmentsBranch
87.5%1a1
89.3%2a2
89.7%2b1
90.1%2b2
89.3%2(*.f64 a1 a2)
90.8%2(*.f64 b1 b2)
90.8%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes11.0ms (0.4%)

Memory
-18.1MiB live, 31.7MiB allocated; 5ms 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:

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

Compiled 17 to 33 computations (-94.1% saved)

bsearch0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.67452474923057e+80
2.3801559774149224e+82
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1553623399882.4768
1812643651519226.0
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch0.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.77084362161868e+47
8.603438644425795e+49
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch3.0ms (0.1%)

Memory
9.3MiB live, 9.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
3.0ms
1553623399882.4768
1812643651519226.0
Samples
1.0ms32×0valid
Compiler

Compiled 30 to 42 computations (-40% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.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)

simplify10.0ms (0.4%)

Memory
-15.3MiB live, 32.4MiB allocated; 2ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03391
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 a1 a2) #s(literal 499999999999999960640939947832891370967751624529591925904999112061532074214948864 binary64)) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) (/.f64 (*.f64 (/.f64 a2 b2) a1) b1))
(if (<=.f64 (*.f64 b1 b2) #s(literal 2000000000000 binary64)) (*.f64 (/.f64 (/.f64 a1 b1) b2) a2) (*.f64 (/.f64 (/.f64 a2 b2) b1) a1))
(if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) #s(literal 500000000000000021922921522538098677317023825920 binary64)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))
(if (<=.f64 (*.f64 b1 b2) #s(literal 100000000000000 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 499999999999999960640939947832891370967751624529591925904999112061532074214948864 binary64)) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) (/.f64 (*.f64 (/.f64 a2 b2) a1) b1))
(if (<=.f64 (*.f64 b1 b2) #s(literal 2000000000000 binary64)) (*.f64 (/.f64 (/.f64 a1 b1) b2) a2) (*.f64 (/.f64 (/.f64 a2 b2) b1) a1))
(if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) #s(literal 500000000000000021922921522538098677317023825920 binary64)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))
(if (<=.f64 (*.f64 b1 b2) #s(literal 100000000000000 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)

derivations42.0ms (1.7%)

Memory
7.5MiB live, 101.1MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
01013
12213
26513
320913
454813
555713
055713
02080
03678
17678
222478
346478
449978
049978
Stop Event
done
iter limit
saturated
iter limit
iter limit
saturated
iter limit
Compiler

Compiled 91 to 33 computations (63.7% saved)

preprocess397.0ms (16.1%)

Memory
-22.6MiB live, 982.1MiB allocated; 126ms collecting garbage
Compiler

Compiled 450 to 262 computations (41.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...