2-ancestry mixing, zero discriminant

Time bar (total: 3.6s)

start0.0ms (0%)

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

analyze21.0ms (0.6%)

Memory
18.2MiB live, 18.2MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 8 to 8 computations (0% saved)

sample898.0ms (24.7%)

Memory
21.8MiB live, 679.2MiB allocated; 242ms collecting garbage
Samples
599.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 401.0ms
ival-div: 184.0ms (45.9% of total)
ival-mult: 130.0ms (32.4% of total)
ival-cbrt: 72.0ms (17.9% of total)
ival-true: 5.0ms (1.2% of total)
exact: 4.0ms (1% of total)
ival-assert: 3.0ms (0.7% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

explain65.0ms (1.8%)

Memory
-26.3MiB live, 115.5MiB allocated; 22ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
480-3(-1.7796385092451363e-144 1.5903386888571271e+178)(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
00-0-(/.f64 g (*.f64 #s(literal 2 binary64) a))
00-0-#s(literal 2 binary64)
00-0-a
00-0-g
00-0-(*.f64 #s(literal 2 binary64) a)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cbrt.f64(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))oflow-rescue260
(/.f64 g (*.f64 #s(literal 2 binary64) a))overflow26
cbrt.f64(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))uflow-rescue190
(/.f64 g (*.f64 #s(literal 2 binary64) a))underflow19
Confusion
Predicted +Predicted -
+453
-0208
Precision
1.0
Recall
0.9375
Confusion?
Predicted +Predicted MaybePredicted -
+4503
-00208
Precision?
1.0
Recall?
0.9375
Freqs
test
numberfreq
0211
145
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
26.0ms512×0valid
Compiler

Compiled 44 to 22 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-div: 4.0ms (35.8% of total)
ival-mult: 3.0ms (26.8% of total)
ival-cbrt: 3.0ms (26.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess226.0ms (6.2%)

Memory
0.0MiB live, 137.9MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01936
14232
27232
312532
429832
5144432
6627432
0108
0158
1178
2208
3258
4458
51228
65758
746898
084228
Stop Event
saturated
node limit
iter limit
node limit
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Outputs
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Compiler

Compiled 6 to 6 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune5.0ms (0.1%)

Memory
8.6MiB live, 8.6MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
81.8%
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Compiler

Compiled 6 to 6 computations (0% saved)

simplify138.0ms (3.8%)

Memory
-8.6MiB live, 87.4MiB allocated; 12ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 2 binary64) a)
cost-diff0
(/.f64 g (*.f64 #s(literal 2 binary64) a))
cost-diff0
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
01525
11725
22025
32525
44525
512225
657525
7468925
0842225
Stop Event
saturated
node limit
iter limit
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
g
(*.f64 #s(literal 2 binary64) a)
#s(literal 2 binary64)
a
Outputs
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
g
(*.f64 #s(literal 2 binary64) a)
#s(literal 2 binary64)
a

localize17.0ms (0.5%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 g (*.f64 #s(literal 2 binary64) a))
accuracy0.0
(*.f64 #s(literal 2 binary64) a)
accuracy11.633623738186094
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Samples
12.0ms256×0valid
Compiler

Compiled 19 to 8 computations (57.9% saved)

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

series27.0ms (0.8%)

Memory
8.8MiB live, 53.8MiB allocated; 7ms collecting garbage
Counts
3 → 5
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
(*.f64 #s(literal 2 binary64) a)
Outputs
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (/ g (* 2 a)) #s(hole binary64 (* 1/2 (/ g a))))
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (* 2 a) #s(hole binary64 (* 2 a)))
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))))
Calls

6 calls:

TimeVariablePointExpression
9.0ms
g
@-inf
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))
4.0ms
g
@0
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))
4.0ms
g
@inf
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))
4.0ms
a
@0
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))
3.0ms
a
@inf
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))

simplify162.0ms (4.4%)

Memory
3.0MiB live, 105.1MiB allocated; 29ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03372
15872
28572
310772
417272
550372
6339672
0849268
1899568
21050068
31105068
41114168
51119768
61121868
Stop Event
saturated
node limit
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (/ g (* 2 a)) #s(hole binary64 (* 1/2 (/ g a))))
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (* 2 a) #s(hole binary64 (* 2 a)))
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))))
Outputs
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (/ g (* 2 a)) #s(hole binary64 (* 1/2 (/ g a))))
#s(approx (/ g (* 2 a)) (/.f64 g (+.f64 a a)))
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (* 2 a) #s(hole binary64 (* 2 a)))
#s(approx (* 2 a) (+.f64 a a))
#s(approx (cbrt (/ g (* 2 a))) #s(hole binary64 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))))

rewrite31.0ms (0.9%)

Memory
-1.2MiB live, 44.9MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
11520
21720
31920
42120
02120
13520
09914
114914
219214
319714
Stop Event
saturated
iter limit
iter limit
unsound
saturated
Counts
3 → 17
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
(*.f64 #s(literal 2 binary64) a)
Outputs
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.f64 a #s(literal 2 binary64)))))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (*.f64 (neg.f64 a) #s(literal 2 binary64))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))))
(/.f64 (/.f64 g a) #s(literal 2 binary64))
(/.f64 (neg.f64 (/.f64 g #s(literal 2 binary64))) (neg.f64 a))
(/.f64 (neg.f64 (neg.f64 g)) (neg.f64 (*.f64 (neg.f64 a) #s(literal 2 binary64))))
(/.f64 (/.f64 g #s(literal 2 binary64)) a)
(/.f64 (neg.f64 g) (*.f64 (neg.f64 a) #s(literal 2 binary64)))
(/.f64 g (*.f64 a #s(literal 2 binary64)))
(neg.f64 (/.f64 (neg.f64 g) (*.f64 a #s(literal 2 binary64))))
(neg.f64 (/.f64 g (*.f64 (neg.f64 a) #s(literal 2 binary64))))
(*.f64 a #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) a)
(/.f64 (-.f64 (*.f64 a a) (*.f64 a a)) (-.f64 a a))
(+.f64 a a)

eval2.0ms (0.1%)

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

Compiled 152 to 62 computations (59.2% saved)

prune1.0ms (0%)

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

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New16319
Fresh000
Picked101
Done000
Total17320
Accuracy
99.5%
Counts
20 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.7%
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
98.7%
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
81.8%
(cbrt.f64 (/.f64 g (+.f64 a a)))
Compiler

Compiled 20 to 19 computations (5% saved)

simplify713.0ms (19.6%)

Memory
-8.2MiB live, 84.4MiB allocated; 7ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cbrt.f64 a)
cost-diff0
(/.f64 g #s(literal 2 binary64))
cost-diff0
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
cost-diff0
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
cost-diff0
(*.f64 a #s(literal 2 binary64))
cost-diff0
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
cost-diff0
(cbrt.f64 g)
cost-diff0
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
cost-diff0
(+.f64 a a)
cost-diff0
(/.f64 g (+.f64 a a))
cost-diff0
(cbrt.f64 (/.f64 g (+.f64 a a)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01870
02570
12770
23070
33570
45570
513270
658570
7469970
0843270
Stop Event
saturated
node limit
iter limit
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
g
(+.f64 a a)
a
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 g)
g
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
(/.f64 g #s(literal 2 binary64))
g
#s(literal 2 binary64)
(cbrt.f64 a)
a
Outputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
g
(+.f64 a a)
a
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 g)
g
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
(/.f64 g #s(literal 2 binary64))
g
#s(literal 2 binary64)
(cbrt.f64 a)
a

localize52.0ms (1.4%)

Memory
-7.1MiB live, 85.3MiB allocated; 10ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 g #s(literal 2 binary64))
accuracy0.33498002930532605
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
accuracy0.5437088867581884
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
accuracy0.6312676269897464
(cbrt.f64 a)
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy0.359375
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
accuracy0.5430451172213043
(cbrt.f64 g)
accuracy0.5717164062950725
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
accuracy0.0
(/.f64 g (+.f64 a a))
accuracy0.0
(+.f64 a a)
accuracy11.633623738186094
(cbrt.f64 (/.f64 g (+.f64 a a)))
Samples
41.0ms256×0valid
Compiler

Compiled 56 to 16 computations (71.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-div: 10.0ms (50.8% of total)
ival-cbrt: 6.0ms (30.5% of total)
ival-add: 1.0ms (5.1% of total)
ival-mult: 1.0ms (5.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series68.0ms (1.9%)

Memory
-2.5MiB live, 90.3MiB allocated; 6ms collecting garbage
Counts
11 → 20
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
(+.f64 a a)
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 g)
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
(/.f64 g #s(literal 2 binary64))
(cbrt.f64 a)
Outputs
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (/ g (+ a a)) #s(hole binary64 (* 1/2 (/ g a))))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt g) #s(hole binary64 (cbrt g)))
#s(approx (/ (cbrt (/ g 2)) (cbrt a)) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (cbrt (/ g 2)) #s(hole binary64 (* (cbrt g) (cbrt 1/2))))
#s(approx (/ g 2) #s(hole binary64 (* 1/2 g)))
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt g) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1)))))
#s(approx (/ (cbrt (/ g 2)) (cbrt a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (cbrt (/ g 2)) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1/2)))))
#s(approx (+ a a) #s(hole binary64 (* 2 a)))
#s(approx (cbrt (* a 2)) #s(hole binary64 (* (cbrt a) (cbrt 2))))
#s(approx (* a 2) #s(hole binary64 (* 2 a)))
#s(approx (cbrt a) #s(hole binary64 (cbrt a)))
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))))
#s(approx (cbrt (* a 2)) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -2)))))
#s(approx (cbrt a) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -1)))))
Calls

6 calls:

TimeVariablePointExpression
31.0ms
a
@-inf
((cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a))
9.0ms
g
@0
((cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a))
8.0ms
g
@inf
((cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a))
8.0ms
g
@-inf
((cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a))
6.0ms
a
@inf
((cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a))

simplify421.0ms (11.6%)

Memory
22.4MiB live, 120.5MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
091273
1145271
2237271
3357271
41103271
56431271
08172261
19521261
211678261
312392261
412433261
Stop Event
saturated
node limit
Counts
20 → 5
Calls
Call 1
Inputs
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (/ g (+ a a)) #s(hole binary64 (* 1/2 (/ g a))))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt g) #s(hole binary64 (cbrt g)))
#s(approx (/ (cbrt (/ g 2)) (cbrt a)) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (cbrt (/ g 2)) #s(hole binary64 (* (cbrt g) (cbrt 1/2))))
#s(approx (/ g 2) #s(hole binary64 (* 1/2 g)))
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt g) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1)))))
#s(approx (/ (cbrt (/ g 2)) (cbrt a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (cbrt (/ g 2)) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1/2)))))
#s(approx (+ a a) #s(hole binary64 (* 2 a)))
#s(approx (cbrt (* a 2)) #s(hole binary64 (* (cbrt a) (cbrt 2))))
#s(approx (* a 2) #s(hole binary64 (* 2 a)))
#s(approx (cbrt a) #s(hole binary64 (cbrt a)))
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))))
#s(approx (cbrt (* a 2)) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -2)))))
#s(approx (cbrt a) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -1)))))
Outputs
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (/ g (+ a a)) #s(hole binary64 (* 1/2 (/ g a))))
#s(approx (/ g (+ a a)) (/.f64 g (+.f64 a a)))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt g) #s(hole binary64 (cbrt g)))
#s(approx (cbrt g) (cbrt.f64 g))
#s(approx (/ (cbrt (/ g 2)) (cbrt a)) #s(hole binary64 (* (cbrt (/ g a)) (cbrt 1/2))))
#s(approx (cbrt (/ g 2)) #s(hole binary64 (* (cbrt g) (cbrt 1/2))))
#s(approx (/ g 2) #s(hole binary64 (* 1/2 g)))
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt g) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1)))))
#s(approx (/ (cbrt (/ g 2)) (cbrt a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1/2)))))
#s(approx (cbrt (/ g 2)) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1/2)))))
#s(approx (+ a a) #s(hole binary64 (* 2 a)))
#s(approx (+ a a) (+.f64 a a))
#s(approx (cbrt (* a 2)) #s(hole binary64 (* (cbrt a) (cbrt 2))))
#s(approx (* a 2) #s(hole binary64 (* 2 a)))
#s(approx (+ a a) (+.f64 a a))
#s(approx (cbrt a) #s(hole binary64 (cbrt a)))
#s(approx (cbrt a) (cbrt.f64 a))
#s(approx (cbrt (/ g (+ a a))) #s(hole binary64 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))))
#s(approx (/ (cbrt g) (cbrt (* a 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))))
#s(approx (cbrt (* a 2)) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -2)))))
#s(approx (cbrt a) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -1)))))

rewrite20.0ms (0.5%)

Memory
-20.3MiB live, 26.8MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01858
12558
23558
34158
44758
04750
08850
111750
213250
313550
Stop Event
saturated
iter limit
iter limit
unsound
saturated
Counts
11 → 26
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
(+.f64 a a)
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 g)
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
(/.f64 g #s(literal 2 binary64))
(cbrt.f64 a)
Outputs
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.f64 #s(literal 2 binary64) a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 (neg.f64 g) (neg.f64 (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
(*.f64 #s(literal 2 binary64) a)
(*.f64 a #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 a a) (*.f64 a a)) (-.f64 a a))
(+.f64 a a)
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.f64 #s(literal 2 binary64) a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(cbrt.f64 g)
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (*.f64 #s(literal 2 binary64) a))
(*.f64 #s(literal 2 binary64) a)
(*.f64 a #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 a a) (*.f64 a a)) (-.f64 a a))
(+.f64 a a)
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))) (neg.f64 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
(/.f64 g #s(literal 2 binary64))
(cbrt.f64 a)

eval2.0ms (0.1%)

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

Compiled 183 to 57 computations (68.9% saved)

prune2.0ms (0.1%)

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

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New21223
Fresh000
Picked033
Done000
Total21526
Accuracy
99.6%
Counts
26 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.2%
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
98.7%
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
98.3%
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
98.7%
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
81.8%
(cbrt.f64 (/.f64 g (+.f64 a a)))
Compiler

Compiled 36 to 35 computations (2.8% saved)

simplify114.0ms (3.1%)

Memory
8.0MiB live, 53.9MiB allocated; 3ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cbrt.f64 #s(literal 2 binary64))
cost-diff0
(cbrt.f64 g)
cost-diff0
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
cost-diff0
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
cost-diff0
(cbrt.f64 a)
cost-diff0
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
cost-diff0
(cbrt.f64 g)
cost-diff0
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01460
01960
12160
22460
32960
44960
512660
657960
7469360
0842660
Stop Event
saturated
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
(cbrt.f64 g)
g
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 a)
a
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 g)
g
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(cbrt.f64 a)
a
Outputs
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
(cbrt.f64 g)
g
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 a)
a
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 g)
g
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(cbrt.f64 a)
a

localize76.0ms (2.1%)

Memory
-10.6MiB live, 85.6MiB allocated; 9ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.33498002930532605
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
accuracy0.5430451172213043
(cbrt.f64 g)
accuracy0.6312676269897464
(cbrt.f64 a)
accuracy1.0
(cbrt.f64 #s(literal 2 binary64))
accuracy0.359375
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
accuracy0.5430451172213043
(cbrt.f64 g)
accuracy0.6312676269897464
(cbrt.f64 a)
accuracy1.0
(cbrt.f64 #s(literal 2 binary64))
Samples
67.0ms256×0valid
Compiler

Compiled 46 to 12 computations (73.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 6.0ms (43.3% of total)
ival-div: 4.0ms (28.9% of total)
ival-cbrt: 4.0ms (28.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series29.0ms (0.8%)

Memory
15.1MiB live, 61.3MiB allocated; 3ms collecting garbage
Counts
7 → 12
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
(cbrt.f64 g)
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 a)
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 #s(literal 2 binary64))
Outputs
#s(approx (/ (cbrt g) (* (cbrt a) (cbrt 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt g) #s(hole binary64 (cbrt g)))
#s(approx (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (/ (cbrt g) (cbrt 2)) #s(hole binary64 (* (cbrt g) (/ 1 (cbrt 2)))))
#s(approx (/ (cbrt g) (* (cbrt a) (cbrt 2))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt g) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1)))))
#s(approx (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (/ (cbrt g) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))))
#s(approx (* (cbrt a) (cbrt 2)) #s(hole binary64 (* (cbrt a) (cbrt 2))))
#s(approx (cbrt a) #s(hole binary64 (cbrt a)))
#s(approx (* (cbrt a) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt a) (* (cbrt -1) (cbrt 2))))))
#s(approx (cbrt a) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -1)))))
Calls

6 calls:

TimeVariablePointExpression
7.0ms
g
@-inf
((/ (cbrt g) (* (cbrt a) (cbrt 2))) (cbrt g) (* (cbrt a) (cbrt 2)) (cbrt a) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2))
6.0ms
a
@-inf
((/ (cbrt g) (* (cbrt a) (cbrt 2))) (cbrt g) (* (cbrt a) (cbrt 2)) (cbrt a) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2))
4.0ms
g
@inf
((/ (cbrt g) (* (cbrt a) (cbrt 2))) (cbrt g) (* (cbrt a) (cbrt 2)) (cbrt a) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2))
4.0ms
g
@0
((/ (cbrt g) (* (cbrt a) (cbrt 2))) (cbrt g) (* (cbrt a) (cbrt 2)) (cbrt a) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2))
4.0ms
a
@inf
((/ (cbrt g) (* (cbrt a) (cbrt 2))) (cbrt g) (* (cbrt a) (cbrt 2)) (cbrt a) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2))

simplify109.0ms (3%)

Memory
-20.9MiB live, 76.4MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055164
1102152
2186152
3340152
41091152
56044152
08485144
18905144
210100144
310448144
410457144
Stop Event
saturated
node limit
Counts
12 → 4
Calls
Call 1
Inputs
#s(approx (/ (cbrt g) (* (cbrt a) (cbrt 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt g) #s(hole binary64 (cbrt g)))
#s(approx (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (/ (cbrt g) (cbrt 2)) #s(hole binary64 (* (cbrt g) (/ 1 (cbrt 2)))))
#s(approx (/ (cbrt g) (* (cbrt a) (cbrt 2))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt g) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1)))))
#s(approx (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (/ (cbrt g) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))))
#s(approx (* (cbrt a) (cbrt 2)) #s(hole binary64 (* (cbrt a) (cbrt 2))))
#s(approx (cbrt a) #s(hole binary64 (cbrt a)))
#s(approx (* (cbrt a) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt a) (* (cbrt -1) (cbrt 2))))))
#s(approx (cbrt a) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -1)))))
Outputs
#s(approx (/ (cbrt g) (* (cbrt a) (cbrt 2))) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt g) #s(hole binary64 (cbrt g)))
#s(approx (cbrt g) (cbrt.f64 g))
#s(approx (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (/ (cbrt g) (cbrt 2)) #s(hole binary64 (* (cbrt g) (/ 1 (cbrt 2)))))
#s(approx (/ (cbrt g) (* (cbrt a) (cbrt 2))) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt g) #s(hole binary64 (* -1 (* (cbrt g) (cbrt -1)))))
#s(approx (cbrt g) (cbrt.f64 g))
#s(approx (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (/ (cbrt g) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))))
#s(approx (* (cbrt a) (cbrt 2)) #s(hole binary64 (* (cbrt a) (cbrt 2))))
#s(approx (cbrt a) #s(hole binary64 (cbrt a)))
#s(approx (cbrt a) (cbrt.f64 a))
#s(approx (* (cbrt a) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt a) (* (cbrt -1) (cbrt 2))))))
#s(approx (cbrt a) #s(hole binary64 (* -1 (* (cbrt a) (cbrt -1)))))
#s(approx (cbrt a) (cbrt.f64 a))

rewrite26.0ms (0.7%)

Memory
-16.2MiB live, 30.5MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01442
11942
22542
32942
43342
03338
15536
013236
118736
223836
324536
Stop Event
saturated
iter limit
iter limit
unsound
saturated
Counts
7 → 39
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
(cbrt.f64 g)
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 a)
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 #s(literal 2 binary64))
Outputs
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g a))) (neg.f64 (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 g))) (neg.f64 (neg.f64 (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.f64 #s(literal 2 binary64) a))))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))) (neg.f64 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (neg.f64 (neg.f64 (cbrt.f64 a))))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))
(neg.f64 (/.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))) (cbrt.f64 a)))
(neg.f64 (/.f64 (neg.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 #s(literal 2 binary64) a))))
(neg.f64 (/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (neg.f64 (cbrt.f64 a))))
(neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(cbrt.f64 g)
(*.f64 (cbrt.f64 #s(literal 2 binary64)) (cbrt.f64 a))
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (*.f64 #s(literal 2 binary64) a))
(cbrt.f64 a)
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g a))) (neg.f64 (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 g))) (neg.f64 (neg.f64 (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.f64 #s(literal 2 binary64) a))))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))) (neg.f64 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (neg.f64 (neg.f64 (cbrt.f64 a))))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))
(neg.f64 (/.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))) (cbrt.f64 a)))
(neg.f64 (/.f64 (neg.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 #s(literal 2 binary64) a))))
(neg.f64 (/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (neg.f64 (cbrt.f64 a))))
(neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 g))) (neg.f64 (neg.f64 (cbrt.f64 #s(literal 2 binary64)))))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(neg.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))))
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
(cbrt.f64 #s(literal 2 binary64))

eval3.0ms (0.1%)

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

Compiled 277 to 64 computations (76.9% saved)

prune2.0ms (0.1%)

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

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New31132
Fresh000
Picked022
Done033
Total31637
Accuracy
99.6%
Counts
37 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.2%
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
81.1%
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
98.7%
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
98.3%
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
98.7%
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
81.8%
(cbrt.f64 (/.f64 g (+.f64 a a)))
Compiler

Compiled 43 to 42 computations (2.3% saved)

simplify117.0ms (3.2%)

Memory
15.2MiB live, 62.1MiB allocated; 2ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cbrt.f64 #s(literal 2 binary64))
cost-diff0
(/.f64 g a)
cost-diff0
(cbrt.f64 (/.f64 g a))
cost-diff0
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
01525
11725
22025
32525
44525
512225
657525
7468925
0842225
Stop Event
saturated
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 g a))
(/.f64 g a)
g
a
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 g a))
(/.f64 g a)
g
a
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)

localize23.0ms (0.6%)

Memory
1.6MiB live, 45.4MiB allocated; 3ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 g a)
accuracy0.3125
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
accuracy1.0
(cbrt.f64 #s(literal 2 binary64))
accuracy11.639797727868796
(cbrt.f64 (/.f64 g a))
Samples
18.0ms256×0valid
Compiler

Compiled 21 to 9 computations (57.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-cbrt: 6.0ms (54% of total)
ival-div: 5.0ms (45% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series35.0ms (1%)

Memory
23.5MiB live, 67.0MiB allocated; 8ms collecting garbage
Counts
4 → 7
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 g a))
(/.f64 g a)
(cbrt.f64 #s(literal 2 binary64))
Outputs
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (cbrt (/ g a))))
#s(approx (/ g a) #s(hole binary64 (/ g a)))
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1)))))
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* (cbrt (/ g a)) (/ (pow (cbrt -1) 2) (cbrt 2)))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (* (cbrt (/ g a)) (pow (cbrt -1) 2))))
Calls

6 calls:

TimeVariablePointExpression
19.0ms
g
@-inf
((/ (cbrt (/ g a)) (cbrt 2)) (cbrt (/ g a)) (/ g a) (cbrt 2))
4.0ms
a
@-inf
((/ (cbrt (/ g a)) (cbrt 2)) (cbrt (/ g a)) (/ g a) (cbrt 2))
3.0ms
g
@inf
((/ (cbrt (/ g a)) (cbrt 2)) (cbrt (/ g a)) (/ g a) (cbrt 2))
3.0ms
a
@inf
((/ (cbrt (/ g a)) (cbrt 2)) (cbrt (/ g a)) (/ g a) (cbrt 2))
3.0ms
g
@0
((/ (cbrt (/ g a)) (cbrt 2)) (cbrt (/ g a)) (/ g a) (cbrt 2))

simplify84.0ms (2.3%)

Memory
-13.4MiB live, 72.8MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03899
16193
210393
322393
489493
5591093
0830585
1847585
2897285
3917385
4918285
Stop Event
saturated
node limit
Counts
7 → 4
Calls
Call 1
Inputs
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (cbrt (/ g a))))
#s(approx (/ g a) #s(hole binary64 (/ g a)))
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1)))))
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* (cbrt (/ g a)) (/ (pow (cbrt -1) 2) (cbrt 2)))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (* (cbrt (/ g a)) (pow (cbrt -1) 2))))
Outputs
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* (cbrt (/ g a)) (/ 1 (cbrt 2)))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (cbrt (/ g a))))
#s(approx (cbrt (/ g a)) (cbrt.f64 (/.f64 g a)))
#s(approx (/ g a) #s(hole binary64 (/ g a)))
#s(approx (/ g a) (/.f64 g a))
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (* -1 (* (cbrt (/ g a)) (cbrt -1)))))
#s(approx (cbrt (/ g a)) (cbrt.f64 (/.f64 g a)))
#s(approx (/ (cbrt (/ g a)) (cbrt 2)) #s(hole binary64 (* (cbrt (/ g a)) (/ (pow (cbrt -1) 2) (cbrt 2)))))
#s(approx (cbrt (/ g a)) #s(hole binary64 (* (cbrt (/ g a)) (pow (cbrt -1) 2))))
#s(approx (cbrt (/ g a)) (cbrt.f64 (/.f64 g a)))

rewrite32.0ms (0.9%)

Memory
-2.5MiB live, 40.8MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
11520
21920
32120
42320
02319
13919
09719
114219
218019
318519
Stop Event
saturated
iter limit
iter limit
unsound
saturated
Counts
4 → 17
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 g a))
(/.f64 g a)
(cbrt.f64 #s(literal 2 binary64))
Outputs
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 (/.f64 g a)))) (neg.f64 (neg.f64 (cbrt.f64 #s(literal 2 binary64)))))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g a))) (neg.f64 (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(neg.f64 (/.f64 (neg.f64 (cbrt.f64 (/.f64 g a))) (cbrt.f64 #s(literal 2 binary64))))
(neg.f64 (/.f64 (cbrt.f64 (/.f64 g a)) (neg.f64 (cbrt.f64 #s(literal 2 binary64)))))
(cbrt.f64 (/.f64 (/.f64 g a) #s(literal 2 binary64)))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (neg.f64 a)))
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(cbrt.f64 (/.f64 g a))
(/.f64 (neg.f64 (neg.f64 g)) (neg.f64 (neg.f64 a)))
(/.f64 (neg.f64 g) (neg.f64 a))
(/.f64 g a)
(neg.f64 (/.f64 (neg.f64 g) a))
(neg.f64 (/.f64 g (neg.f64 a)))
(cbrt.f64 #s(literal 2 binary64))

eval2.0ms (0.1%)

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

Compiled 169 to 58 computations (65.7% saved)

prune3.0ms (0.1%)

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

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New18119
Fresh000
Picked011
Done145
Total19625
Accuracy
99.7%
Counts
25 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.2%
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 2 binary64)))
81.1%
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
98.7%
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
98.3%
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
98.7%
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
81.8%
(cbrt.f64 (/.f64 g (+.f64 a a)))
Compiler

Compiled 100 to 69 computations (31% saved)

regimes13.0ms (0.4%)

Memory
22.4MiB live, 22.4MiB allocated; 0ms collecting garbage
Counts
8 → 1
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 2 binary64)))
Outputs
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
Calls

5 calls:

3.0ms
g
3.0ms
a
3.0ms
(*.f64 #s(literal 2 binary64) a)
2.0ms
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
2.0ms
(/.f64 g (*.f64 #s(literal 2 binary64) a))
Results
AccuracySegmentsBranch
98.7%1(*.f64 #s(literal 2 binary64) a)
98.7%1(/.f64 g (*.f64 #s(literal 2 binary64) a))
98.7%1(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
98.7%1g
98.7%1a
Compiler

Compiled 16 to 19 computations (-18.8% saved)

regimes45.0ms (1.2%)

Memory
-30.0MiB live, 18.5MiB allocated; 38ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Outputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
Calls

5 calls:

40.0ms
a
1.0ms
(*.f64 #s(literal 2 binary64) a)
1.0ms
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
1.0ms
g
1.0ms
(/.f64 g (*.f64 #s(literal 2 binary64) a))
Results
AccuracySegmentsBranch
81.8%1(*.f64 #s(literal 2 binary64) a)
81.8%1(/.f64 g (*.f64 #s(literal 2 binary64) a))
81.8%1(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
81.8%1g
81.8%1a
Compiler

Compiled 16 to 19 computations (-18.8% saved)

simplify37.0ms (1%)

Memory
-11.0MiB live, 38.4MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01415
12315
22615
33215
46415
538415
6347615
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 (/.f64 g (+.f64 a a)))
Outputs
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 (/.f64 g (+.f64 a a)))

derivations3.0ms (0.1%)

Memory
3.0MiB live, 3.0MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 13 to 10 computations (23.1% saved)

preprocess13.0ms (0.4%)

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

Compiled 38 to 32 computations (15.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...