ln(1 + x)

Time bar (total: 3.6s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
66.7%50%25%0%0%25%0%3
83.3%62.5%12.5%0%0%25%0%4
91.7%68.7%6.2%0%0%25%0%5
95.8%71.8%3.1%0%0%25%0%6
97.9%73.4%1.6%0%0%25%0%7
99%74.2%0.8%0%0%25%0%8
99.5%74.6%0.4%0%0%25%0%9
99.7%74.8%0.2%0%0%25%0%10
99.9%74.9%0.1%0%0%25%0%11
99.9%74.9%0%0%0%25%0%12
Compiler

Compiled 6 to 4 computations (33.3% saved)

sample734.0ms (20.2%)

Memory
51.2MiB live, 459.6MiB allocated; 867ms collecting garbage
Samples
476.0ms8 256×0valid
0.0ms0invalid
Precisions
Click to see histograms. Total time spent on operations: 89.0ms
ival-log1p: 79.0ms (89% of total)
ival-true: 5.0ms (5.6% of total)
ival-assert: 3.0ms (3.4% of total)
adjust: 2.0ms (2.3% of total)
Bogosity

explain53.0ms (1.4%)

Memory
-33.0MiB live, 62.4MiB allocated; 18ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1710-0-(log.f64 (+.f64 #s(literal 1 binary64) x))
00-0-(+.f64 #s(literal 1 binary64) x)
00-0-#s(literal 1 binary64)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1710
Confusion
Predicted +Predicted -
+1710
-085
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+17100
-0085
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
085
1171
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
24.0ms512×0valid
Compiler

Compiled 26 to 16 computations (38.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-log1p: 10.0ms (71% of total)
ival-add: 3.0ms (21.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)

preprocess246.0ms (6.8%)

Memory
31.9MiB live, 216.7MiB allocated; 35ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
1911
21211
32311
45911
52659
623009
756519
044
064
194
2124
3234
4574
52484
621944
755124
086562
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
Outputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(log1p.f64 x)
Compiler

Compiled 4 to 4 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
39.1%
(log.f64 (+.f64 #s(literal 1 binary64) x))
Compiler

Compiled 4 to 4 computations (0% saved)

simplify169.0ms (4.7%)

Memory
6.1MiB live, 95.4MiB allocated; 15ms collecting garbage
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(literal 1 binary64) x)
cost-diff2
(log.f64 (+.f64 #s(literal 1 binary64) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049
069
199
2129
3239
4579
52489
621949
755129
086567
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
Outputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(log1p.f64 x)
(+.f64 #s(literal 1 binary64) x)
(-.f64 x #s(literal -1 binary64))
#s(literal 1 binary64)
x

localize14.0ms (0.4%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 #s(literal 1 binary64) x)
accuracy38.964134740015545
(log.f64 (+.f64 #s(literal 1 binary64) x))
Samples
9.0ms256×0valid
Compiler

Compiled 11 to 6 computations (45.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-log1p: 2.0ms (48.2% of total)
ival-add: 1.0ms (24.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

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

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((log (+ 1 x)) (+ 1 x))
0.0ms
x
@-inf
((log (+ 1 x)) (+ 1 x))
0.0ms
x
@0
((log (+ 1 x)) (+ 1 x))

simplify203.0ms (5.6%)

Memory
0.3MiB live, 147.7MiB allocated; 36ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079223
1202209
2509207
31986202
08764172
Stop Event
iter limit
node limit
Counts
16 → 16
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) #s(hole binary64 x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (+ 1 x) #s(hole binary64 1))
#s(approx (+ 1 x) #s(hole binary64 (+ 1 x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (* -1 (log (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (* -1 (log (/ 1 x))) (/ 1 x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))))
#s(approx (+ 1 x) #s(hole binary64 x))
#s(approx (+ 1 x) #s(hole binary64 (* x (+ 1 (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))))
Outputs
#s(approx (log (+ 1 x)) #s(hole binary64 x))
#s(approx (log (+ 1 x)) x)
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (+ 1 x) #s(hole binary64 1))
#s(approx (+ 1 x) #s(literal 1 binary64))
#s(approx (+ 1 x) #s(hole binary64 (+ 1 x)))
#s(approx (+ 1 x) (-.f64 x #s(literal -1 binary64)))
#s(approx (log (+ 1 x)) #s(hole binary64 (* -1 (log (/ 1 x)))))
#s(approx (log (+ 1 x)) (log.f64 x))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (* -1 (log (/ 1 x))) (/ 1 x))))
#s(approx (log (+ 1 x)) (+.f64 (log.f64 x) (/.f64 #s(literal 1 binary64) x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) (-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) (+.f64 (/.f64 (+.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x) (*.f64 x x)) (log.f64 x)))
#s(approx (+ 1 x) #s(hole binary64 x))
#s(approx (+ 1 x) x)
#s(approx (+ 1 x) #s(hole binary64 (* x (+ 1 (/ 1 x)))))
#s(approx (+ 1 x) (-.f64 x #s(literal -1 binary64)))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 x))))))
#s(approx (log (+ 1 x)) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))))
#s(approx (log (+ 1 x)) (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1 binary64))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))))
#s(approx (log (+ 1 x)) (-.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))))
#s(approx (log (+ 1 x)) (+.f64 (/.f64 (+.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x) (*.f64 x x)) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))))

rewrite37.0ms (1%)

Memory
4.3MiB live, 49.0MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047
067
1237
01535
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
2 → 15
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
Outputs
(log1p.f64 x)
(-.f64 (log1p.f64 (*.f64 (neg.f64 x) x)) (log.f64 (-.f64 #s(literal 1 binary64) x)))
(-.f64 (log1p.f64 (pow.f64 x #s(literal 3 binary64))) (log1p.f64 (-.f64 (*.f64 x x) x)))
(log.f64 (-.f64 x #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (neg.f64 (-.f64 #s(literal 1 binary64) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 x (-.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (-.f64 #s(literal 1 binary64) x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 x x (-.f64 #s(literal 1 binary64) x)))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 x (-.f64 x #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)) (/.f64 (*.f64 x x) (-.f64 #s(literal 1 binary64) x)))
(-.f64 x #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x (-.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))))
(+.f64 x #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) x)

eval13.0ms (0.4%)

Memory
-49.7MiB live, 8.4MiB allocated; 10ms collecting garbage
Compiler

Compiled 338 to 107 computations (68.3% saved)

prune3.0ms (0.1%)

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

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New25530
Fresh000
Picked101
Done000
Total26531
Accuracy
100.0%
Counts
31 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log1p.f64 x)
67.0%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
68.0%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
66.6%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
67.1%
#s(approx (log (+ 1 x)) x)
Compiler

Compiled 100 to 80 computations (20% saved)

simplify318.0ms (8.8%)

Memory
2.5MiB live, 133.8MiB allocated; 20ms collecting garbage
Localize:

Found 13 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
021119
036119
154119
2129119
3395119
41635119
54974119
08456119
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(log1p.f64 x)
x
#s(approx (log (+ 1 x)) x)
x
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
#s(literal -1/2 binary64)
x
#s(literal 1 binary64)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(literal 1/3 binary64)
x
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
#s(literal -1/4 binary64)
x
#s(literal 1/3 binary64)
#s(literal -1/2 binary64)
#s(literal 1 binary64)
Outputs
(log1p.f64 x)
x
#s(approx (log (+ 1 x)) x)
x
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
#s(literal -1/2 binary64)
x
#s(literal 1 binary64)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(literal 1/3 binary64)
x
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
#s(literal -1/4 binary64)
x
#s(literal 1/3 binary64)
#s(literal -1/2 binary64)
#s(literal 1 binary64)

localize78.0ms (2.2%)

Memory
36.0MiB live, 130.0MiB allocated; 31ms collecting garbage
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
accuracy0.0234375
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
accuracy0.0234375
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
accuracy21.087975490136355
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
accuracy0.03515625
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
accuracy0.0390625
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
accuracy0.0859375
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
accuracy20.49291799215966
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
accuracy0.0
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
accuracy0.0078125
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
accuracy21.36935987008555
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
accuracy21.0873128878734
#s(approx (log (+ 1 x)) x)
accuracy0.0
(log1p.f64 x)
Samples
65.0ms256×0valid
Compiler

Compiled 115 to 23 computations (80% saved)

Precisions
Click to see histograms. Total time spent on operations: 30.0ms
ival-mult: 13.0ms (42.7% of total)
ival-add: 7.0ms (23% of total)
ival-log1p: 7.0ms (23% of total)
const: 4.0ms (13.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.2%)

Memory
10.5MiB live, 10.5MiB allocated; 0ms collecting garbage
Counts
14 → 74
Calls
Call 1
Inputs
(log1p.f64 x)
#s(approx (log (+ 1 x)) x)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
Outputs
#s(approx (log (+ 1 x)) #s(hole binary64 x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 1))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* 1/3 x) 1/2)))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (- (* 1/3 x) 1/2)))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* 1/3 x) 1/2)))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2)))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (- (* 1/3 x) 1/2)))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (- (* x (+ 1/3 (* -1/4 x))) 1/2)))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 1/3))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (+ 1/3 (* -1/4 x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* -1 (log (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (* -1 (log (/ 1 x))) (/ 1 x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* -1/2 (pow x 2))))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* (pow x 2) (- (/ 1 x) 1/2))))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* -1/2 x)))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* x (- (/ 1 x) 1/2))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* 1/3 (pow x 3))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 3) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 3) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* 1/3 (pow x 2))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* 1/3 x)))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* x (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* -1/4 (pow x 4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1/4 (pow x 3))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* -1/4 (pow x 2))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* -1/4 x)))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* x (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* -1 (* x (- 1/2 (/ 1 x))))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3)))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* -1 (* x (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* -1 (/ (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3) x)) 1/4))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (- 1/3 (* 1/2 (/ 1 x))) x)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))) x)))))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* -1 (* x (- 1/4 (* 1/3 (/ 1 x)))))))
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@inf
((log (+ 1 x)) (log (+ 1 x)) (log (+ 1 x)) (* (+ (* -1/2 x) 1) x) (+ (* -1/2 x) 1) (log (+ 1 x)) (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (+ (* (+ (* 1/3 x) -1/2) x) 1) (+ (* 1/3 x) -1/2) (log (+ 1 x)) (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (+ (* -1/4 x) 1/3))
2.0ms
x
@-inf
((log (+ 1 x)) (log (+ 1 x)) (log (+ 1 x)) (* (+ (* -1/2 x) 1) x) (+ (* -1/2 x) 1) (log (+ 1 x)) (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (+ (* (+ (* 1/3 x) -1/2) x) 1) (+ (* 1/3 x) -1/2) (log (+ 1 x)) (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (+ (* -1/4 x) 1/3))
1.0ms
x
@0
((log (+ 1 x)) (log (+ 1 x)) (log (+ 1 x)) (* (+ (* -1/2 x) 1) x) (+ (* -1/2 x) 1) (log (+ 1 x)) (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (+ (* (+ (* 1/3 x) -1/2) x) 1) (+ (* 1/3 x) -1/2) (log (+ 1 x)) (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (+ (* -1/4 x) 1/3))

simplify719.0ms (19.8%)

Memory
-49.1MiB live, 146.7MiB allocated; 30ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02231398
14931356
213811351
349351338
082631157
Stop Event
iter limit
node limit
Counts
74 → 74
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) #s(hole binary64 x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 1))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* 1/3 x) 1/2)))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (- (* 1/3 x) 1/2)))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* 1/3 x) 1/2)))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2)))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (- (* 1/3 x) 1/2)))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (- (* x (+ 1/3 (* -1/4 x))) 1/2)))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 1/3))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (+ 1/3 (* -1/4 x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* -1 (log (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (* -1 (log (/ 1 x))) (/ 1 x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* -1/2 (pow x 2))))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* (pow x 2) (- (/ 1 x) 1/2))))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* -1/2 x)))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* x (- (/ 1 x) 1/2))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* 1/3 (pow x 3))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 3) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 3) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* 1/3 (pow x 2))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* 1/3 x)))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* x (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* -1/4 (pow x 4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1/4 (pow x 3))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* -1/4 (pow x 2))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* -1/4 x)))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* x (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* -1 (* x (- 1/2 (/ 1 x))))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3)))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* -1 (* x (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* -1 (/ (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3) x)) 1/4))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (- 1/3 (* 1/2 (/ 1 x))) x)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))) x)))))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* -1 (* x (- 1/4 (* 1/3 (/ 1 x)))))))
Outputs
#s(approx (log (+ 1 x)) #s(hole binary64 x))
#s(approx (log (+ 1 x)) x)
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* -1/2 x) 1) x) x)
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (* (+ (* -1/2 x) 1) x) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 1))
#s(approx (+ (* -1/2 x) 1) #s(literal 1 binary64))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (+ (* -1/2 x) 1) (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) x)
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(literal 1 binary64))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* 1/3 x) 1/2)))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* 1/3 x) -1/2) #s(literal -1/2 binary64))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (- (* 1/3 x) 1/2)))
#s(approx (+ (* 1/3 x) -1/2) (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 x))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) x)
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* -1/2 x))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* 1/3 x) 1/2)))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2)))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(literal -1/2 binary64))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (- (* 1/3 x) 1/2)))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (- (* x (+ 1/3 (* -1/4 x))) 1/2)))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 1/3))
#s(approx (+ (* -1/4 x) 1/3) #s(literal 1/3 binary64))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (+ 1/3 (* -1/4 x))))
#s(approx (+ (* -1/4 x) 1/3) (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)))
#s(approx (log (+ 1 x)) #s(hole binary64 (* -1 (log (/ 1 x)))))
#s(approx (log (+ 1 x)) (log.f64 x))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (* -1 (log (/ 1 x))) (/ 1 x))))
#s(approx (log (+ 1 x)) (+.f64 (log.f64 x) (/.f64 #s(literal 1 binary64) x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) (+.f64 (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) x)) x) (log.f64 x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) (+.f64 (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x) (log.f64 x)))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* -1/2 (pow x 2))))
#s(approx (* (+ (* -1/2 x) 1) x) (*.f64 (*.f64 x x) #s(literal -1/2 binary64)))
#s(approx (* (+ (* -1/2 x) 1) x) #s(hole binary64 (* (pow x 2) (- (/ 1 x) 1/2))))
#s(approx (* (+ (* -1/2 x) 1) x) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1/2 binary64)) x) x))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* -1/2 x)))
#s(approx (+ (* -1/2 x) 1) (*.f64 #s(literal -1/2 binary64) x))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* x (- (/ 1 x) 1/2))))
#s(approx (+ (* -1/2 x) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1/2 binary64)) x))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* 1/3 (pow x 3))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/3 binary64)))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 3) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 3) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* 1/3 (pow x 2))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/3 binary64)))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) (*.f64 (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) x))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) (*.f64 (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) x) x))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* 1/3 x)))
#s(approx (+ (* 1/3 x) -1/2) (*.f64 #s(literal 1/3 binary64) x))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* x (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (+ (* 1/3 x) -1/2) (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* -1/4 (pow x 4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64)))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1/4 (pow x 3))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64)))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (*.f64 (-.f64 #s(literal -1/4 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/3 binary64)) x)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* (pow x 3) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (*.f64 (+.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) x) #s(literal -1/4 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* -1/4 (pow x 2))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (*.f64 (*.f64 x x) #s(literal -1/4 binary64)))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) x) x))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (*.f64 x x)))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* -1/4 x)))
#s(approx (+ (* -1/4 x) 1/3) (*.f64 #s(literal -1/4 binary64) x))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* x (- (* 1/3 (/ 1 x)) 1/4))))
#s(approx (+ (* -1/4 x) 1/3) (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) x))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 x))))))
#s(approx (log (+ 1 x)) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))))
#s(approx (log (+ 1 x)) (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1 binary64))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))))
#s(approx (log (+ 1 x)) (-.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))))
#s(approx (log (+ 1 x)) (-.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) x) #s(literal -1/2 binary64)) x) #s(literal 1 binary64)) x)))
#s(approx (+ (* -1/2 x) 1) #s(hole binary64 (* -1 (* x (- 1/2 (/ 1 x))))))
#s(approx (+ (* -1/2 x) 1) (*.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) x)) x))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3)))))
#s(approx (* (+ (* (+ (* 1/3 x) -1/2) x) 1) x) (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) #s(hole binary64 (* (pow x 2) (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))))))
#s(approx (+ (* (+ (* 1/3 x) -1/2) x) 1) (*.f64 (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) x) x))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* -1 (* x (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (+ (* 1/3 x) -1/2) (*.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) #s(hole binary64 (* (pow x 4) (- (* -1 (/ (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3) x)) 1/4))))
#s(approx (* (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) x) (*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (*.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal -1/4 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (- 1/3 (* 1/2 (/ 1 x))) x)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (*.f64 (-.f64 #s(literal -1/4 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/3 binary64)) x)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(hole binary64 (* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))) x)))))))
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) (*.f64 (+.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) x) #s(literal -1/4 binary64)) (pow.f64 x #s(literal 3 binary64))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) #s(hole binary64 (* (pow x 2) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))))
#s(approx (+ (* (+ (* -1/4 x) 1/3) x) -1/2) (*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (*.f64 x x)))
#s(approx (+ (* -1/4 x) 1/3) #s(hole binary64 (* -1 (* x (- 1/4 (* 1/3 (/ 1 x)))))))
#s(approx (+ (* -1/4 x) 1/3) (*.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal -1/4 binary64)) x))

rewrite75.0ms (2.1%)

Memory
21.7MiB live, 67.1MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021105
036105
1136105
01065105
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
14 → 139
Calls
Call 1
Inputs
(log1p.f64 x)
#s(approx (log (+ 1 x)) x)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
Outputs
(log1p.f64 x)
(-.f64 (log1p.f64 (*.f64 (neg.f64 x) x)) (log.f64 (-.f64 #s(literal 1 binary64) x)))
(-.f64 (log1p.f64 (pow.f64 x #s(literal 3 binary64))) (log1p.f64 (-.f64 (*.f64 x x) x)))
(log.f64 (-.f64 x #s(literal -1 binary64)))
#s(approx (log (+ 1 x)) x)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 x (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) x) (fma.f64 #s(literal -1/2 binary64) x #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) x) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x))))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (fma.f64 #s(literal -1/2 binary64) x #s(literal -1 binary64)))
(/.f64 (*.f64 x (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x)
(fma.f64 x (*.f64 #s(literal -1/2 binary64) x) x)
(+.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) x)
(+.f64 (*.f64 x (*.f64 #s(literal -1/2 binary64) x)) x)
(+.f64 x (*.f64 (*.f64 #s(literal -1/2 binary64) x) x))
(+.f64 x (*.f64 x (*.f64 #s(literal -1/2 binary64) x)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x)))))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) (fma.f64 #s(literal -1/2 binary64) x #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (*.f64 #s(literal -1/2 binary64) x))))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x) #s(literal 1 binary64))
(fma.f64 x #s(literal -1/2 binary64) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (fma.f64 #s(literal -1/2 binary64) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) x #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal -1/2 binary64) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) #s(literal -1/2 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x)))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x)))))
(+.f64 (*.f64 #s(literal -1/2 binary64) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 x (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) x) (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) x) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x)
(fma.f64 x (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) x)
(+.f64 (*.f64 x (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)) x)
(+.f64 x (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x))
(+.f64 x (*.f64 x (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 1 binary64))
(fma.f64 x (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal 1/9 binary64))) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/3 binary64) x)))
(/.f64 (neg.f64 (fma.f64 (*.f64 x x) #s(literal 1/9 binary64) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/27 binary64) #s(literal -1/8 binary64))) (neg.f64 (fma.f64 (*.f64 x x) #s(literal 1/9 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64))))))
(/.f64 (fma.f64 (*.f64 x x) #s(literal 1/9 binary64) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/27 binary64) #s(literal -1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 x x) #s(literal 1/9 binary64)) (*.f64 x #s(literal -1/6 binary64)))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/27 binary64) #s(literal -1/8 binary64)) (fma.f64 (*.f64 x x) #s(literal 1/9 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64)))))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 x #s(literal 1/3 binary64) #s(literal -1/2 binary64))
(-.f64 (/.f64 (*.f64 (*.f64 x x) #s(literal 1/9 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal -1/3 binary64) x))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 x) #s(literal 1/3 binary64)))
(+.f64 (/.f64 (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/27 binary64)) (fma.f64 (*.f64 x x) #s(literal 1/9 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64))))) (/.f64 #s(literal -1/8 binary64) (fma.f64 (*.f64 x x) #s(literal 1/9 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64))))))
(+.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/3 binary64) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 x (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) x) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) x) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x)))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) x x)
(fma.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) x)
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) x) x)
(+.f64 (*.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x)) x)
(+.f64 x (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) x))
(+.f64 x (*.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 1 binary64))
(fma.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x))))
(+.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal -1/2 binary64) (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal -1/2 binary64)))
(/.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal -1/2 binary64)))))
(/.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 3 binary64))) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 x (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #s(literal -1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))) x))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 3 binary64)) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64)))) (/.f64 #s(literal -1/8 binary64) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x))
(/.f64 (-.f64 #s(literal 1/9 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 2 binary64))) (-.f64 #s(literal 1/3 binary64) (*.f64 #s(literal -1/4 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 x x) #s(literal -1/9 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 1/3 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/27 binary64))) (neg.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 x x) (-.f64 #s(literal 1/9 binary64) (*.f64 x #s(literal -1/12 binary64))))))
(/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 x x) #s(literal -1/9 binary64)) (-.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 1/3 binary64)))
(/.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/27 binary64)) (+.f64 #s(literal 1/9 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 2 binary64)) (*.f64 x #s(literal -1/12 binary64)))))
(/.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/27 binary64)) (fma.f64 #s(literal 1/16 binary64) (*.f64 x x) (-.f64 #s(literal 1/9 binary64) (*.f64 x #s(literal -1/12 binary64)))))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(fma.f64 x #s(literal -1/4 binary64) #s(literal 1/3 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 1/3 binary64))) (/.f64 #s(literal 1/9 binary64) (-.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 1/3 binary64))))
(-.f64 #s(literal 1/3 binary64) (*.f64 #s(literal 1/4 binary64) x))
(-.f64 #s(literal 1/3 binary64) (*.f64 (neg.f64 x) #s(literal -1/4 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/16 binary64) (*.f64 x x) (-.f64 #s(literal 1/9 binary64) (*.f64 x #s(literal -1/12 binary64))))) (/.f64 #s(literal 1/27 binary64) (fma.f64 #s(literal 1/16 binary64) (*.f64 x x) (-.f64 #s(literal 1/9 binary64) (*.f64 x #s(literal -1/12 binary64))))))
(+.f64 (*.f64 #s(literal -1/4 binary64) x) #s(literal 1/3 binary64))
(+.f64 #s(literal 1/3 binary64) (*.f64 #s(literal -1/4 binary64) x))

eval50.0ms (1.4%)

Memory
-9.2MiB live, 35.4MiB allocated; 5ms collecting garbage
Compiler

Compiled 4 530 to 851 computations (81.2% saved)

prune7.0ms (0.2%)

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

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1982200
Fresh000
Picked145
Done000
Total1996205
Accuracy
100.0%
Counts
205 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log1p.f64 x)
68.0%
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
66.6%
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x))
67.0%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
66.6%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
67.1%
#s(approx (log (+ 1 x)) x)
Compiler

Compiled 61 to 47 computations (23% saved)

simplify238.0ms (6.6%)

Memory
-28.7MiB live, 81.8MiB allocated; 23ms collecting garbage
Localize:

Found 7 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01358
02158
13958
28158
325858
478058
5250058
6659558
0805554
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x))
(fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x)
(*.f64 #s(literal -1/2 binary64) x)
#s(literal -1/2 binary64)
x
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x)
(*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(literal 1/3 binary64)
x
#s(literal -1/2 binary64)
Outputs
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x))
(fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x)
(*.f64 #s(literal -1/2 binary64) x)
#s(literal -1/2 binary64)
x
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x)
(*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(literal 1/3 binary64)
x
#s(literal -1/2 binary64)

localize36.0ms (1%)

Memory
19.5MiB live, 61.6MiB allocated; 7ms collecting garbage
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0.02734375
(fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x)
accuracy0.05078125
(*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)
accuracy0.0859375
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
accuracy20.49291799215966
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
accuracy0.0
(fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x)
accuracy0.0
(*.f64 #s(literal -1/2 binary64) x)
accuracy21.36935987008555
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x))
Samples
28.0ms256×0valid
Compiler

Compiled 48 to 14 computations (70.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 10.0ms (50.4% of total)
ival-add: 3.0ms (15.1% of total)
const: 3.0ms (15.1% of total)
ival-log1p: 2.0ms (10.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0.1%)

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

3 calls:

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

simplify229.0ms (6.3%)

Memory
6.9MiB live, 116.1MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0124521
1290507
2744505
32436500
46712500
08088425
Stop Event
iter limit
node limit
Counts
34 → 34
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) #s(hole binary64 x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (+ (* (* -1/2 x) x) x) #s(hole binary64 x))
#s(approx (+ (* (* -1/2 x) x) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (* -1/2 x) #s(hole binary64 (* -1/2 x)))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 x))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (* (+ (* 1/3 x) -1/2) x) #s(hole binary64 (* -1/2 x)))
#s(approx (* (+ (* 1/3 x) -1/2) x) #s(hole binary64 (* x (- (* 1/3 x) 1/2))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (- (* 1/3 x) 1/2)))
#s(approx (log (+ 1 x)) #s(hole binary64 (* -1 (log (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (* -1 (log (/ 1 x))) (/ 1 x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))))
#s(approx (+ (* (* -1/2 x) x) x) #s(hole binary64 (* -1/2 (pow x 2))))
#s(approx (+ (* (* -1/2 x) x) x) #s(hole binary64 (* (pow x 2) (- (/ 1 x) 1/2))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* 1/3 (pow x 3))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* (pow x 3) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* (pow x 3) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))))
#s(approx (* (+ (* 1/3 x) -1/2) x) #s(hole binary64 (* 1/3 (pow x 2))))
#s(approx (* (+ (* 1/3 x) -1/2) x) #s(hole binary64 (* (pow x 2) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* 1/3 x)))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* x (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3)))))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* -1 (* x (- (* 1/2 (/ 1 x)) 1/3)))))
Outputs
#s(approx (log (+ 1 x)) #s(hole binary64 x))
#s(approx (log (+ 1 x)) x)
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
#s(approx (log (+ 1 x)) #s(hole binary64 (* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (+ (* (* -1/2 x) x) x) #s(hole binary64 x))
#s(approx (+ (* (* -1/2 x) x) x) x)
#s(approx (+ (* (* -1/2 x) x) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (+ (* (* -1/2 x) x) x) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (* -1/2 x) #s(hole binary64 (* -1/2 x)))
#s(approx (* -1/2 x) (*.f64 #s(literal -1/2 binary64) x))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 x))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) x)
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* x (+ 1 (* -1/2 x)))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* x (+ 1 (* x (- (* 1/3 x) 1/2))))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
#s(approx (* (+ (* 1/3 x) -1/2) x) #s(hole binary64 (* -1/2 x)))
#s(approx (* (+ (* 1/3 x) -1/2) x) (*.f64 #s(literal -1/2 binary64) x))
#s(approx (* (+ (* 1/3 x) -1/2) x) #s(hole binary64 (* x (- (* 1/3 x) 1/2))))
#s(approx (* (+ (* 1/3 x) -1/2) x) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* 1/3 x) -1/2) #s(literal -1/2 binary64))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (- (* 1/3 x) 1/2)))
#s(approx (+ (* 1/3 x) -1/2) (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)))
#s(approx (log (+ 1 x)) #s(hole binary64 (* -1 (log (/ 1 x)))))
#s(approx (log (+ 1 x)) (log.f64 x))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (* -1 (log (/ 1 x))) (/ 1 x))))
#s(approx (log (+ 1 x)) (+.f64 (log.f64 x) (/.f64 #s(literal 1 binary64) x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) (-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))))
#s(approx (log (+ 1 x)) (+.f64 (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x) (log.f64 x)))
#s(approx (+ (* (* -1/2 x) x) x) #s(hole binary64 (* -1/2 (pow x 2))))
#s(approx (+ (* (* -1/2 x) x) x) (*.f64 (*.f64 #s(literal -1/2 binary64) x) x))
#s(approx (+ (* (* -1/2 x) x) x) #s(hole binary64 (* (pow x 2) (- (/ 1 x) 1/2))))
#s(approx (+ (* (* -1/2 x) x) x) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* 1/3 (pow x 3))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/3 binary64)))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* (pow x 3) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* (pow x 3) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
#s(approx (* (+ (* 1/3 x) -1/2) x) #s(hole binary64 (* 1/3 (pow x 2))))
#s(approx (* (+ (* 1/3 x) -1/2) x) (*.f64 (*.f64 x x) #s(literal 1/3 binary64)))
#s(approx (* (+ (* 1/3 x) -1/2) x) #s(hole binary64 (* (pow x 2) (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (* (+ (* 1/3 x) -1/2) x) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* 1/3 x)))
#s(approx (+ (* 1/3 x) -1/2) (*.f64 #s(literal 1/3 binary64) x))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* x (- 1/3 (* 1/2 (/ 1 x))))))
#s(approx (+ (* 1/3 x) -1/2) (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 x))))))
#s(approx (log (+ 1 x)) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))))
#s(approx (log (+ 1 x)) (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1 binary64))))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))))
#s(approx (log (+ 1 x)) (-.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x)))
#s(approx (log (+ 1 x)) #s(hole binary64 (+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))))
#s(approx (log (+ 1 x)) (+.f64 (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) #s(hole binary64 (* -1 (* (pow x 3) (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3)))))
#s(approx (+ (* (* (+ (* 1/3 x) -1/2) x) x) x) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
#s(approx (+ (* 1/3 x) -1/2) #s(hole binary64 (* -1 (* x (- (* 1/2 (/ 1 x)) 1/3)))))
#s(approx (+ (* 1/3 x) -1/2) (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)))

rewrite62.0ms (1.7%)

Memory
-24.0MiB live, 62.5MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01353
02153
18653
061549
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
7 → 72
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x))
(fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x)
(*.f64 #s(literal -1/2 binary64) x)
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x)
(*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
Outputs
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 x (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64))) (-.f64 x (*.f64 (*.f64 #s(literal -1/2 binary64) x) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 x x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (*.f64 #s(literal -1/2 binary64) x) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) x))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 x x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (pow.f64 x #s(literal 3 binary64))))))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 x x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 (*.f64 #s(literal -1/2 binary64) x) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)
(fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x)
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) x)
(fma.f64 x (*.f64 #s(literal -1/2 binary64) x) x)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) x)))
(-.f64 x (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) x)) x))
(-.f64 x (*.f64 #s(literal 1/2 binary64) (*.f64 x x)))
(-.f64 x (*.f64 (neg.f64 x) (*.f64 #s(literal -1/2 binary64) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (*.f64 #s(literal -1/2 binary64) x) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (*.f64 #s(literal -1/2 binary64) x) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) x) x)
(+.f64 x (*.f64 (*.f64 #s(literal -1/2 binary64) x) x))
(*.f64 #s(literal -1/2 binary64) x)
(*.f64 x #s(literal -1/2 binary64))
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 x (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64))) (-.f64 x (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) x))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (pow.f64 x #s(literal 3 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 x x) (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)
(fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(fma.f64 x (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) x)))
(-.f64 x (*.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)) x))
(-.f64 x (*.f64 (neg.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))) (*.f64 x x)))
(-.f64 x (*.f64 (neg.f64 x) (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x) x)
(+.f64 x (*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x))
(*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)
(*.f64 x (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) #s(literal -1/4 binary64)) x) (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/27 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/8 binary64)) x) (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64)))))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) #s(literal -1/4 binary64))) (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64)))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/27 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/8 binary64))) (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64)))))
(fma.f64 (*.f64 #s(literal 1/3 binary64) x) x (*.f64 #s(literal -1/2 binary64) x))
(fma.f64 #s(literal -1/2 binary64) x (*.f64 (*.f64 #s(literal 1/3 binary64) x) x))
(fma.f64 #s(literal -1/2 binary64) x (*.f64 x (*.f64 #s(literal 1/3 binary64) x)))
(fma.f64 x (*.f64 #s(literal 1/3 binary64) x) (*.f64 #s(literal -1/2 binary64) x))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 (*.f64 #s(literal 1/3 binary64) x) x))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 x (*.f64 #s(literal 1/3 binary64) x)))
(+.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) x) x) (*.f64 #s(literal -1/2 binary64) x))
(+.f64 (*.f64 x (*.f64 #s(literal 1/3 binary64) x)) (*.f64 #s(literal -1/2 binary64) x))
(+.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 (*.f64 #s(literal 1/3 binary64) x) x))
(+.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 x (*.f64 #s(literal 1/3 binary64) x)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/9 binary64) (*.f64 x x))) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/3 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/27 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64))))))
(/.f64 (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/27 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/9 binary64) (*.f64 x x)) (*.f64 x #s(literal -1/6 binary64)))))
(/.f64 (fma.f64 #s(literal 1/27 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal -1/8 binary64)) (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64)))))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 x #s(literal 1/3 binary64) #s(literal -1/2 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/9 binary64) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal -1/3 binary64) x))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 x) #s(literal 1/3 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal 1/27 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64))))) (/.f64 #s(literal -1/8 binary64) (fma.f64 #s(literal 1/9 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -1/6 binary64))))))
(+.f64 (*.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/3 binary64) x))

eval10.0ms (0.3%)

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

Compiled 1 973 to 368 computations (81.3% saved)

prune6.0ms (0.2%)

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

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New98098
Fresh000
Picked022
Done044
Total986104
Accuracy
100.0%
Counts
104 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log1p.f64 x)
68.0%
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
66.6%
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x))
67.0%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
66.6%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
67.1%
#s(approx (log (+ 1 x)) x)
Compiler

Compiled 140 to 77 computations (45% saved)

regimes48.0ms (1.3%)

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

3 calls:

43.0ms
x
2.0ms
(log.f64 (+.f64 #s(literal 1 binary64) x))
2.0ms
(+.f64 #s(literal 1 binary64) x)
Results
AccuracySegmentsBranch
100.0%1(+.f64 #s(literal 1 binary64) x)
100.0%1(log.f64 (+.f64 #s(literal 1 binary64) x))
100.0%1x
Compiler

Compiled 8 to 8 computations (0% saved)

regimes6.0ms (0.2%)

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

3 calls:

2.0ms
x
2.0ms
(log.f64 (+.f64 #s(literal 1 binary64) x))
2.0ms
(+.f64 #s(literal 1 binary64) x)
Results
AccuracySegmentsBranch
68.0%1(+.f64 #s(literal 1 binary64) x)
68.0%1(log.f64 (+.f64 #s(literal 1 binary64) x))
68.0%1x
Compiler

Compiled 8 to 8 computations (0% saved)

regimes5.0ms (0.1%)

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

3 calls:

2.0ms
x
1.0ms
(log.f64 (+.f64 #s(literal 1 binary64) x))
1.0ms
(+.f64 #s(literal 1 binary64) x)
Results
AccuracySegmentsBranch
68.0%1(+.f64 #s(literal 1 binary64) x)
68.0%1(log.f64 (+.f64 #s(literal 1 binary64) x))
68.0%1x
Compiler

Compiled 8 to 8 computations (0% saved)

regimes4.0ms (0.1%)

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

Total -0.9b remaining (-4.5%)

Threshold costs -0.9b (-4.5%)

Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) x)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) x x))
Outputs
#s(approx (log (+ 1 x)) x)
Calls

3 calls:

1.0ms
x
1.0ms
(+.f64 #s(literal 1 binary64) x)
1.0ms
(log.f64 (+.f64 #s(literal 1 binary64) x))
Results
AccuracySegmentsBranch
67.1%1(+.f64 #s(literal 1 binary64) x)
67.1%1(log.f64 (+.f64 #s(literal 1 binary64) x))
67.1%1x
Compiler

Compiled 8 to 8 computations (0% saved)

simplify62.0ms (1.7%)

Memory
-30.5MiB live, 33.9MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01536
11836
22136
33336
46236
525836
6255236
7647536
Stop Event
node limit
Calls
Call 1
Inputs
(log1p.f64 x)
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) x)
Outputs
(log1p.f64 x)
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) x)

derivations153.0ms (4.2%)

Memory
-19.7MiB live, 112.5MiB allocated; 20ms collecting garbage
Stop Event
done
Compiler

Compiled 36 to 16 computations (55.6% saved)

preprocess38.0ms (1%)

Memory
5.4MiB live, 51.3MiB allocated; 22ms collecting garbage
Compiler

Compiled 118 to 58 computations (50.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...