2-ancestry mixing, zero discriminant

Time bar (total: 4.3s)

start0.0ms (0%)

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

analyze11.0ms (0.3%)

Memory
21.4MiB live, 21.4MiB 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)

sample796.0ms (18.6%)

Memory
16.6MiB live, 911.3MiB allocated; 283ms collecting garbage
Samples
506.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 191.0ms
ival-div: 64.0ms (33.5% of total)
ival-mult: 62.0ms (32.4% of total)
ival-cbrt: 49.0ms (25.6% of total)
ival-true: 6.0ms (3.1% of total)
exact: 5.0ms (2.6% of total)
ival-assert: 3.0ms (1.6% of total)
adjust: 2.0ms (1% of total)
Bogosity

explain66.0ms (1.5%)

Memory
6.1MiB live, 95.5MiB allocated; 12ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
620-4(-2.024960638409618e-223 3.552336543579402e+90)(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
10-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-rescue360
(*.f64 #s(literal 2 binary64) a)overflow1
(/.f64 g (*.f64 #s(literal 2 binary64) a))overflow36
cbrt.f64(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))uflow-rescue220
(/.f64 g (*.f64 #s(literal 2 binary64) a))underflow22
/.f64(/.f64 g (*.f64 #s(literal 2 binary64) a))n/o10
(*.f64 #s(literal 2 binary64) a)overflow1
Confusion
Predicted +Predicted -
+594
-0193
Precision
1.0
Recall
0.9365079365079365
Confusion?
Predicted +Predicted MaybePredicted -
+5904
-00193
Precision?
1.0
Recall?
0.9365079365079365
Freqs
test
numberfreq
0197
159
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
28.0ms512×0valid
Compiler

Compiled 44 to 22 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 7.0ms (46.2% of total)
ival-div: 4.0ms (26.4% of total)
ival-cbrt: 3.0ms (19.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)

preprocess187.0ms (4.4%)

Memory
1.5MiB live, 192.2MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01636
13332
26332
311632
428932
5143132
6622932
066
096
1156
2246
3446
4896
53146
620156
081896
Stop Event
iter limit
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)))
(cbrt.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))))
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)

prune0.0ms (0%)

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

Compiled 6 to 6 computations (0% saved)

simplify116.0ms (2.7%)

Memory
-9.7MiB live, 91.0MiB allocated; 19ms 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
0617
0917
11517
22417
34417
48917
531417
6201517
0818917
Stop Event
iter limit
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)))
(cbrt.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
(/.f64 g (*.f64 a #s(literal 2 binary64)))
g
(*.f64 #s(literal 2 binary64) a)
(*.f64 a #s(literal 2 binary64))
#s(literal 2 binary64)
a

localize18.0ms (0.4%)

Memory
-20.1MiB live, 25.7MiB allocated; 3ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(literal 2 binary64) a)
accuracy0.2415102277661885
(/.f64 g (*.f64 #s(literal 2 binary64) a))
accuracy14.73239874739536
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Samples
13.0ms256×0valid
Compiler

Compiled 19 to 8 computations (57.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 3.0ms (45.7% of total)
ival-div: 2.0ms (30.5% of total)
ival-cbrt: 1.0ms (15.2% 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)

series25.0ms (0.6%)

Memory
-4.9MiB live, 40.4MiB allocated; 3ms 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
(* (cbrt (/ g a)) (cbrt 1/2))
(* 1/2 (/ g a))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* 2 a)
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
Calls

6 calls:

TimeVariablePointExpression
6.0ms
a
@inf
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))
5.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))
3.0ms
a
@0
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))

simplify117.0ms (2.7%)

Memory
33.0MiB live, 128.2MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01831
13531
26131
38131
414331
546831
6330531
0838131
Stop Event
iter limit
node limit
Counts
5 → 5
Calls
Call 1
Inputs
(* (cbrt (/ g a)) (cbrt 1/2))
(* 1/2 (/ g a))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* 2 a)
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
Outputs
(* (cbrt (/ g a)) (cbrt 1/2))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* 1/2 (/ g a))
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* 2 a)
(*.f64 #s(literal 2 binary64) a)
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))

rewrite30.0ms (0.7%)

Memory
-5.7MiB live, 40.3MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0614
0914
12314
08714
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 25
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 (pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/6 binary64)))
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.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 #s(literal -2 binary64) a)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 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 #s(literal -2 binary64) a)))
(/.f64 (/.f64 g #s(literal 2 binary64)) a)
(/.f64 (neg.f64 g) (*.f64 #s(literal -2 binary64) a))
(/.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 #s(literal -2 binary64) a)))
(*.f64 a #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) a)
(/.f64 (-.f64 (*.f64 a a) (*.f64 a a)) (-.f64 a a))
(/.f64 (+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(fma.f64 #s(literal 1 binary64) a (*.f64 #s(literal 1 binary64) a))
(fma.f64 a #s(literal 1 binary64) (*.f64 a #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) a) (*.f64 #s(literal 1 binary64) a))
(+.f64 (*.f64 a #s(literal 1 binary64)) (*.f64 a #s(literal 1 binary64)))
(+.f64 a a)

eval3.0ms (0.1%)

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

Compiled 267 to 106 computations (60.3% saved)

prune5.0ms (0.1%)

Memory
-38.3MiB live, 8.0MiB allocated; 2ms collecting garbage
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New23629
Fresh000
Picked101
Done000
Total24630
Accuracy
99.6%
Counts
30 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
35.6%
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
98.7%
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
98.4%
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
76.6%
(cbrt.f64 (/.f64 g (+.f64 a a)))
77.0%
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
77.0%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
Compiler

Compiled 106 to 96 computations (9.4% saved)

simplify1.4s (31.9%)

Memory
-281.1MiB live, 180.3MiB allocated; 1.8s collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cbrt.f64 (/.f64 g a))
cost-diff0
(cbrt.f64 #s(literal 1/2 binary64))
cost-diff0
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
cost-diff0
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
cost-diff0
(*.f64 a #s(literal 2 binary64))
cost-diff0
(/.f64 g (*.f64 a #s(literal 2 binary64)))
cost-diffInfinite
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
cost-diff0
(/.f64 #s(literal 1/2 binary64) a)
cost-diff0
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
cost-diff0
#s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a)))
cost-diff0
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
cost-diff0
(+.f64 a a)
cost-diff0
(/.f64 g (+.f64 a a))
cost-diff0
(cbrt.f64 (/.f64 g (+.f64 a a)))
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))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027121
044120
155120
264120
385120
4137120
5434120
62454120
08163120
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.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
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
g
(+.f64 a a)
a
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
#s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a)))
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
g
(/.f64 #s(literal 1/2 binary64) a)
#s(literal 1/2 binary64)
a
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.f64 g (*.f64 a #s(literal 2 binary64)))
g
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
#s(literal 1/3 binary64)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(cbrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cbrt.f64 (/.f64 g a))
(/.f64 g a)
g
a
Outputs
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g)) (cbrt.f64 a))
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
(cbrt.f64 (*.f64 #s(literal 1/2 binary64) g))
(/.f64 g #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) g)
g
#s(literal 2 binary64)
(cbrt.f64 a)
a
(cbrt.f64 (/.f64 g (+.f64 a a)))
(cbrt.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) a) g))
(/.f64 g (+.f64 a a))
(*.f64 (/.f64 #s(literal 1/2 binary64) a) g)
g
(+.f64 a a)
(*.f64 a #s(literal 2 binary64))
a
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 (/.f64 #s(literal 1/2 binary64) a) g)))
#s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a)))
#s(approx (/ g (* 2 a)) (*.f64 (/.f64 #s(literal 1/2 binary64) a) g))
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
(*.f64 (/.f64 #s(literal 1/2 binary64) a) g)
g
(/.f64 #s(literal 1/2 binary64) a)
#s(literal 1/2 binary64)
a
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(cbrt.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) a) g))
(/.f64 g (*.f64 a #s(literal 2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) a) g)
g
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
#s(literal 1/3 binary64)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 1/2 binary64))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 1/2 binary64)))
(cbrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cbrt.f64 (/.f64 g a))
(/.f64 g a)
g
a

localize88.0ms (2.1%)

Memory
-28.0MiB live, 63.8MiB allocated; 5ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(cbrt.f64 #s(literal 1/2 binary64))
accuracy0.0
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
accuracy0.46226503907376815
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
accuracy14.642953830825435
(cbrt.f64 (/.f64 g a))
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy0.2415102277661885
(/.f64 g (*.f64 a #s(literal 2 binary64)))
accuracy40.79633648118936
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
accuracy0.0
(/.f64 #s(literal 1/2 binary64) a)
accuracy0.0
#s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a)))
accuracy0.18978500976844204
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
accuracy14.73239874739536
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
accuracy0.0
(+.f64 a a)
accuracy0.2415102277661885
(/.f64 g (+.f64 a a))
accuracy14.73239874739536
(cbrt.f64 (/.f64 g (+.f64 a a)))
accuracy0.0
(/.f64 g #s(literal 2 binary64))
accuracy0.41796875
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
accuracy0.5808564453688405
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
accuracy0.6104852051372825
(cbrt.f64 a)
Samples
62.0ms256×0valid
Compiler

Compiled 103 to 26 computations (74.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 47.0ms
const: 20.0ms (42.1% of total)
ival-div: 12.0ms (25.3% of total)
ival-cbrt: 9.0ms (19% of total)
ival-mult: 6.0ms (12.6% of total)
ival-add: 1.0ms (2.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series74.0ms (1.7%)

Memory
24.1MiB live, 71.3MiB allocated; 7ms collecting garbage
Counts
18 → 16
Calls
Call 1
Inputs
(/.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)
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
(+.f64 a a)
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
#s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a)))
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
(/.f64 #s(literal 1/2 binary64) a)
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.f64 g (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(cbrt.f64 #s(literal 1/2 binary64))
(cbrt.f64 (/.f64 g a))
Outputs
(* (cbrt (/ g a)) (cbrt 1/2))
(* (cbrt g) (cbrt 1/2))
(* 1/2 g)
(* 1/2 (/ g a))
(cbrt (/ g a))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(cbrt a)
(* 2 a)
(/ 1/2 a)
(* -1 (* (cbrt a) (cbrt -1)))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(* (cbrt (/ g a)) (* (pow (cbrt -1) 2) (cbrt 1/2)))
(* (cbrt (/ g a)) (pow (cbrt -1) 2))
Calls

6 calls:

TimeVariablePointExpression
27.0ms
a
@inf
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* g (/ 1/2 a)) (/ 1/2 a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (cbrt (/ g a))) (cbrt 1/2) (cbrt (/ g a)))
15.0ms
a
@-inf
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* g (/ 1/2 a)) (/ 1/2 a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (cbrt (/ g a))) (cbrt 1/2) (cbrt (/ g a)))
9.0ms
g
@-inf
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* g (/ 1/2 a)) (/ 1/2 a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (cbrt (/ g a))) (cbrt 1/2) (cbrt (/ g a)))
9.0ms
g
@0
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* g (/ 1/2 a)) (/ 1/2 a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (cbrt (/ g a))) (cbrt 1/2) (cbrt (/ g a)))
6.0ms
g
@inf
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* g (/ 1/2 a)) (/ 1/2 a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (cbrt (/ g a))) (cbrt 1/2) (cbrt (/ g a)))

simplify91.0ms (2.1%)

Memory
-8.2MiB live, 82.4MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03678
17878
216178
325378
451478
5153278
6651578
0807278
Stop Event
iter limit
node limit
Counts
16 → 16
Calls
Call 1
Inputs
(* (cbrt (/ g a)) (cbrt 1/2))
(* (cbrt g) (cbrt 1/2))
(* 1/2 g)
(* 1/2 (/ g a))
(cbrt (/ g a))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(cbrt a)
(* 2 a)
(/ 1/2 a)
(* -1 (* (cbrt a) (cbrt -1)))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(* (cbrt (/ g a)) (* (pow (cbrt -1) 2) (cbrt 1/2)))
(* (cbrt (/ g a)) (pow (cbrt -1) 2))
Outputs
(* (cbrt (/ g a)) (cbrt 1/2))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* (cbrt g) (cbrt 1/2))
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))
(* 1/2 g)
(*.f64 #s(literal 1/2 binary64) g)
(* 1/2 (/ g a))
(*.f64 (/.f64 #s(literal 1/2 binary64) a) g)
(cbrt (/ g a))
(cbrt.f64 (/.f64 g a))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(neg.f64 (*.f64 (cbrt.f64 #s(literal -1/2 binary64)) (cbrt.f64 g)))
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(cbrt.f64 (/.f64 g a))
(cbrt a)
(cbrt.f64 a)
(* 2 a)
(*.f64 #s(literal 2 binary64) a)
(/ 1/2 a)
(/.f64 #s(literal 1/2 binary64) a)
(* -1 (* (cbrt a) (cbrt -1)))
(cbrt.f64 a)
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* (cbrt (/ g a)) (* (pow (cbrt -1) 2) (cbrt 1/2)))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* (cbrt (/ g a)) (pow (cbrt -1) 2))
(cbrt.f64 (/.f64 g a))

rewrite22.0ms (0.5%)

Memory
-11.9MiB live, 34.3MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027103
04499
010799
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
18 → 63
Calls
Call 1
Inputs
(/.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)
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
(+.f64 a a)
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
#s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a)))
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
(/.f64 #s(literal 1/2 binary64) a)
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.f64 g (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(cbrt.f64 #s(literal 1/2 binary64))
(cbrt.f64 (/.f64 g a))
Outputs
(*.f64 (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)) (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)))
(pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))) (neg.f64 (cbrt.f64 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))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a)) #s(literal 1/3 binary64)))
(pow.f64 (/.f64 g #s(literal 2 binary64)) #s(literal 1/3 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
(/.f64 (neg.f64 g) #s(literal -2 binary64))
(/.f64 g #s(literal 2 binary64))
(pow.f64 a #s(literal 1/3 binary64))
(cbrt.f64 a)
(*.f64 (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)) (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)))
(pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))) (neg.f64 (cbrt.f64 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))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a)) #s(literal 1/3 binary64)))
(/.f64 (neg.f64 g) (neg.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (/.f64 g a) #s(literal 2 binary64))
(/.f64 (/.f64 g #s(literal 2 binary64)) a)
(/.f64 g (*.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 (+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(+.f64 a a)
(pow.f64 #s(approx (/ g (* 2 a)) (*.f64 (/.f64 #s(literal 1/2 binary64) a) g)) #s(literal 1/3 binary64))
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 (/.f64 #s(literal 1/2 binary64) a) g)))
#s(approx (/ g (* 2 a)) (*.f64 (/.f64 #s(literal 1/2 binary64) a) g))
(*.f64 (/.f64 #s(literal 1/2 binary64) a) g)
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
(/.f64 (*.f64 g #s(literal 1/2 binary64)) a)
(/.f64 #s(literal -1/2 binary64) (neg.f64 a))
(/.f64 #s(literal 1/2 binary64) a)
(*.f64 (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)) (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)))
(pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64)))) (neg.f64 (cbrt.f64 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))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a)) #s(literal 1/3 binary64)))
(/.f64 (neg.f64 g) (neg.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (/.f64 g a) #s(literal 2 binary64))
(/.f64 (/.f64 g #s(literal 2 binary64)) a)
(/.f64 g (*.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 (+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(+.f64 a a)
#s(approx (cbrt (/ g (* 2 a))) (cbrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 g a))))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 1/2 binary64)))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(cbrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 g a)))
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/3 binary64))
(cbrt.f64 #s(literal 1/2 binary64))
(pow.f64 (/.f64 g a) #s(literal 1/3 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(cbrt.f64 (/.f64 g a))

eval6.0ms (0.1%)

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

Compiled 590 to 150 computations (74.6% saved)

prune5.0ms (0.1%)

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

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New48452
Fresh011
Picked145
Done000
Total49958
Accuracy
99.8%
Counts
58 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
35.6%
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
98.2%
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
98.7%
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
98.4%
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
98.6%
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
76.6%
(cbrt.f64 (/.f64 g (+.f64 a a)))
77.0%
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
98.7%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
77.0%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
Compiler

Compiled 147 to 134 computations (8.8% saved)

simplify104.0ms (2.4%)

Memory
15.3MiB live, 109.7MiB allocated; 15ms collecting garbage
Localize:

Found 20 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 g)
cost-diff0
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))
cost-diff0
#s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64))))
cost-diff0
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
cost-diff0
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
cost-diff0
(cbrt.f64 #s(literal 1/2 binary64))
cost-diff0
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
cost-diff0
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (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 #s(literal 1/2 binary64) g)
cost-diff0
#s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))
cost-diff0
(cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))
cost-diff0
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028149
044149
156149
268149
390149
4135149
5357149
62065149
08219149
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
(cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))
#s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))
(*.f64 #s(literal 1/2 binary64) g)
#s(literal 1/2 binary64)
g
(cbrt.f64 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)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(cbrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(cbrt.f64 g)
g
(cbrt.f64 a)
a
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
#s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64))))
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))
(cbrt.f64 g)
g
(cbrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cbrt.f64 a)
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 g)
g
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(cbrt.f64 a)
a
Outputs
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
(cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))
#s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))
(*.f64 #s(literal 1/2 binary64) g)
#s(literal 1/2 binary64)
g
(cbrt.f64 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)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 1/2 binary64))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 1/2 binary64)))
(cbrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(cbrt.f64 g)
g
(cbrt.f64 a)
a
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g))) (cbrt.f64 a))
#s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64))))
#s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g)))
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g))
(cbrt.f64 g)
g
(cbrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cbrt.f64 a)
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 g)
g
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(cbrt.f64 a)
a

localize61.0ms (1.4%)

Memory
13.3MiB live, 105.9MiB allocated; 5ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.41796875
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
accuracy0.5912476562950725
(cbrt.f64 g)
accuracy0.6104852051372825
(cbrt.f64 a)
accuracy1.0
(cbrt.f64 #s(literal 2 binary64))
accuracy0.41796875
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
accuracy0.48666000976844204
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))
accuracy0.5912476562950725
(cbrt.f64 g)
accuracy0.6104852051372825
(cbrt.f64 a)
accuracy0.38185502930532605
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
accuracy0.46226503907376815
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
accuracy0.5912476562950725
(cbrt.f64 g)
accuracy0.6104852051372825
(cbrt.f64 a)
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy0.328125
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
accuracy0.5912476562950725
(cbrt.f64 g)
accuracy0.8682979888590171
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
accuracy0.0
#s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))
accuracy0.41796875
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
accuracy0.5808564453688405
(cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))
accuracy0.6104852051372825
(cbrt.f64 a)
Samples
44.0ms256×0valid
Compiler

Compiled 118 to 25 computations (78.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-div: 10.0ms (35.5% of total)
ival-cbrt: 10.0ms (35.5% of total)
ival-mult: 7.0ms (24.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)

series57.0ms (1.3%)

Memory
-38.8MiB live, 104.1MiB allocated; 11ms collecting garbage
Counts
19 → 22
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
(cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))
#s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))
(*.f64 #s(literal 1/2 binary64) g)
(/.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))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(cbrt.f64 #s(literal 1/2 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
#s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64))))
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/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 #s(literal 2 binary64))
(cbrt.f64 a)
Outputs
(* (cbrt (/ g a)) (cbrt 1/2))
(* (cbrt g) (cbrt 1/2))
(* 1/2 g)
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(cbrt g)
(cbrt (/ g a))
(* (cbrt g) (/ 1 (cbrt 2)))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (cbrt -1)))
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(* -1 (* (cbrt g) (* (cbrt -1) (cbrt 1/2))))
(* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))
(* (cbrt a) (cbrt 2))
(* 2 a)
(cbrt a)
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(* -1 (* (cbrt a) (cbrt -2)))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(* -1 (* (cbrt a) (cbrt -1)))
Calls

6 calls:

TimeVariablePointExpression
17.0ms
g
@0
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (* 1/2 g) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (/ (cbrt g) (cbrt a))) (cbrt 1/2) (/ (cbrt g) (cbrt a)) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (* (cbrt g) (cbrt 1/2)) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2) (cbrt a))
12.0ms
a
@-inf
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (* 1/2 g) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (/ (cbrt g) (cbrt a))) (cbrt 1/2) (/ (cbrt g) (cbrt a)) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (* (cbrt g) (cbrt 1/2)) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2) (cbrt a))
10.0ms
g
@-inf
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (* 1/2 g) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (/ (cbrt g) (cbrt a))) (cbrt 1/2) (/ (cbrt g) (cbrt a)) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (* (cbrt g) (cbrt 1/2)) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2) (cbrt a))
6.0ms
g
@inf
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (* 1/2 g) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (/ (cbrt g) (cbrt a))) (cbrt 1/2) (/ (cbrt g) (cbrt a)) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (* (cbrt g) (cbrt 1/2)) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2) (cbrt a))
5.0ms
a
@0
((/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (* 1/2 g) (/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (* 2 a))) (* (cbrt 1/2) (/ (cbrt g) (cbrt a))) (cbrt 1/2) (/ (cbrt g) (cbrt a)) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (* (cbrt g) (cbrt 1/2)) (/ (/ (cbrt g) (cbrt 2)) (cbrt a)) (/ (cbrt g) (cbrt 2)) (cbrt 2) (cbrt a))

simplify115.0ms (2.7%)

Memory
35.1MiB live, 128.7MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
051121
1119113
2254113
3523113
41800113
55863111
08812111
Stop Event
iter limit
node limit
Counts
22 → 22
Calls
Call 1
Inputs
(* (cbrt (/ g a)) (cbrt 1/2))
(* (cbrt g) (cbrt 1/2))
(* 1/2 g)
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(cbrt g)
(cbrt (/ g a))
(* (cbrt g) (/ 1 (cbrt 2)))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (cbrt -1)))
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(* -1 (* (cbrt g) (* (cbrt -1) (cbrt 1/2))))
(* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))
(* (cbrt a) (cbrt 2))
(* 2 a)
(cbrt a)
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(* -1 (* (cbrt a) (cbrt -2)))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(* -1 (* (cbrt a) (cbrt -1)))
Outputs
(* (cbrt (/ g a)) (cbrt 1/2))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* (cbrt g) (cbrt 1/2))
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))
(* 1/2 g)
(*.f64 #s(literal 1/2 binary64) g)
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt g)
(cbrt.f64 g)
(cbrt (/ g a))
(cbrt.f64 (/.f64 g a))
(* (cbrt g) (/ 1 (cbrt 2)))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(neg.f64 (*.f64 (cbrt.f64 #s(literal -1/2 binary64)) (cbrt.f64 g)))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(* -1 (* (cbrt g) (cbrt -1)))
(cbrt.f64 g)
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(cbrt.f64 (/.f64 g a))
(* -1 (* (cbrt g) (* (cbrt -1) (cbrt 1/2))))
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))
(* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(* (cbrt a) (cbrt 2))
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(* 2 a)
(*.f64 a #s(literal 2 binary64))
(cbrt a)
(cbrt.f64 a)
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g a))) (cbrt.f64 #s(literal -2 binary64)))
(* -1 (* (cbrt a) (cbrt -2)))
(*.f64 (neg.f64 (cbrt.f64 a)) (cbrt.f64 #s(literal -2 binary64)))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt a) (cbrt -1)))
(cbrt.f64 a)

rewrite34.0ms (0.8%)

Memory
10.3MiB live, 50.0MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
028120
044109
196107
0256107
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
19 → 116
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
(cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))
#s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))
(*.f64 #s(literal 1/2 binary64) g)
(/.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))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(cbrt.f64 #s(literal 1/2 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
#s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64))))
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/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 #s(literal 2 binary64))
(cbrt.f64 a)
Outputs
(pow.f64 (/.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)) a) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))))) (neg.f64 (neg.f64 (cbrt.f64 a))))
(/.f64 (neg.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))) (neg.f64 (cbrt.f64 a)))
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
(neg.f64 (/.f64 (neg.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))) (cbrt.f64 a)))
(neg.f64 (/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (neg.f64 (cbrt.f64 a))))
(cbrt.f64 (/.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)) a))
(*.f64 (pow.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)) #s(literal 1/6 binary64)) (pow.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)) #s(literal 1/6 binary64)))
(pow.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)) #s(literal 1/3 binary64))
(cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))
(exp.f64 (*.f64 (log.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) #s(literal 1/3 binary64)))
#s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))
(*.f64 #s(literal 1/2 binary64) g)
(*.f64 g #s(literal 1/2 binary64))
(*.f64 (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)) (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)))
(pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 g))) (neg.f64 (neg.f64 (cbrt.f64 (*.f64 a #s(literal 2 binary64))))))
(/.f64 (cbrt.f64 (neg.f64 g)) (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 (neg.f64 (cbrt.f64 g)) (*.f64 (neg.f64 (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a)))
(/.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))) (neg.f64 (neg.f64 (cbrt.f64 a))))
(/.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) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(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 a #s(literal 2 binary64)))))
(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 a #s(literal 2 binary64))))))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a)) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 g #s(literal 1/6 binary64)) (pow.f64 g #s(literal 1/6 binary64)))
(pow.f64 g #s(literal 1/3 binary64))
(cbrt.f64 g)
(exp.f64 (*.f64 (log.f64 g) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1/6 binary64)) (pow.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 #s(literal 2 binary64)) (cbrt.f64 a))
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(pow.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1/3 binary64))
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 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 (+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(fma.f64 #s(literal 1 binary64) a (*.f64 #s(literal 1 binary64) a))
(fma.f64 a #s(literal 1 binary64) (*.f64 a #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) a) (*.f64 #s(literal 1 binary64) a))
(+.f64 (*.f64 a #s(literal 1 binary64)) (*.f64 a #s(literal 1 binary64)))
(+.f64 a a)
#s(approx (cbrt (/ g (* 2 a))) (cbrt.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) g) a)))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 1/2 binary64)))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a)))
(/.f64 (*.f64 (neg.f64 (cbrt.f64 g)) (cbrt.f64 #s(literal 1/2 binary64))) (neg.f64 (cbrt.f64 a)))
(/.f64 (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (neg.f64 (cbrt.f64 g))) (neg.f64 (cbrt.f64 a)))
(/.f64 (neg.f64 (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g))) (neg.f64 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g)) (cbrt.f64 a))
(cbrt.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) g) a))
(cbrt.f64 (*.f64 (/.f64 g a) #s(literal 1/2 binary64)))
(cbrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 g a)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)))
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/3 binary64))
(cbrt.f64 #s(literal 1/2 binary64))
(exp.f64 (*.f64 (log.f64 #s(literal 1/2 binary64)) #s(literal 1/3 binary64)))
(pow.f64 (/.f64 g a) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 g))) (neg.f64 (neg.f64 (cbrt.f64 a))))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 a)))
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(neg.f64 (/.f64 (neg.f64 (cbrt.f64 g)) (cbrt.f64 a)))
(neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (cbrt.f64 a))))
(cbrt.f64 (/.f64 g a))
(/.f64 (neg.f64 (neg.f64 #s(approx (cbrt (/ g 2)) (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g))))) (neg.f64 (neg.f64 (cbrt.f64 a))))
(/.f64 (neg.f64 #s(approx (cbrt (/ g 2)) (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g)))) (neg.f64 (cbrt.f64 a)))
(/.f64 #s(approx (cbrt (/ g 2)) (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
(neg.f64 (/.f64 (neg.f64 #s(approx (cbrt (/ g 2)) (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g)))) (cbrt.f64 a)))
(neg.f64 (/.f64 #s(approx (cbrt (/ g 2)) (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g))) (neg.f64 (cbrt.f64 a))))
#s(approx (cbrt (/ g 2)) (cbrt.f64 (*.f64 #s(literal 1/2 binary64) g)))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g))
(*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))
(pow.f64 (*.f64 #s(literal 1/2 binary64) g) #s(literal 1/3 binary64))
(cbrt.f64 (*.f64 #s(literal 1/2 binary64) g))
(*.f64 (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)) (pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/6 binary64)))
(pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 g))) (neg.f64 (neg.f64 (cbrt.f64 (*.f64 a #s(literal 2 binary64))))))
(/.f64 (cbrt.f64 (neg.f64 g)) (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 (neg.f64 (cbrt.f64 g)) (*.f64 (neg.f64 (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a)))
(/.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))) (neg.f64 (neg.f64 (cbrt.f64 a))))
(/.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) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(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 a #s(literal 2 binary64)))))
(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 a #s(literal 2 binary64))))))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a)) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 (/.f64 g #s(literal 2 binary64)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g #s(literal 2 binary64)) #s(literal 1/6 binary64)))
(pow.f64 (/.f64 g #s(literal 2 binary64)) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (neg.f64 (cbrt.f64 g))) (neg.f64 (neg.f64 (cbrt.f64 #s(literal 2 binary64)))))
(/.f64 (cbrt.f64 (neg.f64 g)) (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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/6 binary64)))
(pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))
(cbrt.f64 #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 a #s(literal 1/6 binary64)) (pow.f64 a #s(literal 1/6 binary64)))
(pow.f64 a #s(literal 1/3 binary64))
(cbrt.f64 a)
(exp.f64 (*.f64 (log.f64 a) #s(literal 1/3 binary64)))

eval23.0ms (0.5%)

Memory
11.1MiB live, 53.3MiB allocated; 10ms collecting garbage
Compiler

Compiled 1 911 to 377 computations (80.3% saved)

prune21.0ms (0.5%)

Memory
-6.7MiB live, 36.3MiB allocated; 13ms collecting garbage
Pruning

17 alts after pruning (9 fresh and 8 done)

PrunedKeptTotal
New1409149
Fresh000
Picked145
Done044
Total14117158
Accuracy
99.8%
Counts
158 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
35.6%
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
98.8%
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
98.2%
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
47.3%
(/.f64 (exp.f64 (*.f64 (log.f64 g) #s(literal 1/3 binary64))) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
76.4%
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
98.7%
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
98.2%
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
49.1%
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
98.4%
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
98.7%
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))))) (cbrt.f64 a))
98.6%
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
76.6%
(cbrt.f64 (/.f64 g (+.f64 a a)))
77.0%
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
98.6%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
98.6%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
98.7%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
77.0%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
Compiler

Compiled 294 to 261 computations (11.2% saved)

simplify152.0ms (3.5%)

Memory
-4.2MiB live, 184.1MiB allocated; 38ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))
cost-diff0
(*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
cost-diff0
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
cost-diff5
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)))
cost-diff0
(*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
cost-diff0
(cbrt.f64 g)
cost-diff0
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
cost-diff3
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64)))
cost-diff0
(/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))
cost-diff0
(cbrt.f64 g)
cost-diff0
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a)))
cost-diff0
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
cost-diff0
(+.f64 a a)
cost-diff0
(cbrt.f64 (+.f64 a a))
cost-diff0
(cbrt.f64 g)
cost-diff0
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
cost-diff0
(cbrt.f64 g)
cost-diff0
(/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64)))
cost-diff0
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
cost-diffInfinite
(pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031173
051149
183149
2149149
3329149
4810149
54130149
08396149
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64)))
(cbrt.f64 g)
g
(pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))
#s(literal 2 binary64)
#s(literal 1/3 binary64)
(cbrt.f64 a)
a
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(cbrt.f64 g)
g
(cbrt.f64 (+.f64 a a))
(+.f64 a a)
a
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a)))
(cbrt.f64 g)
g
(/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))
(cbrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cbrt.f64 a)
a
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
(cbrt.f64 g)
g
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(log.f64 (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
#s(literal 1/3 binary64)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
(*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)))
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))
#s(literal 1/2 binary64)
#s(literal 1/6 binary64)
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(cbrt.f64 g)
g
(cbrt.f64 a)
a
Outputs
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64)))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 g)
g
(pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))
(cbrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1/3 binary64)
(cbrt.f64 a)
a
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 g)
g
(cbrt.f64 (+.f64 a a))
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(+.f64 a a)
(*.f64 a #s(literal 2 binary64))
a
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 1/2 binary64))))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 1/2 binary64)))
(cbrt.f64 g)
g
(/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))
(cbrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cbrt.f64 a)
a
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(cbrt.f64 g)
g
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(log.f64 (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
#s(literal 1/3 binary64)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 1/2 binary64)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)))
(cbrt.f64 #s(literal 1/2 binary64))
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))
#s(literal 1/2 binary64)
#s(literal 1/6 binary64)
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(cbrt.f64 g)
g
(cbrt.f64 a)
a

localize129.0ms (3%)

Memory
-15.2MiB live, 176.0MiB allocated; 54ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.27085878907376804
(*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
accuracy0.31353383791597816
(cbrt.f64 g)
accuracy0.3438263672213042
(cbrt.f64 a)
accuracy0.53515625
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)))
accuracy0.19921875
(*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
accuracy0.24213560384522934
(log.f64 (*.f64 a #s(literal 2 binary64)))
accuracy0.31353383791597816
(cbrt.f64 g)
accuracy2.2706591195101926
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64)))
accuracy0.18197250976844204
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a)))
accuracy0.28353500976844204
(/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))
accuracy0.31353383791597816
(cbrt.f64 g)
accuracy0.3438263672213042
(cbrt.f64 a)
accuracy0.0
(+.f64 a a)
accuracy0.1640625
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
accuracy0.31353383791597816
(cbrt.f64 g)
accuracy0.5905841704799228
(cbrt.f64 (+.f64 a a))
accuracy0.17578125
(/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64)))
accuracy0.2265625
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
accuracy0.31353383791597816
(cbrt.f64 g)
accuracy0.3438263672213042
(cbrt.f64 a)
Samples
67.0ms119×0invalid
38.0ms137×0valid
Compiler

Compiled 152 to 31 computations (79.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 59.0ms
ival-div: 24.0ms (40.8% of total)
ival-mult: 9.0ms (15.3% of total)
ival-cbrt: 8.0ms (13.6% of total)
const: 7.0ms (11.9% of total)
ival-pow: 4.0ms (6.8% of total)
ival-exp: 2.0ms (3.4% of total)
ival-log: 2.0ms (3.4% of total)
ival-add: 1.0ms (1.7% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series123.0ms (2.9%)

Memory
4.3MiB live, 183.2MiB allocated; 33ms collecting garbage
Counts
19 → 23
Calls
Call 1
Inputs
(pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64)))
(cbrt.f64 g)
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(cbrt.f64 (+.f64 a a))
(+.f64 a a)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a)))
(/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
(*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
(*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))
(cbrt.f64 a)
(log.f64 (*.f64 a #s(literal 2 binary64)))
Outputs
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(* (cbrt g) (/ 1 (cbrt 2)))
(cbrt g)
(* (cbrt (/ g a)) (cbrt 1/2))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (cbrt -1)))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(* (cbrt a) (cbrt 2))
(* 2 a)
(* (cbrt (/ 1 a)) (cbrt 1/2))
(* 1/3 (+ (log 2) (log a)))
(cbrt a)
(+ (log 2) (log a))
(* 1/3 (+ (log 2) (* -1 (log (/ 1 a)))))
(+ (log 2) (* -1 (log (/ 1 a))))
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(* -1 (* (cbrt a) (cbrt -2)))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(* 1/3 (+ (log -2) (* -1 (log (/ -1 a)))))
(* -1 (* (cbrt a) (cbrt -1)))
(+ (log -2) (* -1 (log (/ -1 a))))
Calls

6 calls:

TimeVariablePointExpression
51.0ms
a
@0
((pow 2 1/3) (/ (/ (cbrt g) (pow 2 1/3)) (cbrt a)) (/ (cbrt g) (pow 2 1/3)) (cbrt g) (/ (cbrt g) (cbrt (+ a a))) (cbrt (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (* (cbrt g) (/ (cbrt 1/2) (cbrt a))) (/ (cbrt 1/2) (cbrt a)) (exp (* (log (* a 2)) 1/3)) (/ (cbrt g) (exp (* (log (* a 2)) 1/3))) (* (log (* a 2)) 1/3) (* (pow 1/2 1/6) (pow 1/2 1/6)) (cbrt (/ g (* 2 a))) (* (* (pow 1/2 1/6) (pow 1/2 1/6)) (/ (cbrt g) (cbrt a))) (pow 1/2 1/6) (cbrt a) (log (* a 2)))
28.0ms
a
@-inf
((pow 2 1/3) (/ (/ (cbrt g) (pow 2 1/3)) (cbrt a)) (/ (cbrt g) (pow 2 1/3)) (cbrt g) (/ (cbrt g) (cbrt (+ a a))) (cbrt (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (* (cbrt g) (/ (cbrt 1/2) (cbrt a))) (/ (cbrt 1/2) (cbrt a)) (exp (* (log (* a 2)) 1/3)) (/ (cbrt g) (exp (* (log (* a 2)) 1/3))) (* (log (* a 2)) 1/3) (* (pow 1/2 1/6) (pow 1/2 1/6)) (cbrt (/ g (* 2 a))) (* (* (pow 1/2 1/6) (pow 1/2 1/6)) (/ (cbrt g) (cbrt a))) (pow 1/2 1/6) (cbrt a) (log (* a 2)))
18.0ms
a
@inf
((pow 2 1/3) (/ (/ (cbrt g) (pow 2 1/3)) (cbrt a)) (/ (cbrt g) (pow 2 1/3)) (cbrt g) (/ (cbrt g) (cbrt (+ a a))) (cbrt (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (* (cbrt g) (/ (cbrt 1/2) (cbrt a))) (/ (cbrt 1/2) (cbrt a)) (exp (* (log (* a 2)) 1/3)) (/ (cbrt g) (exp (* (log (* a 2)) 1/3))) (* (log (* a 2)) 1/3) (* (pow 1/2 1/6) (pow 1/2 1/6)) (cbrt (/ g (* 2 a))) (* (* (pow 1/2 1/6) (pow 1/2 1/6)) (/ (cbrt g) (cbrt a))) (pow 1/2 1/6) (cbrt a) (log (* a 2)))
13.0ms
g
@-inf
((pow 2 1/3) (/ (/ (cbrt g) (pow 2 1/3)) (cbrt a)) (/ (cbrt g) (pow 2 1/3)) (cbrt g) (/ (cbrt g) (cbrt (+ a a))) (cbrt (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (* (cbrt g) (/ (cbrt 1/2) (cbrt a))) (/ (cbrt 1/2) (cbrt a)) (exp (* (log (* a 2)) 1/3)) (/ (cbrt g) (exp (* (log (* a 2)) 1/3))) (* (log (* a 2)) 1/3) (* (pow 1/2 1/6) (pow 1/2 1/6)) (cbrt (/ g (* 2 a))) (* (* (pow 1/2 1/6) (pow 1/2 1/6)) (/ (cbrt g) (cbrt a))) (pow 1/2 1/6) (cbrt a) (log (* a 2)))
5.0ms
g
@0
((pow 2 1/3) (/ (/ (cbrt g) (pow 2 1/3)) (cbrt a)) (/ (cbrt g) (pow 2 1/3)) (cbrt g) (/ (cbrt g) (cbrt (+ a a))) (cbrt (+ a a)) (+ a a) (cbrt (/ g (* 2 a))) (* (cbrt g) (/ (cbrt 1/2) (cbrt a))) (/ (cbrt 1/2) (cbrt a)) (exp (* (log (* a 2)) 1/3)) (/ (cbrt g) (exp (* (log (* a 2)) 1/3))) (* (log (* a 2)) 1/3) (* (pow 1/2 1/6) (pow 1/2 1/6)) (cbrt (/ g (* 2 a))) (* (* (pow 1/2 1/6) (pow 1/2 1/6)) (/ (cbrt g) (cbrt a))) (pow 1/2 1/6) (cbrt a) (log (* a 2)))

simplify118.0ms (2.8%)

Memory
26.7MiB live, 119.1MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
061143
1148133
2337133
3756133
42601131
57242131
08066131
Stop Event
iter limit
node limit
Counts
23 → 23
Calls
Call 1
Inputs
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(* (cbrt g) (/ 1 (cbrt 2)))
(cbrt g)
(* (cbrt (/ g a)) (cbrt 1/2))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (cbrt -1)))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(* (cbrt a) (cbrt 2))
(* 2 a)
(* (cbrt (/ 1 a)) (cbrt 1/2))
(* 1/3 (+ (log 2) (log a)))
(cbrt a)
(+ (log 2) (log a))
(* 1/3 (+ (log 2) (* -1 (log (/ 1 a)))))
(+ (log 2) (* -1 (log (/ 1 a))))
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(* -1 (* (cbrt a) (cbrt -2)))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(* 1/3 (+ (log -2) (* -1 (log (/ -1 a)))))
(* -1 (* (cbrt a) (cbrt -1)))
(+ (log -2) (* -1 (log (/ -1 a))))
Outputs
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(* (cbrt g) (/ 1 (cbrt 2)))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(cbrt g)
(cbrt.f64 g)
(* (cbrt (/ g a)) (cbrt 1/2))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(* -1 (* (cbrt g) (/ (cbrt -1) (cbrt 2))))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(* -1 (* (cbrt g) (cbrt -1)))
(cbrt.f64 g)
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt (/ g a)) (* (cbrt -1) (cbrt 1/2))))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* (cbrt a) (cbrt 2))
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(* 2 a)
(*.f64 #s(literal 2 binary64) a)
(* (cbrt (/ 1 a)) (cbrt 1/2))
(*.f64 (cbrt.f64 (pow.f64 a #s(literal -1 binary64))) (cbrt.f64 #s(literal 1/2 binary64)))
(* 1/3 (+ (log 2) (log a)))
(*.f64 (+.f64 (log.f64 a) (log.f64 #s(literal 2 binary64))) #s(literal 1/3 binary64))
(cbrt a)
(cbrt.f64 a)
(+ (log 2) (log a))
(+.f64 (log.f64 a) (log.f64 #s(literal 2 binary64)))
(* 1/3 (+ (log 2) (* -1 (log (/ 1 a)))))
(*.f64 (+.f64 (log.f64 a) (log.f64 #s(literal 2 binary64))) #s(literal 1/3 binary64))
(+ (log 2) (* -1 (log (/ 1 a))))
(+.f64 (log.f64 a) (log.f64 #s(literal 2 binary64)))
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(/.f64 (cbrt.f64 (/.f64 g a)) (neg.f64 (cbrt.f64 #s(literal -2 binary64))))
(* -1 (* (cbrt a) (cbrt -2)))
(neg.f64 (*.f64 (cbrt.f64 #s(literal -2 binary64)) (cbrt.f64 a)))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* 1/3 (+ (log -2) (* -1 (log (/ -1 a)))))
(*.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) a)) (log.f64 #s(literal -2 binary64))) #s(literal -1/3 binary64))
(* -1 (* (cbrt a) (cbrt -1)))
(cbrt.f64 a)
(+ (log -2) (* -1 (log (/ -1 a))))
(-.f64 (log.f64 #s(literal -2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) a)))

rewrite27.0ms (0.6%)

Memory
-14.7MiB live, 30.2MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031134
051103
0142103
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
19 → 62
Calls
Call 1
Inputs
(pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64)))
(cbrt.f64 g)
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(cbrt.f64 (+.f64 a a))
(+.f64 a a)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a)))
(/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
(*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
(*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))
(cbrt.f64 a)
(log.f64 (*.f64 a #s(literal 2 binary64)))
Outputs
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/6 binary64)))
(pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))
(cbrt.f64 #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/3 binary64)))
(/.f64 (neg.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))) (neg.f64 (cbrt.f64 a)))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 #s(literal 2 binary64)) (cbrt.f64 a)))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64)))
(pow.f64 g #s(literal 1/3 binary64))
(cbrt.f64 g)
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.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))))
(pow.f64 (exp.f64 (log.f64 (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64))
(pow.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1/3 binary64))
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 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 (+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(+.f64 a a)
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)) (cbrt.f64 g)))
(*.f64 (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)) (cbrt.f64 g))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)))
(/.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64))) (cbrt.f64 a))
(/.f64 (neg.f64 (cbrt.f64 #s(literal 1/2 binary64))) (neg.f64 (cbrt.f64 a)))
(/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))
(cbrt.f64 (/.f64 #s(literal 1/2 binary64) a))
(pow.f64 (exp.f64 (log.f64 (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64))
(pow.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1/3 binary64))
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.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 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(*.f64 #s(literal 1/3 binary64) (log.f64 (*.f64 a #s(literal 2 binary64))))
(*.f64 (neg.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (neg.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (fabs.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)))
(pow.f64 #s(literal 1/4 binary64) #s(literal 1/6 binary64))
(pow.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/3 binary64))
(cbrt.f64 #s(literal 1/2 binary64))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 1/2 binary64))))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 1/2 binary64)))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (cbrt.f64 (/.f64 g a))))
(/.f64 (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g)) (cbrt.f64 a))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/12 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/12 binary64)))
(pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))
(exp.f64 (*.f64 (log.f64 #s(literal 1/2 binary64)) #s(literal 1/6 binary64)))
(pow.f64 a #s(literal 1/3 binary64))
(cbrt.f64 a)
(+.f64 (log.f64 a) (log.f64 #s(literal 2 binary64)))
(log.f64 (*.f64 a #s(literal 2 binary64)))

eval9.0ms (0.2%)

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

Compiled 1 286 to 262 computations (79.6% saved)

prune12.0ms (0.3%)

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

20 alts after pruning (8 fresh and 12 done)

PrunedKeptTotal
New86490
Fresh044
Picked145
Done088
Total8720107
Accuracy
99.9%
Counts
107 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
35.6%
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
98.8%
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
98.2%
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
47.3%
(/.f64 (exp.f64 (*.f64 (log.f64 g) #s(literal 1/3 binary64))) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
76.4%
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
98.7%
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
98.2%
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
49.1%
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
98.4%
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
98.7%
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))))) (cbrt.f64 a))
98.6%
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
76.6%
(cbrt.f64 (/.f64 g (+.f64 a a)))
77.0%
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
98.6%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (pow.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
76.8%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (cbrt.f64 (/.f64 g a)))))
98.7%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)) (cbrt.f64 g)))
98.6%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
98.7%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) #s(approx (/ (cbrt 1/2) (cbrt a)) (*.f64 (cbrt.f64 (pow.f64 a #s(literal -1 binary64))) (cbrt.f64 #s(literal 1/2 binary64))))))
98.7%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
77.0%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
Compiler

Compiled 528 to 312 computations (40.9% saved)

regimes45.0ms (1%)

Memory
-35.6MiB live, 61.3MiB allocated; 16ms collecting garbage
Counts
24 → 1
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)) (cbrt.f64 g)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
(/.f64 (exp.f64 (*.f64 (log.f64 g) #s(literal 1/3 binary64))) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (cbrt.f64 (/.f64 g a)))))
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) #s(approx (/ (cbrt 1/2) (cbrt a)) (*.f64 (cbrt.f64 (pow.f64 a #s(literal -1 binary64))) (cbrt.f64 #s(literal 1/2 binary64))))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (pow.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64))))) (cbrt.f64 a))
Outputs
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
Calls

5 calls:

15.0ms
(*.f64 #s(literal 2 binary64) a)
7.0ms
a
6.0ms
g
6.0ms
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
6.0ms
(/.f64 g (*.f64 #s(literal 2 binary64) a))
Results
AccuracySegmentsBranch
98.8%1(*.f64 #s(literal 2 binary64) a)
98.8%1(/.f64 g (*.f64 #s(literal 2 binary64) a))
98.8%1(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
98.8%1g
98.8%1a
Compiler

Compiled 16 to 19 computations (-18.8% saved)

regimes30.0ms (0.7%)

Memory
2.0MiB live, 47.0MiB allocated; 5ms collecting garbage
Counts
19 → 1
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)) (cbrt.f64 g)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (/.f64 (cbrt.f64 g) (cbrt.f64 a))))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 a))))
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 1/2 binary64)))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 g) (exp.f64 (*.f64 (log.f64 (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))))
(/.f64 (exp.f64 (*.f64 (log.f64 g) #s(literal 1/3 binary64))) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/6 binary64)) (cbrt.f64 (/.f64 g a)))))
Outputs
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)) (cbrt.f64 g)))
Calls

5 calls:

8.0ms
(/.f64 g (*.f64 #s(literal 2 binary64) a))
5.0ms
(*.f64 #s(literal 2 binary64) a)
5.0ms
a
5.0ms
g
5.0ms
(cbrt.f64 (/.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)

regimes12.0ms (0.3%)

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

5 calls:

2.0ms
(*.f64 #s(literal 2 binary64) a)
2.0ms
a
2.0ms
g
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.4%1(*.f64 #s(literal 2 binary64) a)
98.4%1a
98.4%1(/.f64 g (*.f64 #s(literal 2 binary64) a))
98.4%1(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
98.4%1g
Compiler

Compiled 16 to 19 computations (-18.8% saved)

regimes12.0ms (0.3%)

Memory
-26.1MiB live, 19.7MiB allocated; 4ms collecting garbage
Counts
4 → 1
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
Outputs
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
Calls

5 calls:

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

Compiled 16 to 19 computations (-18.8% saved)

regimes6.0ms (0.1%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
Outputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
Calls

5 calls:

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

Compiled 16 to 19 computations (-18.8% saved)

simplify45.0ms (1.1%)

Memory
-4.1MiB live, 41.4MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02548
13148
24048
36048
413048
587148
6627548
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)) (cbrt.f64 g)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
(cbrt.f64 (/.f64 g (+.f64 a a)))
Outputs
(/.f64 (/.f64 (cbrt.f64 g) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))) (cbrt.f64 a))
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 (/.f64 #s(literal 1/2 binary64) a)) (cbrt.f64 g)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
(cbrt.f64 (/.f64 g (+.f64 a a)))

derivations100.0ms (2.3%)

Memory
6.1MiB live, 104.5MiB allocated; 83ms collecting garbage
Stop Event
fuel
Compiler

Compiled 48 to 26 computations (45.8% saved)

preprocess26.0ms (0.6%)

Memory
9.4MiB live, 55.7MiB allocated; 3ms collecting garbage
Compiler

Compiled 108 to 64 computations (40.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...