Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, H

Time bar (total: 3.4s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample2.0s (58.2%)

Memory
-115.3MiB live, 1 489.9MiB allocated; 1.7s collecting garbage
Samples
1.7s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.5s
ival-div: 1.1s (71.7% of total)
exact: 279.0ms (19% of total)
ival-mult: 72.0ms (4.9% of total)
ival-sub: 54.0ms (3.7% of total)
ival-true: 6.0ms (0.4% of total)
ival-assert: 3.0ms (0.2% of total)
adjust: 2.0ms (0.1% of total)
Bogosity

explain82.0ms (2.4%)

Memory
31.9MiB live, 120.3MiB allocated; 15ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-#s(literal 6 binary64)
00-0-#s(literal 3 binary64)
00-0-(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
00-0-(*.f64 x x)
00-0-(-.f64 (*.f64 x x) #s(literal 3 binary64))
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
37.0ms512×0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-div: 4.0ms (33% of total)
ival-mult: 4.0ms (33% of total)
ival-sub: 3.0ms (24.8% of total)
exact: 1.0ms (8.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess22.0ms (0.7%)

Memory
-15.7MiB live, 35.9MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
12614
25514
38714
413214
514214
614614
714914
067
097
1177
2367
3657
4947
51097
61177
71257
81317
91357
01357
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Outputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Symmetry

(abs x)

Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

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

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify6.0ms (0.2%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(-.f64 (*.f64 x x) #s(literal 3 binary64))
cost-diff0
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
11718
23618
36518
49418
510918
611718
712518
813118
913518
013518
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
x
#s(literal 3 binary64)
#s(literal 6 binary64)
Outputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
x
#s(literal 3 binary64)
#s(literal 6 binary64)

localize21.0ms (0.6%)

Memory
-10.1MiB live, 34.9MiB allocated; 7ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 (*.f64 x x) #s(literal 3 binary64))
accuracy0.0
(*.f64 x x)
accuracy0.04296875
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Samples
16.0ms256×0valid
Compiler

Compiled 20 to 8 computations (60% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 6.0ms (65.3% of total)
ival-div: 2.0ms (21.8% of total)
ival-sub: 1.0ms (10.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0.1%)

Memory
4.2MiB live, 4.2MiB allocated; 0ms collecting garbage
Counts
3 → 9
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (- (* x x) 3) #s(hole binary64 -3))
#s(approx (- (* x x) 3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (- (* x x) 3) #s(hole binary64 (pow x 2)))
#s(approx (- (* x x) 3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (* x x))
1.0ms
x
@0
((/ (- (* x x) 3) 6) (- (* x x) 3) (* x x))
1.0ms
x
@-inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (* x x))

simplify83.0ms (2.4%)

Memory
4.6MiB live, 93.2MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03297
16097
219697
388197
4478797
0836985
Stop Event
iter limit
node limit
Counts
9 → 9
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (- (* x x) 3) #s(hole binary64 -3))
#s(approx (- (* x x) 3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (- (* x x) 3) #s(hole binary64 (pow x 2)))
#s(approx (- (* x x) 3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
#s(approx (- (* x x) 3) #s(hole binary64 -3))
#s(approx (- (* x x) 3) #s(literal -3 binary64))
#s(approx (- (* x x) 3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* x x) (*.f64 x x))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
#s(approx (- (* x x) 3) #s(hole binary64 (pow x 2)))
#s(approx (- (* x x) 3) (*.f64 x x))
#s(approx (- (* x x) 3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))

rewrite45.0ms (1.3%)

Memory
7.4MiB live, 60.4MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
0915
13715
024415
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 32
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
Outputs
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64))) #s(literal 1/4 binary64)) (fma.f64 x (/.f64 x #s(literal 6 binary64)) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64)) (+.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)))) #s(literal 6 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64)) (*.f64 (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))) #s(literal 6 binary64)))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal -6 binary64))
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal 6 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal -6 binary64)))
(-.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (neg.f64 (fma.f64 x x #s(literal 3 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64))) (neg.f64 (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (fma.f64 x x #s(literal 3 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64)) (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 x x #s(literal 3 binary64))) (/.f64 #s(literal 9 binary64) (fma.f64 x x #s(literal 3 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal 27 binary64) (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64)))))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))

eval11.0ms (0.3%)

Memory
-33.0MiB live, 11.5MiB allocated; 5ms collecting garbage
Compiler

Compiled 455 to 143 computations (68.6% saved)

prune4.0ms (0.1%)

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

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New33639
Fresh000
Picked101
Done000
Total34640
Accuracy
100.0%
Counts
40 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.3%
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
99.9%
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
52.3%
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
52.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
99.9%
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
48.2%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 142 to 112 computations (21.1% saved)

simplify13.0ms (0.4%)

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

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (- (* x x) 3) (*.f64 x x))
cost-diff0
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
cost-diff0
(fma.f64 x x #s(literal -3 binary64))
cost-diff0
(*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64)))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
cost-diff0
(fma.f64 x x #s(literal -3 binary64))
cost-diff0
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
cost-diff0
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
020114
026114
143114
286114
3174111
4266111
5329111
6355111
7373111
8386111
9394111
0394111
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(fma.f64 x x #s(literal -3 binary64))
x
#s(literal -3 binary64)
#s(literal 6 binary64)
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 x x)
x
#s(literal 1/6 binary64)
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
(*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64)))
#s(literal 1/6 binary64)
(fma.f64 x x #s(literal -3 binary64))
x
#s(literal -3 binary64)
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (*.f64 x x))
(*.f64 x x)
x
#s(literal 6 binary64)
Outputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(fma.f64 x x #s(literal -3 binary64))
x
#s(literal -3 binary64)
#s(literal 6 binary64)
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 x x)
x
#s(literal 1/6 binary64)
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
(*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64)))
#s(literal 1/6 binary64)
(fma.f64 x x #s(literal -3 binary64))
x
#s(literal -3 binary64)
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (*.f64 x x))
(*.f64 x x)
x
#s(literal 6 binary64)

localize42.0ms (1.2%)

Memory
-27.3MiB live, 62.3MiB allocated; 11ms collecting garbage
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x x)
accuracy0.04296875
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
accuracy30.467294363451998
#s(approx (- (* x x) 3) (*.f64 x x))
accuracy0.0
(fma.f64 x x #s(literal -3 binary64))
accuracy0.0
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
accuracy0.06640625
(*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64)))
accuracy0.0
(*.f64 x x)
accuracy0.1484375
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
accuracy30.464665381840945
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
accuracy33.17604806142625
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
accuracy0.0
(fma.f64 x x #s(literal -3 binary64))
accuracy0.0
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
accuracy0.04296875
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
Samples
29.0ms256×0valid
Compiler

Compiled 86 to 14 computations (83.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 8.0ms (47.3% of total)
const: 3.0ms (17.7% of total)
ival-div: 2.0ms (11.8% of total)
ival-add: 1.0ms (5.9% of total)
ival-sub: 1.0ms (5.9% of total)
exact: 1.0ms (5.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
4.7MiB live, 4.7MiB allocated; 0ms collecting garbage
Counts
11 → 18
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(fma.f64 x x #s(literal -3 binary64))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 x x)
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
(*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64)))
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (*.f64 x x))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (- (* x x) 3) #s(hole binary64 -3))
#s(approx (- (* x x) 3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (+ (* x x) -3) #s(hole binary64 -3))
#s(approx (+ (* x x) -3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (* (* x x) 1/6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 -1/2))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (- (* x x) 3) #s(hole binary64 (pow x 2)))
#s(approx (- (* x x) 3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
#s(approx (+ (* x x) -3) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) -3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) (/ (- (* x x) 3) 6) (/ (- (* x x) 3) 6) (* (* x x) 1/6) (* x x) (/ (- (* x x) 3) 6) (* 1/6 (+ (* x x) -3)) (/ (- (* x x) 3) 6) (- (* x x) 3))
1.0ms
x
@-inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) (/ (- (* x x) 3) 6) (/ (- (* x x) 3) 6) (* (* x x) 1/6) (* x x) (/ (- (* x x) 3) 6) (* 1/6 (+ (* x x) -3)) (/ (- (* x x) 3) 6) (- (* x x) 3))
1.0ms
x
@0
((/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) (/ (- (* x x) 3) 6) (/ (- (* x x) 3) 6) (* (* x x) 1/6) (* x x) (/ (- (* x x) 3) 6) (* 1/6 (+ (* x x) -3)) (/ (- (* x x) 3) 6) (- (* x x) 3))

simplify101.0ms (2.9%)

Memory
34.9MiB live, 131.4MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044198
184198
2235198
31014198
45225198
08280174
Stop Event
iter limit
node limit
Counts
18 → 18
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (- (* x x) 3) #s(hole binary64 -3))
#s(approx (- (* x x) 3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (+ (* x x) -3) #s(hole binary64 -3))
#s(approx (+ (* x x) -3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (* (* x x) 1/6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 -1/2))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (- (* x x) 3) #s(hole binary64 (pow x 2)))
#s(approx (- (* x x) 3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
#s(approx (+ (* x x) -3) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) -3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
#s(approx (- (* x x) 3) #s(hole binary64 -3))
#s(approx (- (* x x) 3) #s(literal -3 binary64))
#s(approx (- (* x x) 3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
#s(approx (+ (* x x) -3) #s(hole binary64 -3))
#s(approx (- (* x x) 3) #s(literal -3 binary64))
#s(approx (+ (* x x) -3) #s(hole binary64 (- (pow x 2) 3)))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
#s(approx (* (* x x) 1/6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (* (* x x) 1/6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* x x) (*.f64 x x))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
#s(approx (- (* x x) 3) #s(hole binary64 (pow x 2)))
#s(approx (- (* x x) 3) (*.f64 x x))
#s(approx (- (* x x) 3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
#s(approx (+ (* x x) -3) #s(hole binary64 (pow x 2)))
#s(approx (- (* x x) 3) (*.f64 x x))
#s(approx (+ (* x x) -3) #s(hole binary64 (* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (* 1/6 (+ (* x x) -3)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))

rewrite44.0ms (1.3%)

Memory
-3.6MiB live, 41.9MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02096
02696
17796
041696
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
11 → 77
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(fma.f64 x x #s(literal -3 binary64))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 x x)
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
(*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64)))
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (*.f64 x x))
Outputs
(/.f64 (neg.f64 (neg.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))))) #s(literal 6 binary64))
(/.f64 (neg.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))) #s(literal -6 binary64))
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
(neg.f64 (/.f64 (neg.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))) #s(literal 6 binary64)))
(neg.f64 (/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal -6 binary64)))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(/.f64 (-.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 #s(literal -3 binary64) (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (neg.f64 (-.f64 (*.f64 x x) #s(literal -3 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -27 binary64) (pow.f64 x #s(literal 6 binary64)))) (neg.f64 (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (-.f64 (*.f64 x x) #s(literal -3 binary64)))
(/.f64 (+.f64 #s(literal -27 binary64) (pow.f64 x #s(literal 6 binary64))) (+.f64 #s(literal 9 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (*.f64 x x) #s(literal -3 binary64)))))
(/.f64 (+.f64 #s(literal -27 binary64) (pow.f64 x #s(literal 6 binary64))) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) #s(literal -3 binary64))
(fma.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)) #s(literal -3 binary64))
(fma.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)) #s(literal -3 binary64))
(fma.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)) #s(literal -3 binary64))
(fma.f64 (neg.f64 x) (neg.f64 x) #s(literal -3 binary64))
(fma.f64 (fabs.f64 x) (fabs.f64 x) #s(literal -3 binary64))
(fma.f64 x x #s(literal -3 binary64))
(-.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 x x) #s(literal -3 binary64))) (/.f64 #s(literal 9 binary64) (-.f64 (*.f64 x x) #s(literal -3 binary64))))
(-.f64 #s(literal -3 binary64) (*.f64 (neg.f64 (neg.f64 x)) (neg.f64 x)))
(-.f64 #s(literal -3 binary64) (*.f64 (neg.f64 (fabs.f64 x)) (fabs.f64 x)))
(-.f64 #s(literal -3 binary64) (*.f64 (neg.f64 x) x))
(-.f64 #s(literal -3 binary64) (*.f64 x (neg.f64 x)))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal -27 binary64) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))))
(+.f64 (*.f64 x x) #s(literal -3 binary64))
(+.f64 #s(literal -3 binary64) (*.f64 x x))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/6 binary64)))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1/6 binary64)))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 x (*.f64 #s(literal 1/6 binary64) x))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
(*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64)))
(*.f64 (fma.f64 x x #s(literal -3 binary64)) #s(literal 1/6 binary64))
(/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) #s(literal 1/6 binary64)) (-.f64 (*.f64 x x) #s(literal -3 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal -27 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 1/6 binary64)) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(/.f64 (*.f64 #s(literal 1/6 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (-.f64 (*.f64 x x) #s(literal -3 binary64)))
(/.f64 (*.f64 #s(literal 1/6 binary64) (+.f64 #s(literal -27 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 3 binary64)) #s(literal -1/8 binary64)) (fma.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64)))))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64))
(fma.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))
(fma.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(fma.f64 x (*.f64 #s(literal 1/6 binary64) x) #s(literal -1/2 binary64))
(-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(+.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(/.f64 (neg.f64 (neg.f64 #s(approx (- (* x x) 3) (*.f64 x x)))) #s(literal 6 binary64))
(/.f64 (neg.f64 #s(approx (- (* x x) 3) (*.f64 x x))) #s(literal -6 binary64))
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
(neg.f64 (/.f64 (neg.f64 #s(approx (- (* x x) 3) (*.f64 x x))) #s(literal 6 binary64)))
(neg.f64 (/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal -6 binary64)))
#s(approx (- (* x x) 3) (*.f64 x x))

eval16.0ms (0.5%)

Memory
-18.1MiB live, 27.2MiB allocated; 4ms collecting garbage
Compiler

Compiled 1 929 to 321 computations (83.4% saved)

prune5.0ms (0.1%)

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

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1152117
Fresh011
Picked235
Done000
Total1176123
Accuracy
100.0%
Counts
123 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.3%
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
52.3%
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
52.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
52.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
48.2%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 72 to 57 computations (20.8% saved)

simplify59.0ms (1.7%)

Memory
-32.3MiB live, 33.9MiB allocated; 59ms collecting garbage
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
cost-diff0
(pow.f64 x #s(literal 4 binary64))
cost-diff0
(-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
cost-diff0
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
cost-diff0
(*.f64 #s(literal 1/6 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02184
03184
15284
211884
324784
438284
545584
655884
766084
877084
980284
080284
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 #s(literal 1/6 binary64) x)
#s(literal 1/6 binary64)
x
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(*.f64 x x)
x
#s(literal 1/6 binary64)
#s(literal -1/2 binary64)
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
#s(literal 9 binary64)
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
(fma.f64 x x #s(literal 3 binary64))
#s(literal 3 binary64)
#s(literal 6 binary64)
Outputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 #s(literal 1/6 binary64) x)
#s(literal 1/6 binary64)
x
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(*.f64 x x)
x
#s(literal 1/6 binary64)
#s(literal -1/2 binary64)
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(/.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64)))
(-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
#s(literal 9 binary64)
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
(fma.f64 x x #s(literal 3 binary64))
#s(literal 3 binary64)
#s(literal 6 binary64)

localize58.0ms (1.7%)

Memory
2.8MiB live, 90.9MiB allocated; 16ms collecting garbage
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(pow.f64 x #s(literal 4 binary64))
accuracy0.0
(-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
accuracy0.0625
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
accuracy22.19628305901137
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
accuracy0.0
(*.f64 x x)
accuracy0.0
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
accuracy0.05859375
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
accuracy0.12109375
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
accuracy0.3203125
(*.f64 #s(literal 1/6 binary64) x)
accuracy30.464665381840945
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
Samples
40.0ms256×0valid
Compiler

Compiled 77 to 21 computations (72.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-mult: 8.0ms (27.4% of total)
ival-add: 7.0ms (23.9% of total)
const: 4.0ms (13.7% of total)
ival-div: 3.0ms (10.3% of total)
ival-sub: 3.0ms (10.3% of total)
ival-pow: 3.0ms (10.3% of total)
exact: 1.0ms (3.4% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series7.0ms (0.2%)

Memory
12.3MiB live, 12.3MiB allocated; 0ms collecting garbage
Counts
10 → 24
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 #s(literal 1/6 binary64) x)
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(*.f64 x x)
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (* (* 1/6 x) x) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (* 1/6 x) #s(hole binary64 (* 1/6 x)))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 -1/2))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (- (pow x 4) 9) #s(hole binary64 -9))
#s(approx (- (pow x 4) 9) #s(hole binary64 (- (pow x 4) 9)))
#s(approx (pow x 4) #s(hole binary64 (pow x 4)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 18))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (+ 18 (* 6 (pow x 2)))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (- (pow x 4) 9) #s(hole binary64 (pow x 4)))
#s(approx (- (pow x 4) 9) #s(hole binary64 (* (pow x 4) (- 1 (* 9 (/ 1 (pow x 4)))))))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* 6 (pow x 2))))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (+ 6 (* 18 (/ 1 (pow x 2)))))))
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
((/ (- (* x x) 3) 6) (* (* 1/6 x) x) (* 1/6 x) (/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (* x x) (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (- (pow x 4) 9) (pow x 4) (* (+ (* x x) 3) 6))
2.0ms
x
@inf
((/ (- (* x x) 3) 6) (* (* 1/6 x) x) (* 1/6 x) (/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (* x x) (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (- (pow x 4) 9) (pow x 4) (* (+ (* x x) 3) 6))
2.0ms
x
@0
((/ (- (* x x) 3) 6) (* (* 1/6 x) x) (* 1/6 x) (/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (* x x) (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (- (pow x 4) 9) (pow x 4) (* (+ (* x x) 3) 6))

simplify140.0ms (4.1%)

Memory
0.5MiB live, 185.4MiB allocated; 52ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064302
1127302
2367302
31604302
46997302
08063278
Stop Event
iter limit
node limit
Counts
24 → 24
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (* (* 1/6 x) x) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (* 1/6 x) #s(hole binary64 (* 1/6 x)))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 -1/2))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (- (pow x 4) 9) #s(hole binary64 -9))
#s(approx (- (pow x 4) 9) #s(hole binary64 (- (pow x 4) 9)))
#s(approx (pow x 4) #s(hole binary64 (pow x 4)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 18))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (+ 18 (* 6 (pow x 2)))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (- (pow x 4) 9) #s(hole binary64 (pow x 4)))
#s(approx (- (pow x 4) 9) #s(hole binary64 (* (pow x 4) (- 1 (* 9 (/ 1 (pow x 4)))))))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* 6 (pow x 2))))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (+ 6 (* 18 (/ 1 (pow x 2)))))))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
#s(approx (* (* 1/6 x) x) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (* (* 1/6 x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (* 1/6 x) #s(hole binary64 (* 1/6 x)))
#s(approx (* 1/6 x) (*.f64 #s(literal 1/6 binary64) x))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 -1/2))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* x x) (*.f64 x x))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 -1/2))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(literal -1/2 binary64))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
#s(approx (- (pow x 4) 9) #s(hole binary64 -9))
#s(approx (- (pow x 4) 9) #s(literal -9 binary64))
#s(approx (- (pow x 4) 9) #s(hole binary64 (- (pow x 4) 9)))
#s(approx (- (pow x 4) 9) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
#s(approx (pow x 4) #s(hole binary64 (pow x 4)))
#s(approx (pow x 4) (pow.f64 x #s(literal 4 binary64)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 18))
#s(approx (* (+ (* x x) 3) 6) #s(literal 18 binary64))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (+ 18 (* 6 (pow x 2)))))
#s(approx (* (+ (* x x) 3) 6) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (+ (* (* x x) 1/6) -1/2) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
#s(approx (- (pow x 4) 9) #s(hole binary64 (pow x 4)))
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
#s(approx (- (pow x 4) 9) #s(hole binary64 (* (pow x 4) (- 1 (* 9 (/ 1 (pow x 4)))))))
#s(approx (- (pow x 4) 9) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* 6 (pow x 2))))
#s(approx (* (+ (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 6 binary64)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (+ 6 (* 18 (/ 1 (pow x 2)))))))
#s(approx (* (+ (* x x) 3) 6) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))

rewrite50.0ms (1.5%)

Memory
24.7MiB live, 71.4MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
03165
111365
072765
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
10 → 124
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 #s(literal 1/6 binary64) x)
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(*.f64 x x)
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
Outputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/6 binary64)))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 x (*.f64 #s(literal 1/6 binary64) x))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 x #s(literal 1/6 binary64))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)))) (-.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64)) #s(literal -1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64)) (-.f64 (*.f64 (*.f64 x x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64)) #s(literal -1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 x x) #s(literal -1/12 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64)) #s(literal -1/8 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64)))))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x) #s(literal -1/2 binary64))
(fma.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))
(fma.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(fma.f64 x (*.f64 #s(literal 1/6 binary64) x) #s(literal -1/2 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 x x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 x x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (*.f64 x x)) #s(literal 1/6 binary64)))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/6 binary64) x)) x))
(-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 x x)))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 x) (*.f64 #s(literal 1/6 binary64) x)))
(+.f64 (/.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) (/.f64 #s(literal -1/8 binary64) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))))
(+.f64 (*.f64 (*.f64 x x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(/.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64))) #s(literal 1/4 binary64)) (fma.f64 x (/.f64 x #s(literal 6 binary64)) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64))) (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 3/2 binary64) (fma.f64 x x #s(literal 3 binary64))) (/.f64 #s(literal 3/2 binary64) (fma.f64 x x #s(literal 3 binary64))))) (+.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64))) (/.f64 #s(literal 3/2 binary64) (fma.f64 x x #s(literal 3 binary64)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64)) (+.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64))) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal 3/2 binary64) (fma.f64 x x #s(literal 3 binary64))) #s(literal 3 binary64))) (fma.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64))) (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64))) (fma.f64 (/.f64 #s(literal 3/2 binary64) (fma.f64 x x #s(literal 3 binary64))) (/.f64 #s(literal 3/2 binary64) (fma.f64 x x #s(literal 3 binary64))) (*.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64))) (/.f64 #s(literal 3/2 binary64) (fma.f64 x x #s(literal 3 binary64)))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)))) #s(literal 6 binary64))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))) (neg.f64 (*.f64 #s(literal -6 binary64) (fma.f64 x x #s(literal 3 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(/.f64 (-.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))) (*.f64 (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)) #s(literal 9 binary64))) (*.f64 (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))))
(/.f64 (-.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 81 binary64)) (*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64)) (*.f64 (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))) #s(literal 6 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 12 binary64)) #s(literal 729 binary64)) (*.f64 (fma.f64 #s(literal 9 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64)) (pow.f64 x #s(literal 8 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal -6 binary64))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (*.f64 #s(literal -6 binary64) (fma.f64 x x #s(literal 3 binary64))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal 6 binary64)))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))))
(neg.f64 (/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal -6 binary64)))
(neg.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 #s(literal -6 binary64) (fma.f64 x x #s(literal 3 binary64)))))
(-.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64))
(-.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64))) (/.f64 #s(literal 3/2 binary64) (fma.f64 x x #s(literal 3 binary64))))
(*.f64 (fma.f64 x x #s(literal 3 binary64)) (-.f64 (*.f64 x x) #s(literal 3 binary64)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 81 binary64))) (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 12 binary64)) #s(literal 729 binary64))) (neg.f64 (fma.f64 #s(literal 9 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64)) (pow.f64 x #s(literal 8 binary64)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 81 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 12 binary64)) #s(literal 729 binary64)) (fma.f64 #s(literal 9 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64)) (pow.f64 x #s(literal 8 binary64))))
(fma.f64 (*.f64 (*.f64 x x) (neg.f64 x)) (neg.f64 x) #s(literal -9 binary64))
(fma.f64 (*.f64 (*.f64 x x) (fabs.f64 x)) (fabs.f64 x) #s(literal -9 binary64))
(fma.f64 (*.f64 (*.f64 x x) x) x #s(literal -9 binary64))
(fma.f64 (*.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 (neg.f64 x) (fabs.f64 x)) #s(literal -9 binary64))
(fma.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x) #s(literal -9 binary64))
(fma.f64 (*.f64 (fabs.f64 x) (neg.f64 x)) (*.f64 (fabs.f64 x) (neg.f64 x)) #s(literal -9 binary64))
(fma.f64 (*.f64 (fabs.f64 x) x) (*.f64 (fabs.f64 x) x) #s(literal -9 binary64))
(fma.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)) #s(literal -9 binary64))
(fma.f64 (*.f64 x (fabs.f64 x)) (*.f64 x (fabs.f64 x)) #s(literal -9 binary64))
(fma.f64 (neg.f64 (*.f64 x x)) (neg.f64 (*.f64 x x)) #s(literal -9 binary64))
(fma.f64 (neg.f64 x) (*.f64 (neg.f64 x) (*.f64 x x)) #s(literal -9 binary64))
(fma.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 x x)) #s(literal -9 binary64))
(fma.f64 (*.f64 x x) (*.f64 x x) #s(literal -9 binary64))
(fma.f64 x (*.f64 x (*.f64 x x)) #s(literal -9 binary64))
(-.f64 (/.f64 (pow.f64 x #s(literal 8 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64))) (/.f64 #s(literal 81 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 12 binary64)) (fma.f64 #s(literal 9 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64)) (pow.f64 x #s(literal 8 binary64)))) (/.f64 #s(literal 729 binary64) (fma.f64 #s(literal 9 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64)) (pow.f64 x #s(literal 8 binary64)))))
(-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(+.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64))
(*.f64 (*.f64 (*.f64 x x) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 (*.f64 x x) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 (*.f64 x x) x) x)
(*.f64 (*.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 (neg.f64 x) (fabs.f64 x)))
(*.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x))
(*.f64 (*.f64 (fabs.f64 x) (neg.f64 x)) (*.f64 (fabs.f64 x) (neg.f64 x)))
(*.f64 (*.f64 (fabs.f64 x) x) (*.f64 (fabs.f64 x) x))
(*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))
(*.f64 (*.f64 x (fabs.f64 x)) (*.f64 x (fabs.f64 x)))
(*.f64 (neg.f64 (*.f64 x x)) (neg.f64 (*.f64 x x)))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) (*.f64 x x)))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 x x))
(*.f64 x (*.f64 x (*.f64 x x)))
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 4 binary64))
(pow.f64 (*.f64 x x) #s(literal 2 binary64))
(pow.f64 x #s(literal 4 binary64))
(exp.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 4 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 4 binary64))))
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
(*.f64 #s(literal 6 binary64) (fma.f64 x x #s(literal 3 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal 27 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 6 binary64)) (fma.f64 #s(literal 3 binary64) (-.f64 #s(literal 3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) #s(literal 6 binary64)) (-.f64 (*.f64 x x) #s(literal 3 binary64)))
(/.f64 (*.f64 #s(literal 6 binary64) (+.f64 #s(literal 27 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 3 binary64) (-.f64 #s(literal 3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (-.f64 (*.f64 x x) #s(literal 3 binary64)))
(fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64))
(fma.f64 #s(literal 6 binary64) (*.f64 x x) #s(literal 18 binary64))
(+.f64 (*.f64 #s(literal 6 binary64) (*.f64 x x)) #s(literal 18 binary64))
(+.f64 #s(literal 18 binary64) (*.f64 #s(literal 6 binary64) (*.f64 x x)))
(+.f64 #s(literal 18 binary64) (*.f64 (*.f64 x x) #s(literal 6 binary64)))
(+.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))

eval45.0ms (1.3%)

Memory
-19.2MiB live, 37.6MiB allocated; 8ms collecting garbage
Compiler

Compiled 2 428 to 443 computations (81.8% saved)

prune6.0ms (0.2%)

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

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New1381139
Fresh000
Picked123
Done033
Total1396145
Accuracy
100.0%
Counts
145 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
11.9%
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
52.3%
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
52.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
52.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
48.2%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 76 to 60 computations (21.1% saved)

simplify22.0ms (0.6%)

Memory
-37.3MiB live, 9.2MiB allocated; 4ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
cost-diff0
(pow.f64 x #s(literal 4 binary64))
cost-diff0
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
cost-diff0
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
01742
12542
25542
311942
419742
523942
629042
732742
837042
938642
038642
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
(fma.f64 x x #s(literal 3 binary64))
#s(literal 3 binary64)
#s(literal 6 binary64)
Outputs
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 #s(literal 6 binary64) (fma.f64 x x #s(literal 3 binary64))))
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
(*.f64 #s(literal 6 binary64) (fma.f64 x x #s(literal 3 binary64)))
(fma.f64 x x #s(literal 3 binary64))
#s(literal 3 binary64)
#s(literal 6 binary64)

localize40.0ms (1.2%)

Memory
28.1MiB live, 74.3MiB allocated; 4ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(pow.f64 x #s(literal 4 binary64))
accuracy0.0625
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
accuracy22.19628305901137
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
accuracy30.33809660453072
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
Samples
32.0ms256×0valid
Compiler

Compiled 39 to 13 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 16.0ms (64.2% of total)
ival-pow: 3.0ms (12% of total)
ival-div: 2.0ms (8% of total)
ival-sub: 2.0ms (8% of total)
ival-add: 1.0ms (4% of total)
exact: 1.0ms (4% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
7.6MiB live, 7.6MiB allocated; 0ms collecting garbage
Counts
4 → 13
Calls
Call 1
Inputs
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
(pow.f64 x #s(literal 4 binary64))
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
Outputs
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 -1/2))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (- (pow x 4) 9) #s(hole binary64 -9))
#s(approx (- (pow x 4) 9) #s(hole binary64 (- (pow x 4) 9)))
#s(approx (pow x 4) #s(hole binary64 (pow x 4)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 18))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (+ 18 (* 6 (pow x 2)))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (- (pow x 4) 9) #s(hole binary64 (pow x 4)))
#s(approx (- (pow x 4) 9) #s(hole binary64 (* (pow x 4) (- 1 (* 9 (/ 1 (pow x 4)))))))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* 6 (pow x 2))))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (+ 6 (* 18 (/ 1 (pow x 2)))))))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (- (pow x 4) 9) (pow x 4) (* (+ (* x x) 3) 6))
1.0ms
x
@inf
((/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (- (pow x 4) 9) (pow x 4) (* (+ (* x x) 3) 6))
1.0ms
x
@0
((/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (- (pow x 4) 9) (pow x 4) (* (+ (* x x) 3) 6))

simplify125.0ms (3.7%)

Memory
-5.4MiB live, 137.6MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047173
197173
2311173
31438173
46285173
08936161
Stop Event
iter limit
node limit
Counts
13 → 13
Calls
Call 1
Inputs
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 -1/2))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (- (pow x 4) 9) #s(hole binary64 -9))
#s(approx (- (pow x 4) 9) #s(hole binary64 (- (pow x 4) 9)))
#s(approx (pow x 4) #s(hole binary64 (pow x 4)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 18))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (+ 18 (* 6 (pow x 2)))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (- (pow x 4) 9) #s(hole binary64 (pow x 4)))
#s(approx (- (pow x 4) 9) #s(hole binary64 (* (pow x 4) (- 1 (* 9 (/ 1 (pow x 4)))))))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* 6 (pow x 2))))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (+ 6 (* 18 (/ 1 (pow x 2)))))))
Outputs
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 -1/2))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(literal -1/2 binary64))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (- (* 1/6 (pow x 2)) 1/2)))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
#s(approx (- (pow x 4) 9) #s(hole binary64 -9))
#s(approx (- (pow x 4) 9) #s(literal -9 binary64))
#s(approx (- (pow x 4) 9) #s(hole binary64 (- (pow x 4) 9)))
#s(approx (- (pow x 4) 9) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
#s(approx (pow x 4) #s(hole binary64 (pow x 4)))
#s(approx (pow x 4) (pow.f64 x #s(literal 4 binary64)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 18))
#s(approx (* (+ (* x x) 3) 6) #s(literal 18 binary64))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (+ 18 (* 6 (pow x 2)))))
#s(approx (* (+ (* x x) 3) 6) (*.f64 #s(literal 6 binary64) (fma.f64 x x #s(literal 3 binary64))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* 1/6 (pow x 2))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) #s(hole binary64 (* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (/ (- (pow x 4) 9) (* (+ (* x x) 3) 6)) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
#s(approx (- (pow x 4) 9) #s(hole binary64 (pow x 4)))
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
#s(approx (- (pow x 4) 9) #s(hole binary64 (* (pow x 4) (- 1 (* 9 (/ 1 (pow x 4)))))))
#s(approx (- (pow x 4) 9) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* 6 (pow x 2))))
#s(approx (* (+ (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 6 binary64)))
#s(approx (* (+ (* x x) 3) 6) #s(hole binary64 (* (pow x 2) (+ 6 (* 18 (/ 1 (pow x 2)))))))
#s(approx (* (+ (* x x) 3) 6) (*.f64 #s(literal 6 binary64) (fma.f64 x x #s(literal 3 binary64))))

rewrite62.0ms (1.8%)

Memory
4.0MiB live, 49.2MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01234
01734
16334
040134
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 40
Calls
Call 1
Inputs
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
(pow.f64 x #s(literal 4 binary64))
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
Outputs
(/.f64 (/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) #s(literal 6 binary64)) (fma.f64 x x #s(literal 3 binary64)))
(/.f64 (neg.f64 (/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (fma.f64 x x #s(literal 3 binary64)))) #s(literal -6 binary64))
(/.f64 (neg.f64 (neg.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))))) (neg.f64 (*.f64 #s(literal -6 binary64) (fma.f64 x x #s(literal 3 binary64)))))
(/.f64 (/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (fma.f64 x x #s(literal 3 binary64))) #s(literal 6 binary64))
(/.f64 (neg.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))) (*.f64 #s(literal -6 binary64) (fma.f64 x x #s(literal 3 binary64))))
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 #s(literal 6 binary64) (fma.f64 x x #s(literal 3 binary64))))
(neg.f64 (/.f64 (neg.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))) (*.f64 #s(literal 6 binary64) (fma.f64 x x #s(literal 3 binary64)))))
(neg.f64 (/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 #s(literal -6 binary64) (fma.f64 x x #s(literal 3 binary64)))))
#s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (*.f64 (*.f64 x x) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 (*.f64 x x) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 (*.f64 x x) x) x)
(*.f64 (*.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 (neg.f64 x) (fabs.f64 x)))
(*.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x))
(*.f64 (*.f64 (fabs.f64 x) (neg.f64 x)) (*.f64 (fabs.f64 x) (neg.f64 x)))
(*.f64 (*.f64 (fabs.f64 x) x) (*.f64 (fabs.f64 x) x))
(*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))
(*.f64 (*.f64 x (fabs.f64 x)) (*.f64 x (fabs.f64 x)))
(*.f64 (neg.f64 (*.f64 x x)) (neg.f64 (*.f64 x x)))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) (*.f64 x x)))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 x x))
(*.f64 x (*.f64 x (*.f64 x x)))
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 4 binary64))
(pow.f64 (*.f64 x x) #s(literal 2 binary64))
(pow.f64 x #s(literal 4 binary64))
(exp.f64 (*.f64 (log.f64 x) #s(literal 4 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 4 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 4 binary64))))
(*.f64 #s(literal 6 binary64) (fma.f64 x x #s(literal 3 binary64)))
(*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64))
(/.f64 (*.f64 (+.f64 #s(literal 27 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 6 binary64)) (fma.f64 #s(literal 3 binary64) (-.f64 #s(literal 3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) #s(literal 6 binary64)) (-.f64 (*.f64 x x) #s(literal 3 binary64)))
(/.f64 (*.f64 #s(literal 6 binary64) (+.f64 #s(literal 27 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 3 binary64) (-.f64 #s(literal 3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(/.f64 (*.f64 #s(literal 6 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (-.f64 (*.f64 x x) #s(literal 3 binary64)))
(fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64))
(fma.f64 #s(literal 6 binary64) (*.f64 x x) #s(literal 18 binary64))
(+.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
(+.f64 (*.f64 #s(literal 6 binary64) (*.f64 x x)) #s(literal 18 binary64))
(+.f64 #s(literal 18 binary64) (*.f64 (*.f64 x x) #s(literal 6 binary64)))
(+.f64 #s(literal 18 binary64) (*.f64 #s(literal 6 binary64) (*.f64 x x)))

eval4.0ms (0.1%)

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

Compiled 958 to 170 computations (82.3% saved)

prune34.0ms (1%)

Memory
-34.1MiB live, 10.6MiB allocated; 10ms collecting garbage
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New48149
Fresh000
Picked101
Done055
Total49655
Accuracy
100.0%
Counts
55 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
11.1%
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) #s(approx (* (+ (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 6 binary64))))
52.3%
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
52.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
52.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
48.2%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 227 to 112 computations (50.7% saved)

regimes13.0ms (0.4%)

Memory
21.0MiB live, 21.0MiB allocated; 0ms collecting garbage
Counts
11 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) #s(approx (* (+ (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 6 binary64))))
(/.f64 #s(approx (- (pow x 4) 9) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
Outputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
Calls

4 calls:

3.0ms
x
3.0ms
(*.f64 x x)
3.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
3.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Results
AccuracySegmentsBranch
99.9%1(*.f64 x x)
99.9%1(-.f64 (*.f64 x x) #s(literal 3 binary64))
99.9%1(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
99.9%1x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes8.0ms (0.2%)

Memory
14.8MiB live, 14.8MiB allocated; 0ms collecting garbage
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(/.f64 #s(approx (- (* x x) 3) (*.f64 x x)) #s(literal 6 binary64))
Outputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
Calls

4 calls:

2.0ms
x
2.0ms
(*.f64 x x)
2.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
2.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Results
AccuracySegmentsBranch
99.9%1(*.f64 x x)
99.9%1(-.f64 (*.f64 x x) #s(literal 3 binary64))
99.9%1(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
99.9%1x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes45.0ms (1.3%)

Memory
-37.7MiB live, 23.4MiB allocated; 18ms collecting garbage
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
Outputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
Calls

4 calls:

40.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
2.0ms
x
2.0ms
(*.f64 x x)
1.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Results
AccuracySegmentsBranch
99.9%1(*.f64 x x)
99.9%1(-.f64 (*.f64 x x) #s(literal 3 binary64))
99.9%1(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
99.9%1x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes6.0ms (0.2%)

Memory
16.3MiB live, 16.3MiB allocated; 0ms collecting garbage
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
Calls

4 calls:

1.0ms
x
1.0ms
(*.f64 x x)
1.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
1.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Results
AccuracySegmentsBranch
98.7%2(*.f64 x x)
98.7%2(-.f64 (*.f64 x x) #s(literal 3 binary64))
98.7%2(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
98.7%2x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes5.0ms (0.1%)

Memory
13.2MiB live, 13.2MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
Calls

4 calls:

1.0ms
x
1.0ms
(*.f64 x x)
1.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
1.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
Results
AccuracySegmentsBranch
98.7%2(*.f64 x x)
98.7%2(-.f64 (*.f64 x x) #s(literal 3 binary64))
98.7%2(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
98.7%2x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes9.0ms (0.3%)

Memory
-34.2MiB live, 11.6MiB allocated; 9ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Calls

4 calls:

1.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
1.0ms
x
1.0ms
(*.f64 x x)
1.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
Results
AccuracySegmentsBranch
48.2%1(*.f64 x x)
48.2%1(-.f64 (*.f64 x x) #s(literal 3 binary64))
48.2%1(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
48.2%1x
Compiler

Compiled 16 to 13 computations (18.8% saved)

bsearch12.0ms (0.4%)

Memory
26.6MiB live, 26.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
0.441337560598375
1678764.7643587661
Samples
6.0ms144×0valid
Compiler

Compiled 208 to 190 computations (8.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-sub: 1.0ms (33% of total)
ival-div: 1.0ms (33% of total)
ival-mult: 1.0ms (33% 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)

bsearch1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.441337560598375
1678764.7643587661
Compiler

Compiled 208 to 190 computations (8.7% saved)

simplify17.0ms (0.5%)

Memory
-18.2MiB live, 27.6MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027101
134101
253101
382101
4110101
5127101
6138101
7142101
8149101
9157101
10165101
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
(if (<=.f64 x #s(literal 7/4 binary64)) #s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64)) #s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
(if (<=.f64 x #s(literal 7/4 binary64)) #s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64)) #s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x)))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Outputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (fma.f64 x x #s(literal -3 binary64))))
(if (<=.f64 x #s(literal 7/4 binary64)) #s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64)) #s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
(if (<=.f64 x #s(literal 7/4 binary64)) #s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64)) #s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x)))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))

derivations133.0ms (3.9%)

Memory
-5.8MiB live, 138.2MiB allocated; 17ms collecting garbage
Stop Event
fuel
Compiler

Compiled 101 to 28 computations (72.3% saved)

preprocess30.0ms (0.9%)

Memory
-8.1MiB live, 85.5MiB allocated; 6ms collecting garbage
Remove

(abs x)

Compiler

Compiled 240 to 86 computations (64.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...