2-ancestry mixing, zero discriminant

Time bar (total: 3.8s)

start0.0ms (0%)

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

analyze40.0ms (1%)

Memory
-23.2MiB live, 40.3MiB allocated; 46ms 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)

sample772.0ms (20.2%)

Memory
64.2MiB live, 1 283.0MiB allocated; 193ms collecting garbage
Samples
465.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 214.0ms
ival-mult: 72.0ms (33.7% of total)
ival-div: 71.0ms (33.2% of total)
ival-cbrt: 55.0ms (25.7% of total)
ival-true: 5.0ms (2.3% of total)
exact: 5.0ms (2.3% of total)
ival-assert: 3.0ms (1.4% of total)
adjust: 2.0ms (0.9% of total)
Bogosity

explain70.0ms (1.8%)

Memory
-2.6MiB live, 182.6MiB allocated; 20ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
620-3(-4.2463785234247705e-200 5.266068468812198e+117)(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-rescue320
(/.f64 g (*.f64 #s(literal 2 binary64) a))overflow32
cbrt.f64(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))uflow-rescue270
(/.f64 g (*.f64 #s(literal 2 binary64) a))underflow27
Confusion
Predicted +Predicted -
+593
-0194
Precision
1.0
Recall
0.9516129032258065
Confusion?
Predicted +Predicted MaybePredicted -
+5903
-00194
Precision?
1.0
Recall?
0.9516129032258065
Freqs
test
numberfreq
0197
159
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
35.0ms512×0valid
Compiler

Compiled 44 to 22 computations (50% saved)

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

preprocess188.0ms (4.9%)

Memory
1.3MiB live, 161.3MiB 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.9%
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Compiler

Compiled 6 to 6 computations (0% saved)

simplify136.0ms (3.6%)

Memory
-15.3MiB live, 170.6MiB allocated; 29ms 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

localize21.0ms (0.5%)

Memory
-5.6MiB live, 39.6MiB allocated; 7ms 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)
accuracy14.815258482814633
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
Samples
16.0ms256×0valid
Compiler

Compiled 19 to 8 computations (57.9% saved)

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

Memory
21.4MiB live, 66.2MiB 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
(* (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
8.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
@inf
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))
3.0ms
a
@0
((cbrt (/ g (* 2 a))) (/ g (* 2 a)) (* 2 a))

simplify120.0ms (3.1%)

Memory
0.3MiB live, 192.1MiB allocated; 16ms 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)))

rewrite37.0ms (1%)

Memory
14.5MiB live, 106.6MiB allocated; 10ms 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)

eval6.0ms (0.1%)

Memory
-25.1MiB live, 21.8MiB allocated; 2ms collecting garbage
Compiler

Compiled 267 to 106 computations (60.3% saved)

prune5.0ms (0.1%)

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

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New21829
Fresh000
Picked101
Done000
Total22830
Accuracy
99.6%
Counts
30 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
34.3%
(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.7%
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
34.5%
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64)))
33.5%
(cbrt.f64 (/.f64 g (/.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))))))
76.9%
(cbrt.f64 (/.f64 g (+.f64 a a)))
76.9%
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
76.8%
#s(approx (cbrt (/ g (* 2 a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
Compiler

Compiled 166 to 136 computations (18.1% saved)

simplify152.0ms (4%)

Memory
-43.8MiB live, 202.1MiB allocated; 95ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff1
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
cost-diff2
(+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))
cost-diff6
(-.f64 (*.f64 a a) (*.f64 a a))
cost-diff6
(/.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))))
cost-diff0
(/.f64 g (*.f64 a #s(literal 2 binary64)))
cost-diff0
(log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))))
cost-diff0
(*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64))
cost-diff3
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64)))
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 a a)
cost-diff0
(/.f64 g (+.f64 a a))
cost-diff0
(cbrt.f64 (/.f64 g (+.f64 a 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))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025181
045117
179117
2228117
31668117
08544117
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.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)
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
g
(+.f64 a a)
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)
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64)))
(*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64))
(log.f64 (/.f64 g (*.f64 a #s(literal 2 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)
(cbrt.f64 (/.f64 g (/.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 g (/.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)))))
g
(/.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 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))
(pow.f64 a #s(literal 3 binary64))
a
#s(literal 3 binary64)
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
(-.f64 (*.f64 a a) (*.f64 a a))
(*.f64 a a)
Outputs
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))
(cbrt.f64 g)
g
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
(cbrt.f64 (*.f64 #s(literal 2 binary64) a))
(*.f64 a #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) a)
a
#s(literal 2 binary64)
(cbrt.f64 (/.f64 g (+.f64 a a)))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (+.f64 a a))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
g
(+.f64 a a)
(*.f64 #s(literal 2 binary64) a)
a
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 a #s(literal 2 binary64)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
g
(*.f64 a #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) a)
a
#s(literal 2 binary64)
#s(literal 1/3 binary64)
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64)))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64))
(*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))
(log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))))
(log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 a #s(literal 2 binary64)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
g
(*.f64 a #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) a)
a
#s(literal 2 binary64)
#s(literal 1/3 binary64)
(cbrt.f64 (/.f64 g (/.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))))))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (/.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 g (*.f64 #s(literal 2 binary64) a))
g
(/.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 #s(literal 2 binary64) a)
(+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))
(*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))
(pow.f64 a #s(literal 3 binary64))
a
#s(literal 3 binary64)
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
(*.f64 a a)
(-.f64 (*.f64 a a) (*.f64 a a))
#s(literal 0 binary64)
(*.f64 a a)

localize198.0ms (5.2%)

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

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 a a)
accuracy6.644494097211979
(-.f64 (*.f64 a a) (*.f64 a a))
accuracy8.210441165657786
(cbrt.f64 (/.f64 g (/.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))))))
accuracy21.399651858460476
(/.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))))
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy0.23828125
(*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64))
accuracy2.1569837556579667
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64)))
accuracy8.061527123347878
(log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))))
accuracy0.0
(/.f64 g (*.f64 a #s(literal 2 binary64)))
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy9.715214978806404
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
accuracy0.0
(/.f64 g (+.f64 a a))
accuracy0.0
(+.f64 a a)
accuracy8.210441165657786
(cbrt.f64 (/.f64 g (+.f64 a a)))
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy0.14453125
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a #s(literal 2 binary64))))
accuracy0.25884633791597816
(cbrt.f64 g)
accuracy0.3015213867581883
(cbrt.f64 (*.f64 a #s(literal 2 binary64)))
Samples
74.0ms130×0invalid
57.0ms88×1valid
19.0ms38×0valid
Compiler

Compiled 187 to 27 computations (85.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 101.0ms
ival-div: 25.0ms (24.8% of total)
ival-mult: 23.0ms (22.8% of total)
ival-cbrt: 14.0ms (13.9% of total)
ival-log: 12.0ms (11.9% of total)
const: 7.0ms (6.9% of total)
adjust: 6.0ms (5.9% of total)
ival-pow: 4.0ms (4% of total)
ival-add: 4.0ms (4% of total)
ival-exp: 3.0ms (3% of total)
ival-sub: 2.0ms (2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series254.0ms (6.6%)

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

6 calls:

TimeVariablePointExpression
85.0ms
g
@0
((/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (exp (* (log (/ g (* a 2))) 1/3)) (* (log (/ g (* a 2))) 1/3) (log (/ g (* a 2))) (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a))) (cbrt (/ g (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))))) (* a a))
62.0ms
a
@-inf
((/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (exp (* (log (/ g (* a 2))) 1/3)) (* (log (/ g (* a 2))) 1/3) (log (/ g (* a 2))) (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a))) (cbrt (/ g (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))))) (* a a))
39.0ms
g
@-inf
((/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (exp (* (log (/ g (* a 2))) 1/3)) (* (log (/ g (* a 2))) 1/3) (log (/ g (* a 2))) (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a))) (cbrt (/ g (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))))) (* a a))
29.0ms
a
@0
((/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (exp (* (log (/ g (* a 2))) 1/3)) (* (log (/ g (* a 2))) 1/3) (log (/ g (* a 2))) (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a))) (cbrt (/ g (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))))) (* a a))
19.0ms
g
@inf
((/ (cbrt g) (cbrt (* a 2))) (cbrt g) (cbrt (* a 2)) (* a 2) (cbrt (/ g (+ a a))) (/ g (+ a a)) (+ a a) (pow (/ g (* a 2)) 1/3) (/ g (* a 2)) (exp (* (log (/ g (* a 2))) 1/3)) (* (log (/ g (* a 2))) 1/3) (log (/ g (* a 2))) (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a))) (cbrt (/ g (/ (+ (pow a 3) (pow a 3)) (+ (* a a) (- (* a a) (* a a)))))) (* a a))

simplify101.0ms (2.6%)

Memory
-4.7MiB live, 278.4MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
075193
1176183
2381183
3840183
43092181
08213181
Stop Event
iter limit
node limit
Counts
27 → 27
Calls
Call 1
Inputs
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(cbrt g)
(* (cbrt (/ g a)) (cbrt 1/2))
(* 1/2 (/ g a))
(* 1/3 (+ (log g) (log (/ 1/2 a))))
(+ (log g) (log (/ 1/2 a)))
(* 1/3 (+ (log (/ 1/2 a)) (* -1 (log (/ 1 g)))))
(+ (log (/ 1/2 a)) (* -1 (log (/ 1 g))))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (cbrt -1)))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* 1/3 (+ (log (/ -1/2 a)) (* -1 (log (/ -1 g)))))
(+ (log (/ -1/2 a)) (* -1 (log (/ -1 g))))
(* (cbrt a) (cbrt 2))
(* 2 a)
(* 1/3 (+ (log (* 1/2 g)) (* -1 (log a))))
(+ (log (* 1/2 g)) (* -1 (log a)))
0
(* 2 (pow a 3))
(pow a 2)
(* 1/3 (+ (log (* 1/2 g)) (log (/ 1 a))))
(+ (log (* 1/2 g)) (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 (* -1/2 g)) (log (/ -1 a))))
(+ (log (* -1/2 g)) (log (/ -1 a)))
Outputs
(* (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 1/2))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* 1/2 (/ g a))
(*.f64 #s(literal 1/2 binary64) (/.f64 g a))
(* 1/3 (+ (log g) (log (/ 1/2 a))))
(*.f64 (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) a)) (log.f64 g)) #s(literal 1/3 binary64))
(+ (log g) (log (/ 1/2 a)))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) a)) (log.f64 g))
(* 1/3 (+ (log (/ 1/2 a)) (* -1 (log (/ 1 g)))))
(*.f64 (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) a)) (log.f64 g)) #s(literal 1/3 binary64))
(+ (log (/ 1/2 a)) (* -1 (log (/ 1 g))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) a)) (log.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/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* 1/3 (+ (log (/ -1/2 a)) (* -1 (log (/ -1 g)))))
(*.f64 #s(literal -1/3 binary64) (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) g)) (log.f64 (/.f64 #s(literal -1/2 binary64) a))))
(+ (log (/ -1/2 a)) (* -1 (log (/ -1 g))))
(-.f64 (log.f64 (/.f64 #s(literal -1/2 binary64) a)) (log.f64 (/.f64 #s(literal -1 binary64) g)))
(* (cbrt a) (cbrt 2))
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(* 2 a)
(*.f64 #s(literal 2 binary64) a)
(* 1/3 (+ (log (* 1/2 g)) (* -1 (log a))))
(*.f64 #s(literal -1/3 binary64) (-.f64 (log.f64 a) (log.f64 (*.f64 #s(literal 1/2 binary64) g))))
(+ (log (* 1/2 g)) (* -1 (log a)))
(-.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) g)) (log.f64 a))
0
#s(literal 0 binary64)
(* 2 (pow a 3))
(*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))
(pow a 2)
(*.f64 a a)
(* 1/3 (+ (log (* 1/2 g)) (log (/ 1 a))))
(*.f64 #s(literal -1/3 binary64) (-.f64 (log.f64 a) (log.f64 (*.f64 #s(literal 1/2 binary64) g))))
(+ (log (* 1/2 g)) (log (/ 1 a)))
(-.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) g)) (log.f64 a))
(* (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 (* -1/2 g)) (log (/ -1 a))))
(*.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) a)) (log.f64 (*.f64 #s(literal -1/2 binary64) g))) #s(literal 1/3 binary64))
(+ (log (* -1/2 g)) (log (/ -1 a)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) a)) (log.f64 (*.f64 #s(literal -1/2 binary64) g)))

rewrite27.0ms (0.7%)

Memory
14.2MiB live, 65.1MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025131
04582
015182
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
18 → 99
Calls
Call 1
Inputs
(/.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))
(cbrt.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
(+.f64 a a)
(pow.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))) #s(literal 1/3 binary64))
(/.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 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64))
(log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64))))
(/.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 (*.f64 a a) (*.f64 a a))
(+.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)))
(cbrt.f64 (/.f64 g (/.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)
Outputs
(*.f64 (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)))
(pow.f64 (exp.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))) #s(literal 1/3 binary64))
(pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/3 binary64))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))))
(pow.f64 g #s(literal 1/3 binary64))
(cbrt.f64 g)
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(pow.f64 (*.f64 #s(literal 2 binary64) a) #s(literal 1/3 binary64))
(cbrt.f64 (*.f64 #s(literal 2 binary64) a))
(*.f64 #s(literal 2 binary64) a)
(*.f64 a #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))) (neg.f64 (fma.f64 a a #s(literal 0 binary64))))
(/.f64 #s(literal 0 binary64) (-.f64 a a))
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a #s(literal 0 binary64)))
(+.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a #s(literal 0 binary64))) (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a #s(literal 0 binary64))))
(+.f64 a a)
(*.f64 (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)))
(pow.f64 (exp.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))) #s(literal 1/3 binary64))
(pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/3 binary64))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))))
(*.f64 (/.f64 g (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))) (fma.f64 a a #s(literal 0 binary64)))
(/.f64 (/.f64 g a) #s(literal 2 binary64))
(/.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 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))) (neg.f64 (fma.f64 a a #s(literal 0 binary64))))
(/.f64 #s(literal 0 binary64) (-.f64 a a))
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a #s(literal 0 binary64)))
(+.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a #s(literal 0 binary64))) (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a #s(literal 0 binary64))))
(+.f64 a a)
(*.f64 (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)))
(pow.f64 (exp.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))) #s(literal 1/3 binary64))
(pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/3 binary64))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))))
(*.f64 (/.f64 g (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))) (fma.f64 a a #s(literal 0 binary64)))
(/.f64 (/.f64 g a) #s(literal 2 binary64))
(/.f64 (neg.f64 g) (neg.f64 (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
(*.f64 (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)))
(pow.f64 (exp.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))) #s(literal 1/3 binary64))
(pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/3 binary64))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))))
(*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))
(*.f64 #s(literal 1/3 binary64) (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))))
(-.f64 (log.f64 g) (log.f64 (*.f64 #s(literal 2 binary64) a)))
(log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(*.f64 #s(literal 2 binary64) a)
(*.f64 a #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))) (neg.f64 (fma.f64 a a #s(literal 0 binary64))))
(/.f64 #s(literal 0 binary64) (-.f64 a a))
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a #s(literal 0 binary64)))
(+.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a #s(literal 0 binary64))) (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a #s(literal 0 binary64))))
(+.f64 a a)
#s(literal 0 binary64)
(*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a))
(*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))
(/.f64 (-.f64 (*.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (*.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) (-.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))))
(/.f64 (+.f64 (pow.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 3 binary64)) (pow.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 3 binary64))) (fma.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)) (-.f64 (*.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (*.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))))))
(fma.f64 (pow.f64 a #s(literal 3/2 binary64)) (pow.f64 a #s(literal 3/2 binary64)) (pow.f64 a #s(literal 3 binary64)))
(fma.f64 (*.f64 a a) a (pow.f64 a #s(literal 3 binary64)))
(fma.f64 a (*.f64 a a) (pow.f64 a #s(literal 3 binary64)))
(+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) #s(literal 0 binary64)) (-.f64 (*.f64 a a) #s(literal 0 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 a a) #s(literal 3 binary64)) #s(literal 0 binary64)) (fma.f64 (*.f64 a a) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 a a) #s(literal 0 binary64)))))
(fma.f64 (neg.f64 a) (neg.f64 a) #s(literal 0 binary64))
(fma.f64 (fabs.f64 a) (fabs.f64 a) #s(literal 0 binary64))
(fma.f64 a a #s(literal 0 binary64))
(-.f64 (fma.f64 a a (*.f64 a a)) (*.f64 a a))
(+.f64 #s(literal 0 binary64) (*.f64 a a))
(+.f64 (*.f64 a a) #s(literal 0 binary64))
(*.f64 (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)))
(pow.f64 (exp.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))) #s(literal 1/3 binary64))
(pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/3 binary64))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))))
(*.f64 (neg.f64 a) (neg.f64 a))
(*.f64 (fabs.f64 a) (fabs.f64 a))
(*.f64 a a)
(pow.f64 a #s(literal 2 binary64))

eval11.0ms (0.3%)

Memory
-14.8MiB live, 32.0MiB allocated; 2ms collecting garbage
Compiler

Compiled 1 385 to 337 computations (75.7% saved)

prune7.0ms (0.2%)

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

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New81889
Fresh123
Picked415
Done000
Total861197
Accuracy
99.7%
Counts
97 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
34.3%
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
98.7%
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
98.2%
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
98.7%
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
34.5%
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
33.5%
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
33.5%
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
76.9%
(cbrt.f64 (/.f64 g (+.f64 a a)))
76.9%
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
76.2%
#s(approx (/ (cbrt g) (cbrt (* a 2))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
76.8%
#s(approx (cbrt (/ g (+ a a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
Compiler

Compiled 246 to 193 computations (21.5% saved)

simplify152.0ms (4%)

Memory
-4.4MiB live, 468.0MiB allocated; 26ms collecting garbage
Localize:

Found 19 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 g (+.f64 a a))
cost-diff0
(log.f64 (/.f64 g (+.f64 a a)))
cost-diff0
(*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64))
cost-diff3
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
cost-diff1
(fma.f64 a a #s(literal 0 binary64))
cost-diff2
(*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a))
cost-diff6
(-.f64 (*.f64 a a) (*.f64 a a))
cost-diff6
(/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
cost-diff0
(+.f64 a a)
cost-diff0
(/.f64 g (+.f64 a a))
cost-diffInfinite
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
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)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
027190
049123
188123
2325121
33062121
08067121
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(cbrt.f64 g)
g
(cbrt.f64 (+.f64 a a))
(+.f64 a a)
a
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
(/.f64 g (+.f64 a a))
g
(+.f64 a a)
a
#s(literal 1/3 binary64)
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
(/.f64 g (/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))))
g
(/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a))
(fma.f64 a a #s(literal 0 binary64))
a
#s(literal 0 binary64)
(*.f64 #s(literal 2 binary64) a)
#s(literal 2 binary64)
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
(-.f64 (*.f64 a a) (*.f64 a a))
(*.f64 a a)
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
(*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64))
(log.f64 (/.f64 g (+.f64 a a)))
(/.f64 g (+.f64 a a))
g
(+.f64 a a)
a
#s(literal 1/3 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
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 #s(literal 2 binary64) a)))
(cbrt.f64 g)
g
(cbrt.f64 (+.f64 a a))
(cbrt.f64 (*.f64 #s(literal 2 binary64) a))
(+.f64 a a)
(*.f64 #s(literal 2 binary64) a)
a
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (+.f64 a a))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
g
(+.f64 a a)
(*.f64 #s(literal 2 binary64) a)
a
#s(literal 1/3 binary64)
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
g
(/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(*.f64 #s(literal 2 binary64) a)
(*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a))
(*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))
(fma.f64 a a #s(literal 0 binary64))
(*.f64 a a)
a
#s(literal 0 binary64)
(*.f64 #s(literal 2 binary64) a)
#s(literal 2 binary64)
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
(*.f64 a a)
(-.f64 (*.f64 a a) (*.f64 a a))
#s(literal 0 binary64)
(*.f64 a a)
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
(cbrt.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64))
(*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))
(log.f64 (/.f64 g (+.f64 a a)))
(log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (+.f64 a a))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
g
(+.f64 a a)
(*.f64 #s(literal 2 binary64) a)
a
#s(literal 1/3 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

localize412.0ms (10.8%)

Memory
10.3MiB live, 640.5MiB allocated; 83ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 g #s(literal 2 binary64))
accuracy0.171875
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
accuracy0.2526550781475361
(cbrt.f64 a)
accuracy0.3151550781475362
(cbrt.f64 (/.f64 g #s(literal 2 binary64)))
accuracy0.0
(+.f64 a a)
accuracy0.23828125
(*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64))
accuracy2.1569837556579667
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
accuracy8.061527123347878
(log.f64 (/.f64 g (+.f64 a a)))
accuracy0.0234375
(*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a))
accuracy6.644494097211979
(-.f64 (*.f64 a a) (*.f64 a a))
accuracy8.210441165657786
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
accuracy21.399651858460476
(/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
accuracy0.0
(/.f64 g (+.f64 a a))
accuracy0.0
(+.f64 a a)
accuracy9.715214978806404
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
accuracy0.0
(+.f64 a a)
accuracy0.14453125
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
accuracy0.25884633791597816
(cbrt.f64 g)
accuracy0.3015213867581883
(cbrt.f64 (+.f64 a a))
Samples
186.0ms88×1valid
82.0ms130×0invalid
41.0ms38×0valid
Compiler

Compiled 201 to 29 computations (85.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 240.0ms
ival-mult: 107.0ms (44.5% of total)
ival-div: 44.0ms (18.3% of total)
const: 32.0ms (13.3% of total)
adjust: 29.0ms (12.1% of total)
ival-cbrt: 12.0ms (5% of total)
ival-add: 5.0ms (2.1% of total)
ival-exp: 3.0ms (1.2% of total)
ival-log: 3.0ms (1.2% of total)
ival-sub: 2.0ms (0.8% of total)
exact: 1.0ms (0.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series248.0ms (6.5%)

Memory
-3.2MiB live, 618.9MiB allocated; 20ms collecting garbage
Counts
18 → 32
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(cbrt.f64 g)
(cbrt.f64 (+.f64 a a))
(+.f64 a a)
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
(/.f64 g (+.f64 a a))
(/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(-.f64 (*.f64 a a) (*.f64 a a))
(*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a))
(fma.f64 a a #s(literal 0 binary64))
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
(*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64))
(log.f64 (/.f64 g (+.f64 a a)))
(/.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 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
Outputs
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(cbrt g)
(* (cbrt (/ g a)) (cbrt 1/2))
(* 1/2 (/ g a))
(* 1/3 (+ (log g) (log (/ 1/2 a))))
(+ (log g) (log (/ 1/2 a)))
(* (cbrt g) (cbrt 1/2))
(* 1/2 g)
(* 1/3 (+ (log (/ 1/2 a)) (* -1 (log (/ 1 g)))))
(+ (log (/ 1/2 a)) (* -1 (log (/ 1 g))))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (cbrt -1)))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* 1/3 (+ (log (/ -1/2 a)) (* -1 (log (/ -1 g)))))
(+ (log (/ -1/2 a)) (* -1 (log (/ -1 g))))
(* -1 (* (cbrt g) (cbrt -1/2)))
(* (cbrt a) (cbrt 2))
(* 2 a)
0
(* 2 (pow a 3))
(pow a 2)
(* 1/3 (+ (log (* 1/2 g)) (* -1 (log a))))
(+ (log (* 1/2 g)) (* -1 (log a)))
(cbrt a)
(* 1/3 (+ (log (* 1/2 g)) (log (/ 1 a))))
(+ (log (* 1/2 g)) (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 (* -1/2 g)) (log (/ -1 a))))
(+ (log (* -1/2 g)) (log (/ -1 a)))
(* -1 (* (cbrt a) (cbrt -1)))
Calls

6 calls:

TimeVariablePointExpression
78.0ms
g
@-inf
((/ (cbrt g) (cbrt (+ a a))) (cbrt g) (cbrt (+ a a)) (+ a a) (pow (/ g (+ a a)) 1/3) (/ g (+ a a)) (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (* (+ (* a a) 0) (* 2 a)) (+ (* a a) 0) (exp (* (log (/ g (+ a a))) 1/3)) (* (log (/ g (+ a a))) 1/3) (log (/ g (+ a a))) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))))))
51.0ms
a
@0
((/ (cbrt g) (cbrt (+ a a))) (cbrt g) (cbrt (+ a a)) (+ a a) (pow (/ g (+ a a)) 1/3) (/ g (+ a a)) (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (* (+ (* a a) 0) (* 2 a)) (+ (* a a) 0) (exp (* (log (/ g (+ a a))) 1/3)) (* (log (/ g (+ a a))) 1/3) (log (/ g (+ a a))) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))))))
51.0ms
g
@inf
((/ (cbrt g) (cbrt (+ a a))) (cbrt g) (cbrt (+ a a)) (+ a a) (pow (/ g (+ a a)) 1/3) (/ g (+ a a)) (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (* (+ (* a a) 0) (* 2 a)) (+ (* a a) 0) (exp (* (log (/ g (+ a a))) 1/3)) (* (log (/ g (+ a a))) 1/3) (log (/ g (+ a a))) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))))))
20.0ms
a
@-inf
((/ (cbrt g) (cbrt (+ a a))) (cbrt g) (cbrt (+ a a)) (+ a a) (pow (/ g (+ a a)) 1/3) (/ g (+ a a)) (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (* (+ (* a a) 0) (* 2 a)) (+ (* a a) 0) (exp (* (log (/ g (+ a a))) 1/3)) (* (log (/ g (+ a a))) 1/3) (log (/ g (+ a a))) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))))))
19.0ms
a
@inf
((/ (cbrt g) (cbrt (+ a a))) (cbrt g) (cbrt (+ a a)) (+ a a) (pow (/ g (+ a a)) 1/3) (/ g (+ a a)) (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))) (- (* a a) (* a a)) (* (+ (* a a) 0) (* 2 a)) (+ (* a a) 0) (exp (* (log (/ g (+ a a))) 1/3)) (* (log (/ g (+ a a))) 1/3) (log (/ g (+ a a))) (/ (cbrt (/ g 2)) (cbrt a)) (cbrt (/ g 2)) (/ g 2) (cbrt a) (cbrt (/ g (/ (* (+ (* a a) 0) (* 2 a)) (+ (* a a) (- (* a a) (* a a)))))))

simplify109.0ms (2.9%)

Memory
-18.7MiB live, 164.6MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
080211
1190201
2405201
3872201
42946199
08209199
Stop Event
iter limit
node limit
Counts
32 → 32
Calls
Call 1
Inputs
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(cbrt g)
(* (cbrt (/ g a)) (cbrt 1/2))
(* 1/2 (/ g a))
(* 1/3 (+ (log g) (log (/ 1/2 a))))
(+ (log g) (log (/ 1/2 a)))
(* (cbrt g) (cbrt 1/2))
(* 1/2 g)
(* 1/3 (+ (log (/ 1/2 a)) (* -1 (log (/ 1 g)))))
(+ (log (/ 1/2 a)) (* -1 (log (/ 1 g))))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt g) (cbrt -1)))
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* 1/3 (+ (log (/ -1/2 a)) (* -1 (log (/ -1 g)))))
(+ (log (/ -1/2 a)) (* -1 (log (/ -1 g))))
(* -1 (* (cbrt g) (cbrt -1/2)))
(* (cbrt a) (cbrt 2))
(* 2 a)
0
(* 2 (pow a 3))
(pow a 2)
(* 1/3 (+ (log (* 1/2 g)) (* -1 (log a))))
(+ (log (* 1/2 g)) (* -1 (log a)))
(cbrt a)
(* 1/3 (+ (log (* 1/2 g)) (log (/ 1 a))))
(+ (log (* 1/2 g)) (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 (* -1/2 g)) (log (/ -1 a))))
(+ (log (* -1/2 g)) (log (/ -1 a)))
(* -1 (* (cbrt a) (cbrt -1)))
Outputs
(* (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 1/2))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a)))
(* 1/2 (/ g a))
(*.f64 #s(literal 1/2 binary64) (/.f64 g a))
(* 1/3 (+ (log g) (log (/ 1/2 a))))
(*.f64 (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) a)) (log.f64 g)) #s(literal 1/3 binary64))
(+ (log g) (log (/ 1/2 a)))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) a)) (log.f64 g))
(* (cbrt g) (cbrt 1/2))
(*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g))
(* 1/2 g)
(*.f64 #s(literal 1/2 binary64) g)
(* 1/3 (+ (log (/ 1/2 a)) (* -1 (log (/ 1 g)))))
(*.f64 (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) a)) (log.f64 g)) #s(literal 1/3 binary64))
(+ (log (/ 1/2 a)) (* -1 (log (/ 1 g))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) a)) (log.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/2)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* 1/3 (+ (log (/ -1/2 a)) (* -1 (log (/ -1 g)))))
(*.f64 #s(literal -1/3 binary64) (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) g)) (log.f64 (/.f64 #s(literal -1/2 binary64) a))))
(+ (log (/ -1/2 a)) (* -1 (log (/ -1 g))))
(-.f64 (log.f64 (/.f64 #s(literal -1/2 binary64) a)) (log.f64 (/.f64 #s(literal -1 binary64) g)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(*.f64 (cbrt.f64 #s(literal -1/2 binary64)) (neg.f64 (cbrt.f64 g)))
(* (cbrt a) (cbrt 2))
(*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64)))
(* 2 a)
(*.f64 #s(literal 2 binary64) a)
0
#s(literal 0 binary64)
(* 2 (pow a 3))
(*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))
(pow a 2)
(*.f64 a a)
(* 1/3 (+ (log (* 1/2 g)) (* -1 (log a))))
(*.f64 #s(literal -1/3 binary64) (-.f64 (log.f64 a) (log.f64 (*.f64 #s(literal 1/2 binary64) g))))
(+ (log (* 1/2 g)) (* -1 (log a)))
(-.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) g)) (log.f64 a))
(cbrt a)
(cbrt.f64 a)
(* 1/3 (+ (log (* 1/2 g)) (log (/ 1 a))))
(*.f64 #s(literal -1/3 binary64) (-.f64 (log.f64 a) (log.f64 (*.f64 #s(literal 1/2 binary64) g))))
(+ (log (* 1/2 g)) (log (/ 1 a)))
(-.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) g)) (log.f64 a))
(* (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 (* -1/2 g)) (log (/ -1 a))))
(*.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) a)) (log.f64 (*.f64 #s(literal -1/2 binary64) g))) #s(literal 1/3 binary64))
(+ (log (* -1/2 g)) (log (/ -1 a)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) a)) (log.f64 (*.f64 #s(literal -1/2 binary64) g)))
(* -1 (* (cbrt a) (cbrt -1)))
(cbrt.f64 a)

rewrite31.0ms (0.8%)

Memory
-2.6MiB live, 41.9MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027127
04997
016197
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
18 → 71
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(cbrt.f64 g)
(cbrt.f64 (+.f64 a a))
(+.f64 a a)
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
(/.f64 g (+.f64 a a))
(/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(-.f64 (*.f64 a a) (*.f64 a a))
(*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a))
(fma.f64 a a #s(literal 0 binary64))
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
(*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64))
(log.f64 (/.f64 g (+.f64 a a)))
(/.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 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
Outputs
(*.f64 (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)))
(pow.f64 (exp.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))) #s(literal 1/3 binary64))
(pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/3 binary64))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))))
(pow.f64 g #s(literal 1/3 binary64))
(cbrt.f64 g)
(pow.f64 (*.f64 #s(literal 2 binary64) a) #s(literal 1/3 binary64))
(cbrt.f64 (*.f64 #s(literal 2 binary64) a))
(*.f64 #s(literal 2 binary64) a)
(*.f64 a #s(literal 2 binary64))
(/.f64 (+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (*.f64 a a))
(/.f64 #s(literal 0 binary64) (-.f64 a a))
(+.f64 a a)
(*.f64 (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)))
(pow.f64 (exp.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))) #s(literal 1/3 binary64))
(pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/3 binary64))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))))
(/.f64 (neg.f64 g) (neg.f64 (*.f64 #s(literal 2 binary64) a)))
(/.f64 g (*.f64 #s(literal 2 binary64) a))
(*.f64 (*.f64 a a) (/.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 a a)))
(/.f64 (neg.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)) (neg.f64 (*.f64 a a)))
(/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))
#s(literal 0 binary64)
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)
(*.f64 (*.f64 a a) (*.f64 #s(literal 2 binary64) a))
(*.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 a a))
(*.f64 (neg.f64 a) (neg.f64 a))
(*.f64 (fabs.f64 a) (fabs.f64 a))
(*.f64 a a)
(pow.f64 a #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) #s(literal 0 binary64)) (-.f64 (*.f64 a a) #s(literal 0 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 a a) #s(literal 3 binary64)) #s(literal 0 binary64)) (fma.f64 (*.f64 a a) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 a a) #s(literal 0 binary64)))))
(fma.f64 (neg.f64 a) (neg.f64 a) #s(literal 0 binary64))
(fma.f64 (fabs.f64 a) (fabs.f64 a) #s(literal 0 binary64))
(fma.f64 a a #s(literal 0 binary64))
(-.f64 (fma.f64 a a (*.f64 a a)) (*.f64 a a))
(+.f64 (*.f64 a a) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a a))
(*.f64 (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)) (pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/6 binary64)))
(pow.f64 (exp.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)))) #s(literal 1/3 binary64))
(pow.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a)) #s(literal 1/3 binary64))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))))
(*.f64 (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))) #s(literal 1/3 binary64))
(*.f64 #s(literal 1/3 binary64) (log.f64 (/.f64 g (*.f64 #s(literal 2 binary64) a))))
(-.f64 (log.f64 g) (log.f64 (*.f64 #s(literal 2 binary64) a)))
(log.f64 (/.f64 g (*.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))) (cbrt.f64 a))
(cbrt.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a))
(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)
(pow.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))) #s(literal 1/3 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))

eval9.0ms (0.2%)

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

Compiled 1 318 to 330 computations (75% saved)

prune11.0ms (0.3%)

Memory
-25.2MiB live, 20.5MiB allocated; 4ms collecting garbage
Pruning

15 alts after pruning (11 fresh and 4 done)

PrunedKeptTotal
New86894
Fresh235
Picked235
Done011
Total9015105
Accuracy
99.8%
Counts
105 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
34.3%
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
47.6%
(/.f64 (pow.f64 (/.f64 g #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))
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))))
98.7%
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
98.5%
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g))) (cbrt.f64 a))
34.5%
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
33.5%
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
33.5%
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
76.9%
(cbrt.f64 (/.f64 g (+.f64 a a)))
48.3%
(cbrt.f64 (/.f64 g (*.f64 (*.f64 a a) (/.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 a a)))))
76.9%
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
76.8%
#s(approx (pow (/ g (+ a a)) 1/3) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
76.2%
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
Compiler

Compiled 303 to 245 computations (19.1% saved)

simplify96.0ms (2.5%)

Memory
33.3MiB live, 128.7MiB allocated; 18ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
cost-diff1
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
cost-diff6
(-.f64 (*.f64 a a) (*.f64 a a))
cost-diff6
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
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)))
cost-diff0
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
cost-diff0
(/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a)))
cost-diff0
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
cost-diff2
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)
cost-diff6
(/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))
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 #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: 2 (0.0ms)

IterNodesCost
039243
063217
1107201
2331165
32555165
08353165
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
(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
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
(/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a)))
g
(/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)
(*.f64 (*.f64 a a) #s(literal 2 binary64))
(*.f64 a a)
a
#s(literal 2 binary64)
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
(/.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)
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
(/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))))
g
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))
#s(literal 2 binary64)
(pow.f64 a #s(literal 3 binary64))
a
#s(literal 3 binary64)
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
(-.f64 (*.f64 a a) (*.f64 a a))
(*.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
(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
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
(cbrt.f64 (/.f64 (/.f64 g a) #s(literal 2 binary64)))
(/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a)))
(/.f64 (/.f64 g a) #s(literal 2 binary64))
g
(/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))
(*.f64 a #s(literal 2 binary64))
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)
(*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))
(*.f64 (*.f64 a a) #s(literal 2 binary64))
(*.f64 a a)
a
#s(literal 2 binary64)
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
(/.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)
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
(cbrt.f64 (/.f64 (/.f64 g a) #s(literal 2 binary64)))
(/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))))
(/.f64 (/.f64 g a) #s(literal 2 binary64))
g
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(*.f64 a #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))
(*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))
#s(literal 2 binary64)
(pow.f64 a #s(literal 3 binary64))
a
#s(literal 3 binary64)
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
(*.f64 a a)
(-.f64 (*.f64 a a) (*.f64 a a))
#s(literal 0 binary64)
(*.f64 a a)

localize147.0ms (3.8%)

Memory
12.5MiB live, 246.8MiB allocated; 27ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))
accuracy12.550711072511522
(-.f64 (*.f64 a a) (*.f64 a a))
accuracy14.815258482814633
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
accuracy40.078409850338154
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
accuracy0.0
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
accuracy0.2578125
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
accuracy1.0
(cbrt.f64 #s(literal 2 binary64))
accuracy14.779391006483792
(cbrt.f64 (/.f64 g a))
accuracy0.01171875
(*.f64 (*.f64 a a) #s(literal 2 binary64))
accuracy0.0703125
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)
accuracy14.815258482814633
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
accuracy40.078409850338154
(/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))
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.23046875
(*.f64 g (/.f64 #s(literal 1/2 binary64) a))
accuracy14.815258482814633
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
accuracy0.0
#s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))
accuracy0.33984375
(/.f64 (cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g))) (cbrt.f64 a))
accuracy0.5632401367581884
(cbrt.f64 a)
accuracy0.6055451172213043
(cbrt.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)))
Samples
87.0ms184×1valid
24.0ms72×0valid
Compiler

Compiled 217 to 38 computations (82.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 77.0ms
ival-div: 25.0ms (32.5% of total)
ival-mult: 17.0ms (22.1% of total)
ival-cbrt: 14.0ms (18.2% of total)
adjust: 9.0ms (11.7% of total)
ival-sub: 4.0ms (5.2% of total)
ival-pow: 4.0ms (5.2% of total)
ival-add: 3.0ms (3.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series55.0ms (1.4%)

Memory
-3.9MiB live, 143.3MiB allocated; 21ms collecting garbage
Counts
24 → 23
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)
(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)
(/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
(/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a)))
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 g a))
(/.f64 g a)
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(-.f64 (*.f64 a a) (*.f64 a a))
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
(cbrt.f64 a)
(*.f64 (*.f64 a a) #s(literal 2 binary64))
(cbrt.f64 #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))
Outputs
(* (cbrt (/ g a)) (cbrt 1/2))
(* (cbrt g) (cbrt 1/2))
(* 1/2 g)
(* 1/2 (/ g a))
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(cbrt (/ g a))
(/ g a)
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(/ 1/2 a)
(* 2 a)
(* 2 (pow a 3))
0
(pow a 2)
(cbrt a)
(* 2 (pow a 2))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(* (cbrt (/ g a)) (/ (pow (cbrt -1) 2) (cbrt 2)))
(* (cbrt (/ g a)) (pow (cbrt -1) 2))
(* -1 (* (cbrt a) (cbrt -1)))
Calls

6 calls:

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

simplify153.0ms (4%)

Memory
-17.6MiB live, 212.7MiB allocated; 18ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
050138
1102136
2210136
3515136
42070136
57393136
08213136
Stop Event
iter limit
node limit
Counts
23 → 23
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 2)))
(cbrt (/ g a))
(/ g a)
(* -1 (* (cbrt (/ g a)) (cbrt -1/2)))
(* -1 (* (cbrt g) (cbrt -1/2)))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(/ 1/2 a)
(* 2 a)
(* 2 (pow a 3))
0
(pow a 2)
(cbrt a)
(* 2 (pow a 2))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(* (cbrt (/ g a)) (/ (pow (cbrt -1) 2) (cbrt 2)))
(* (cbrt (/ g a)) (pow (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 #s(literal 1/2 binary64)) (cbrt.f64 g))
(* 1/2 g)
(*.f64 #s(literal 1/2 binary64) g)
(* 1/2 (/ g a))
(*.f64 #s(literal 1/2 binary64) (/.f64 g a))
(* (cbrt (/ g a)) (/ 1 (cbrt 2)))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt (/ g a))
(cbrt.f64 (/.f64 g a))
(/ g a)
(/.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)))
(*.f64 (neg.f64 (cbrt.f64 g)) (cbrt.f64 #s(literal -1/2 binary64)))
(* -1 (* (cbrt (/ g a)) (/ (cbrt -1) (cbrt 2))))
(*.f64 (/.f64 (neg.f64 (cbrt.f64 #s(literal -1 binary64))) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt (/ g a)) (cbrt -1)))
(*.f64 (neg.f64 (cbrt.f64 #s(literal -1 binary64))) (cbrt.f64 (/.f64 g a)))
(/ 1/2 a)
(/.f64 #s(literal 1/2 binary64) a)
(* 2 a)
(*.f64 a #s(literal 2 binary64))
(* 2 (pow a 3))
(*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))
0
#s(literal 0 binary64)
(pow a 2)
(*.f64 a a)
(cbrt a)
(cbrt.f64 a)
(* 2 (pow a 2))
(*.f64 (*.f64 a a) #s(literal 2 binary64))
(* (cbrt (/ g a)) (* (cbrt -1) (cbrt -1/2)))
(*.f64 (*.f64 (cbrt.f64 #s(literal -1 binary64)) (cbrt.f64 #s(literal -1/2 binary64))) (cbrt.f64 (/.f64 g a)))
(* (cbrt (/ g a)) (/ (cbrt -1) (cbrt -2)))
(/.f64 (*.f64 (cbrt.f64 #s(literal -1 binary64)) (cbrt.f64 (/.f64 g a))) (cbrt.f64 #s(literal -2 binary64)))
(* (cbrt (/ g a)) (/ (pow (cbrt -1) 2) (cbrt 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 (/.f64 g a)))
(* (cbrt (/ g a)) (pow (cbrt -1) 2))
(*.f64 (pow.f64 (cbrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (cbrt.f64 (/.f64 g a)))
(* -1 (* (cbrt a) (cbrt -1)))
(*.f64 (cbrt.f64 a) (neg.f64 (cbrt.f64 #s(literal -1 binary64))))

rewrite35.0ms (0.9%)

Memory
-1.0MiB live, 100.6MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039200
063158
0190158
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
24 → 72
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)
(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)
(/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
(/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a)))
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 g a))
(/.f64 g a)
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))
(-.f64 (*.f64 a a) (*.f64 a a))
(fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a)))
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
(cbrt.f64 a)
(*.f64 (*.f64 a a) #s(literal 2 binary64))
(cbrt.f64 #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))
Outputs
(/.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))
(cbrt.f64 (/.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)) a))
(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)))
#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))
(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 #s(literal 1/2 binary64) g) a)
(/.f64 #s(literal -1/2 binary64) (neg.f64 a))
(/.f64 #s(literal 1/2 binary64) a)
(*.f64 (/.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (/.f64 a a))
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) (/.f64 a (*.f64 a a)))
(/.f64 (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) a) a)
(/.f64 (neg.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)) (neg.f64 (*.f64 a a)))
(/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)
(*.f64 (*.f64 a a) (*.f64 a #s(literal 2 binary64)))
(*.f64 a (*.f64 (*.f64 a a) #s(literal 2 binary64)))
(pow.f64 (*.f64 (/.f64 g (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)) (*.f64 a a)) #s(literal 1/3 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (/.f64 a a))))
(cbrt.f64 (*.f64 (/.f64 g (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)) (*.f64 a a)))
(*.f64 (/.f64 g (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)) (*.f64 a a))
(/.f64 (neg.f64 g) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (/.f64 a a))))
(/.f64 g (*.f64 (/.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (/.f64 a a)))
#s(approx (/ (cbrt g) (cbrt (+ a a))) (cbrt.f64 (/.f64 (/.f64 g a) #s(literal 2 binary64))))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g a))) (neg.f64 (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64)))
(cbrt.f64 (/.f64 (/.f64 g a) #s(literal 2 binary64)))
(pow.f64 (/.f64 g a) #s(literal 1/3 binary64))
(/.f64 (cbrt.f64 g) (cbrt.f64 a))
(cbrt.f64 (/.f64 g a))
(/.f64 (neg.f64 g) (neg.f64 a))
(/.f64 g a)
(*.f64 a #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a #s(literal 0 binary64))))
(*.f64 #s(literal 2 binary64) a)
(/.f64 (neg.f64 (*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))) (neg.f64 (fma.f64 a a #s(literal 0 binary64))))
(/.f64 #s(literal 0 binary64) (-.f64 a a))
(/.f64 (*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64)) (fma.f64 a a #s(literal 0 binary64)))
(+.f64 a a)
#s(literal 0 binary64)
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) #s(literal 0 binary64)) (-.f64 (*.f64 a a) #s(literal 0 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 a a) #s(literal 3 binary64)) #s(literal 0 binary64)) (fma.f64 (*.f64 a a) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 a a) #s(literal 0 binary64)))))
(fma.f64 (neg.f64 a) (neg.f64 a) #s(literal 0 binary64))
(fma.f64 (fabs.f64 a) (fabs.f64 a) #s(literal 0 binary64))
(fma.f64 a a #s(literal 0 binary64))
(-.f64 (fma.f64 a a (*.f64 a a)) (*.f64 a a))
(+.f64 #s(literal 0 binary64) (*.f64 a a))
(+.f64 (*.f64 a a) #s(literal 0 binary64))
(pow.f64 (/.f64 (/.f64 g #s(literal 2 binary64)) a) #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 (/.f64 g #s(literal 2 binary64)) a))
(pow.f64 a #s(literal 1/3 binary64))
(cbrt.f64 a)
(*.f64 (*.f64 a a) #s(literal 2 binary64))
(*.f64 a (*.f64 a #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (*.f64 a a))
(pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))
(cbrt.f64 #s(literal 2 binary64))
(*.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64)))
(fma.f64 (pow.f64 a #s(literal 3/2 binary64)) (pow.f64 a #s(literal 3/2 binary64)) (pow.f64 a #s(literal 3 binary64)))
(fma.f64 (*.f64 a a) a (pow.f64 a #s(literal 3 binary64)))
(fma.f64 a (*.f64 a a) (pow.f64 a #s(literal 3 binary64)))
(+.f64 (pow.f64 a #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))

eval12.0ms (0.3%)

Memory
-12.0MiB live, 34.9MiB allocated; 2ms collecting garbage
Compiler

Compiled 1 412 to 329 computations (76.7% saved)

prune13.0ms (0.3%)

Memory
3.0MiB live, 50.1MiB allocated; 1ms collecting garbage
Pruning

18 alts after pruning (10 fresh and 8 done)

PrunedKeptTotal
New87794
Fresh336
Picked145
Done044
Total9118109
Accuracy
99.8%
Counts
109 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
34.3%
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
47.6%
(/.f64 (pow.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)) #s(literal 1/3 binary64)) (cbrt.f64 a))
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))))
98.7%
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
98.5%
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g))) (cbrt.f64 a))
34.5%
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
33.5%
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
33.5%
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) #s(approx (+ (* a a) (- (* a a) (* a a))) (*.f64 a a)))))
76.9%
(cbrt.f64 (/.f64 g (+.f64 a a)))
49.4%
(cbrt.f64 (/.f64 g (*.f64 (/.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (/.f64 a a))))
48.3%
(cbrt.f64 (/.f64 g (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) (/.f64 a (*.f64 a a)))))
24.5%
(cbrt.f64 (*.f64 (/.f64 g (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)) (*.f64 a a)))
76.9%
(cbrt.f64 #s(approx (/ g (* 2 a)) (*.f64 g (/.f64 #s(literal 1/2 binary64) a))))
76.8%
#s(approx (pow (/ g (+ a a)) 1/3) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
98.2%
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 2 binary64))))
76.8%
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))))
76.2%
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
Compiler

Compiled 625 to 307 computations (50.9% saved)

regimes47.0ms (1.2%)

Memory
15.3MiB live, 112.1MiB allocated; 7ms collecting garbage
Counts
32 → 1
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (+.f64 a a)))
(pow.f64 (/.f64 g (+.f64 a a)) #s(literal 1/3 binary64))
(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))
(cbrt.f64 (*.f64 (/.f64 g (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a)) (*.f64 a a)))
(cbrt.f64 (/.f64 g (*.f64 (*.f64 a a) (/.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 a a)))))
(cbrt.f64 (/.f64 g (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) (/.f64 a (*.f64 a a)))))
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (*.f64 a a))))
(cbrt.f64 (/.f64 g (*.f64 (/.f64 (*.f64 (*.f64 a a) #s(literal 2 binary64)) a) (/.f64 a a))))
(cbrt.f64 (/.f64 g (/.f64 (*.f64 (fma.f64 a a #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) a)) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
(/.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 (+ a a))) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
#s(approx (pow (/ g (+ a a)) 1/3) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 (/.f64 g a))))
(/.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 (pow.f64 #s(approx (/ g 2) (*.f64 #s(literal 1/2 binary64) g)) #s(literal 1/3 binary64)) (cbrt.f64 a))
(exp.f64 (*.f64 (log.f64 (/.f64 g (+.f64 a a))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (*.f64 a #s(literal 2 binary64)))) #s(literal 1/3 binary64)))
#s(approx (/ (cbrt g) (cbrt (* a 2))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (cbrt.f64 (/.f64 g #s(literal 2 binary64))) (cbrt.f64 a))
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (cbrt.f64 (/.f64 g a)) (pow.f64 #s(literal 2 binary64) #s(literal 1/3 binary64))))
(/.f64 (pow.f64 (/.f64 g #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 a))
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) #s(approx (+ (* a a) (- (* a a) (* a a))) (*.f64 a a)))))
(cbrt.f64 (/.f64 g (/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 a a (-.f64 (*.f64 a a) (*.f64 a a))))))
(/.f64 #s(approx (cbrt (/ g 2)) (*.f64 (cbrt.f64 #s(literal 1/2 binary64)) (cbrt.f64 g))) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 #s(literal 2 binary64))))
#s(approx (/ (cbrt g) (cbrt (+ a a))) (/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 #s(literal 2 binary64))))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 #s(literal 2 binary64))) (cbrt.f64 a))
(cbrt.f64 (/.f64 g (/.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))))))
Outputs
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
Calls

5 calls:

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

regimes20.0ms (0.5%)

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

5 calls:

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

Compiled 16 to 19 computations (-18.8% saved)

regimes7.0ms (0.2%)

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

Total -27.2b remaining (-183.8%)

Threshold costs -27.2b (-183.8%)

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

5 calls:

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

Compiled 16 to 19 computations (-18.8% saved)

simplify45.0ms (1.2%)

Memory
-27.1MiB live, 66.8MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01625
12225
23125
35125
412225
586325
6630225
Stop Event
node limit
Calls
Call 1
Inputs
(/.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 (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)))

derivations36.0ms (0.9%)

Memory
-8.1MiB live, 42.5MiB allocated; 9ms collecting garbage
Stop Event
fuel
Compiler

Compiled 25 to 16 computations (36% saved)

preprocess20.0ms (0.5%)

Memory
3.4MiB live, 49.9MiB allocated; 3ms collecting garbage
Compiler

Compiled 62 to 44 computations (29% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...