math.log/2 on complex, imaginary part

Time bar (total: 6.2s)

start0.0ms (0%)

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

analyze230.0ms (3.7%)

Memory
18.8MiB live, 295.0MiB allocated; 58ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%49.9%0.1%0%49.9%0%4
0%0%49.9%0.1%0%49.9%0%5
0%0%49.9%0.1%0%49.9%0%6
9.4%4.7%45.2%0.1%0%49.9%0%7
17.2%8.6%41.3%0.1%0%49.9%0%8
27.3%13.7%36.3%0.1%0%49.9%0%9
41%20.5%29.4%0.1%0%49.9%0%10
48.6%24.3%25.6%0.1%0%49.9%0%11
57.1%28.5%21.4%0.1%0%49.9%0%12
Compiler

Compiled 30 to 17 computations (43.3% saved)

sample1.8s (29.5%)

Memory
-6.3MiB live, 2 766.8MiB allocated; 491ms collecting garbage
Samples
1.3s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.0s
ival-log: 232.0ms (22.5% of total)
ival-mult: 202.0ms (19.6% of total)
ival-atan2: 178.0ms (17.3% of total)
ival-div: 156.0ms (15.2% of total)
ival-hypot: 144.0ms (14% of total)
ival-add: 59.0ms (5.7% of total)
ival-sub: 41.0ms (4% of total)
ival-true: 6.0ms (0.6% of total)
exact: 6.0ms (0.6% of total)
ival-assert: 4.0ms (0.4% of total)
adjust: 3.0ms (0.3% of total)
Bogosity

explain387.0ms (6.2%)

Memory
42.9MiB live, 423.4MiB allocated; 49ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1340-0-(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
00-0-(log.f64 base)
00-0-(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
00-0-(*.f64 re re)
00-0-(atan2.f64 im re)
00-0-im
00-0-(*.f64 (atan2.f64 im re) (log.f64 base))
00-0-(+.f64 (*.f64 re re) (*.f64 im im))
00-0-re
00-0-(-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64)))
00-0-(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
00-0-(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))
00-0-#s(literal 0 binary64)
00-0-(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
00-0-(*.f64 (log.f64 base) (log.f64 base))
00-0-(*.f64 im im)
00-0-base
00-0-(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))oflow-rescue1240
(+.f64 (*.f64 re re) (*.f64 im im))overflow124
(*.f64 re re)overflow69
(*.f64 im im)overflow68
Confusion
Predicted +Predicted -
+12410
-0122
Precision
1.0
Recall
0.9253731343283582
Confusion?
Predicted +Predicted MaybePredicted -
+124010
-00122
Precision?
1.0
Recall?
0.9253731343283582
Freqs
test
numberfreq
0132
1124
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
156.0ms512×0valid
Compiler

Compiled 270 to 58 computations (78.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 107.0ms
ival-mult: 41.0ms (38.2% of total)
ival-add: 22.0ms (20.5% of total)
ival-hypot: 22.0ms (20.5% of total)
ival-log: 11.0ms (10.3% of total)
ival-atan2: 4.0ms (3.7% of total)
ival-div: 3.0ms (2.8% of total)
ival-sub: 2.0ms (1.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess274.0ms (4.4%)

Memory
-28.6MiB live, 162.2MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076139
1219121
292878
3599578
01826
03414
16312
21808
39216
424776
551416
082916
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
Outputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 (atan2.f64 im re) (log.f64 base))
Compiler

Compiled 28 to 18 computations (35.7% saved)

eval0.0ms (0%)

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

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.3%
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
Compiler

Compiled 28 to 18 computations (35.7% saved)

simplify133.0ms (2.1%)

Memory
37.5MiB live, 82.4MiB allocated; 5ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff2
(-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64)))
cost-diff4
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
cost-diff5
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))
cost-diff5
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018113
03477
16375
218071
392169
4247769
5514167
0829156
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64)))
(*.f64 (atan2.f64 im re) (log.f64 base))
(atan2.f64 im re)
im
re
(log.f64 base)
base
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
(*.f64 im im)
#s(literal 0 binary64)
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
Outputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (atan2.f64 im re))
(atan2.f64 im re)
im
re
(log.f64 base)
base
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))
#s(literal 0 binary64)
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (hypot.f64 re im))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(hypot.f64 re im)
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 re re (*.f64 im im))
(*.f64 re re)
(*.f64 im im)
#s(literal 0 binary64)
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
#s(literal 0 binary64)

localize108.0ms (1.7%)

Memory
2.2MiB live, 144.9MiB allocated; 32ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.34212875976844204
(*.f64 (atan2.f64 im re) (log.f64 base))
accuracy0.35546875
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
accuracy0.4958000488422101
(*.f64 (log.f64 base) (log.f64 base))
accuracy31.17034661458715
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
90.0ms256×0valid
Compiler

Compiled 121 to 20 computations (83.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 7.0ms (25.3% of total)
ival-hypot: 7.0ms (25.3% of total)
ival-log: 5.0ms (18.1% of total)
ival-add: 2.0ms (7.2% of total)
ival-atan2: 2.0ms (7.2% of total)
ival-div: 1.0ms (3.6% of total)
ival-sub: 1.0ms (3.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series180.0ms (2.9%)

Memory
-13.1MiB live, 176.4MiB allocated; 35ms collecting garbage
Counts
6 → 35
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 (atan2.f64 im re) (log.f64 base))
Outputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (log (sqrt (+ (* re re) (* im im)))) 0) #s(hole binary64 0))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* 1/2 (/ (pow re 2) im)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* 1/2 (/ (pow im 2) re)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 im)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (log base) 2)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
Calls

9 calls:

TimeVariablePointExpression
55.0ms
re
@0
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (* (log (sqrt (+ (* re re) (* im im)))) 0) (sqrt (+ (* re re) (* im im))) (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (* (log base) (log base)) (* (atan2 im re) (log base)))
50.0ms
base
@inf
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (* (log (sqrt (+ (* re re) (* im im)))) 0) (sqrt (+ (* re re) (* im im))) (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (* (log base) (log base)) (* (atan2 im re) (log base)))
18.0ms
base
@0
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (* (log (sqrt (+ (* re re) (* im im)))) 0) (sqrt (+ (* re re) (* im im))) (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (* (log base) (log base)) (* (atan2 im re) (log base)))
15.0ms
im
@0
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (* (log (sqrt (+ (* re re) (* im im)))) 0) (sqrt (+ (* re re) (* im im))) (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (* (log base) (log base)) (* (atan2 im re) (log base)))
13.0ms
base
@-inf
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (* (log (sqrt (+ (* re re) (* im im)))) 0) (sqrt (+ (* re re) (* im im))) (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (* (log base) (log base)) (* (atan2 im re) (log base)))

simplify128.0ms (2.1%)

Memory
-9.5MiB live, 174.3MiB allocated; 30ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0168804
1420782
21813761
08390617
Stop Event
iter limit
node limit
Counts
35 → 35
Calls
Call 1
Inputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (log (sqrt (+ (* re re) (* im im)))) 0) #s(hole binary64 0))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* 1/2 (/ (pow re 2) im)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* 1/2 (/ (pow im 2) re)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 im)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (log base) 2)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
Outputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (log (sqrt (+ (* re re) (* im im)))) 0) #s(hole binary64 0))
#s(approx (* (log (sqrt (+ (* re re) (* im im)))) 0) #s(literal 0 binary64))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 im))
#s(approx (sqrt (+ (* re re) (* im im))) im)
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* 1/2 (/ (pow re 2) im)))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) re) (/.f64 (/.f64 re im) im) #s(literal 1/2 binary64)) im) (*.f64 re re) im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (*.f64 (log.f64 base) (atan2.f64 im re)))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (*.f64 (log.f64 base) (atan2.f64 im re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 re))
#s(approx (sqrt (+ (* re re) (* im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) #s(literal 1 binary64))) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) #s(literal 1 binary64)))) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 re)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64))) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) #s(literal 1 binary64))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* 1/2 (/ (pow im 2) re)))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (/.f64 im re) re) #s(literal 1/2 binary64)) re) (*.f64 im im) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64))) im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)))) im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 im)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal -1 binary64)) im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/8 binary64) (fma.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal -1 binary64))) im))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (neg.f64 im) (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64))))))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (log base) 2)))
#s(approx (* (log base) (log base)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (*.f64 (log.f64 base) (atan2.f64 im re)))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (* (log base) (log base)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (*.f64 (log.f64 base) (atan2.f64 im re)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (*.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) (atan2.f64 im re)))
#s(approx (* (log base) (log base)) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (* (log base) (log base)) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)))
#s(approx (* (atan2 im re) (log base)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (*.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) (atan2.f64 im re)))

rewrite61.0ms (1%)

Memory
32.9MiB live, 78.5MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01874
03438
112036
096531
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
6 → 217
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 (atan2.f64 im re) (log.f64 base))
Outputs
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (/.f64 (log.f64 base) (neg.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))))
(*.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))) (/.f64 (log.f64 base) (neg.f64 (log.f64 base))))
(*.f64 (/.f64 (log.f64 base) (fabs.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (fabs.f64 (log.f64 base))))
(*.f64 (/.f64 (atan2.f64 im re) (fabs.f64 (log.f64 base))) (/.f64 (log.f64 base) (fabs.f64 (log.f64 base))))
(*.f64 (/.f64 (log.f64 base) (log.f64 base)) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (log.f64 base) (log.f64 base)))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (log.f64 base))) (neg.f64 (log.f64 base)))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (fabs.f64 (log.f64 base))) (fabs.f64 (log.f64 base)))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 base)) (log.f64 base))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))) #s(literal 0 binary64)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 3 binary64)) #s(literal 0 binary64)) (fma.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64)))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 3 binary64)) (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(neg.f64 (/.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64))
(fma.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)) #s(literal 0 binary64))
(fma.f64 (/.f64 (log.f64 base) (neg.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))) #s(literal 0 binary64))
(fma.f64 (/.f64 (atan2.f64 im re) (neg.f64 (log.f64 base))) (/.f64 (log.f64 base) (neg.f64 (log.f64 base))) #s(literal 0 binary64))
(fma.f64 (/.f64 (log.f64 base) (fabs.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (fabs.f64 (log.f64 base))) #s(literal 0 binary64))
(fma.f64 (/.f64 (atan2.f64 im re) (fabs.f64 (log.f64 base))) (/.f64 (log.f64 base) (fabs.f64 (log.f64 base))) #s(literal 0 binary64))
(fma.f64 (/.f64 (log.f64 base) (log.f64 base)) (/.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 0 binary64))
(fma.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (log.f64 base) (log.f64 base)) #s(literal 0 binary64))
(fma.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64))
(fma.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64))
(-.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64))
(+.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64))
#s(literal 0 binary64)
(*.f64 (pow.f64 (fma.f64 re re (*.f64 im im)) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 re re (*.f64 im im)) #s(literal 1/4 binary64)))
(pow.f64 (fma.f64 re re (*.f64 im im)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 (neg.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 im))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (fabs.f64 im))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) im)
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 (neg.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 re))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (fabs.f64 re))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) re)
(hypot.f64 (neg.f64 (neg.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 re))
(hypot.f64 (neg.f64 (neg.f64 im)) (fabs.f64 re))
(hypot.f64 (neg.f64 (neg.f64 im)) re)
(hypot.f64 (neg.f64 (fabs.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 re))
(hypot.f64 (neg.f64 (fabs.f64 im)) (fabs.f64 re))
(hypot.f64 (neg.f64 (fabs.f64 im)) re)
(hypot.f64 (neg.f64 (neg.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 im))
(hypot.f64 (neg.f64 (neg.f64 re)) (fabs.f64 im))
(hypot.f64 (neg.f64 (neg.f64 re)) im)
(hypot.f64 (neg.f64 (fabs.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 im))
(hypot.f64 (neg.f64 (fabs.f64 re)) (fabs.f64 im))
(hypot.f64 (neg.f64 (fabs.f64 re)) im)
(hypot.f64 (fabs.f64 (fabs.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 re))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 re))
(hypot.f64 (fabs.f64 (fabs.f64 im)) re)
(hypot.f64 (fabs.f64 (fabs.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 im))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 im))
(hypot.f64 (fabs.f64 (fabs.f64 re)) im)
(hypot.f64 (neg.f64 re) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 re) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 re) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) (fabs.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 im) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 im) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 im) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) (fabs.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (fabs.f64 re) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 re) (neg.f64 (neg.f64 im)))
(hypot.f64 (fabs.f64 re) (neg.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 re) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 re) (neg.f64 im))
(hypot.f64 (fabs.f64 re) (fabs.f64 im))
(hypot.f64 (fabs.f64 re) im)
(hypot.f64 (fabs.f64 im) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 im) (neg.f64 (neg.f64 re)))
(hypot.f64 (fabs.f64 im) (neg.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 im) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 im) (neg.f64 re))
(hypot.f64 (fabs.f64 im) (fabs.f64 re))
(hypot.f64 (fabs.f64 im) re)
(hypot.f64 re (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 re (neg.f64 (neg.f64 im)))
(hypot.f64 re (neg.f64 (fabs.f64 im)))
(hypot.f64 re (fabs.f64 (fabs.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re (fabs.f64 im))
(hypot.f64 re im)
(hypot.f64 im (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 im (neg.f64 (neg.f64 re)))
(hypot.f64 im (neg.f64 (fabs.f64 re)))
(hypot.f64 im (fabs.f64 (fabs.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im (fabs.f64 re))
(hypot.f64 im re)
(exp.f64 (*.f64 (log.f64 (fma.f64 re re (*.f64 im im))) #s(literal 1/2 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))) (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 3 binary64))) (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)))
(fma.f64 (log.f64 base) (atan2.f64 im re) #s(literal 0 binary64))
(fma.f64 (atan2.f64 im re) (log.f64 base) #s(literal 0 binary64))
(-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (*.f64 (neg.f64 (neg.f64 (log.f64 (hypot.f64 re im)))) #s(literal 0 binary64)))
(-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 base) (atan2.f64 im re))))
(-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 #s(literal 0 binary64) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))))
(-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 0 binary64))
(log.f64 (pow.f64 base (atan2.f64 im re)))
(*.f64 (+.f64 (neg.f64 (log.f64 base)) #s(literal 0 binary64)) (-.f64 (neg.f64 (log.f64 base)) #s(literal 0 binary64)))
(*.f64 (+.f64 (fabs.f64 (log.f64 base)) #s(literal 0 binary64)) (-.f64 (fabs.f64 (log.f64 base)) #s(literal 0 binary64)))
(*.f64 (+.f64 (log.f64 base) #s(literal 0 binary64)) (-.f64 (log.f64 base) #s(literal 0 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 1 binary64)) (pow.f64 (log.f64 base) #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (log.f64 base))))
(*.f64 (neg.f64 (fabs.f64 (log.f64 base))) (neg.f64 (fabs.f64 (log.f64 base))))
(*.f64 (fabs.f64 (fabs.f64 (log.f64 base))) (fabs.f64 (fabs.f64 (log.f64 base))))
(*.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)))
(*.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)))
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (neg.f64 (log.f64 base)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (log.f64 base)) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (-.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 6 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (pow.f64 (log.f64 base) #s(literal 6 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(fma.f64 (+.f64 (neg.f64 (log.f64 base)) #s(literal 0 binary64)) (-.f64 (neg.f64 (log.f64 base)) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (+.f64 (neg.f64 (log.f64 base)) #s(literal 0 binary64)) (-.f64 (neg.f64 (log.f64 base)) #s(literal 0 binary64)) #s(literal 0 binary64))
(fma.f64 (+.f64 (fabs.f64 (log.f64 base)) #s(literal 0 binary64)) (-.f64 (fabs.f64 (log.f64 base)) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (+.f64 (fabs.f64 (log.f64 base)) #s(literal 0 binary64)) (-.f64 (fabs.f64 (log.f64 base)) #s(literal 0 binary64)) #s(literal 0 binary64))
(fma.f64 (+.f64 (log.f64 base) #s(literal 0 binary64)) (-.f64 (log.f64 base) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (+.f64 (log.f64 base) #s(literal 0 binary64)) (-.f64 (log.f64 base) #s(literal 0 binary64)) #s(literal 0 binary64))
(fma.f64 (pow.f64 (log.f64 base) #s(literal 1 binary64)) (pow.f64 (log.f64 base) #s(literal 1 binary64)) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (pow.f64 (log.f64 base) #s(literal 1 binary64)) (pow.f64 (log.f64 base) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (log.f64 base))) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (log.f64 base))) #s(literal 0 binary64))
(fma.f64 (neg.f64 (fabs.f64 (log.f64 base))) (neg.f64 (fabs.f64 (log.f64 base))) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (neg.f64 (fabs.f64 (log.f64 base))) (neg.f64 (fabs.f64 (log.f64 base))) #s(literal 0 binary64))
(fma.f64 (fabs.f64 (fabs.f64 (log.f64 base))) (fabs.f64 (fabs.f64 (log.f64 base))) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (fabs.f64 (fabs.f64 (log.f64 base))) (fabs.f64 (fabs.f64 (log.f64 base))) #s(literal 0 binary64))
(fma.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)) #s(literal 0 binary64))
(fma.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)) #s(literal 0 binary64))
(fma.f64 (log.f64 base) (log.f64 base) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(fma.f64 (log.f64 base) (log.f64 base) #s(literal 0 binary64))
(-.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
(+.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (/.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(+.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(log.f64 (pow.f64 base (log.f64 base)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (log.f64 base))
(/.f64 (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))) (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))))
(/.f64 (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 3 binary64))) (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)))
(fma.f64 (log.f64 base) (atan2.f64 im re) #s(literal 0 binary64))
(fma.f64 (atan2.f64 im re) (log.f64 base) #s(literal 0 binary64))
(-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (*.f64 (neg.f64 (neg.f64 (log.f64 (hypot.f64 re im)))) #s(literal 0 binary64)))
(-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 base) (atan2.f64 im re))))
(-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 #s(literal 0 binary64) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))))
(-.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 (log.f64 base) (atan2.f64 im re)))
(+.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 0 binary64))
(log.f64 (pow.f64 base (atan2.f64 im re)))

eval85.0ms (1.4%)

Memory
-21.0MiB live, 79.9MiB allocated; 13ms collecting garbage
Compiler

Compiled 6 417 to 1 060 computations (83.5% saved)

prune13.0ms (0.2%)

Memory
-11.9MiB live, 34.2MiB allocated; 3ms collecting garbage
Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New21912231
Fresh000
Picked101
Done000
Total22012232
Accuracy
100.0%
Counts
232 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
82.8%
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 3 binary64)) (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
86.6%
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
82.0%
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 3 binary64)) #s(literal 0 binary64)) (fma.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64)))))
47.3%
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 6 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
47.3%
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
99.2%
(/.f64 (-.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
99.3%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
99.4%
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
98.9%
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
99.1%
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
99.2%
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
99.5%
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
Compiler

Compiled 556 to 344 computations (38.1% saved)

simplify105.0ms (1.7%)

Memory
38.5MiB live, 129.1MiB allocated; 7ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff0
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
cost-diff3
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
cost-diff11
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
cost-diff0
(log.f64 base)
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff0
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
cost-diff3
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
cost-diff0
(atan2.f64 im re)
cost-diff0
(log.f64 base)
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff5
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
cost-diff0
(atan2.f64 im re)
cost-diff0
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
cost-diff0
(log.f64 base)
cost-diff5
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
cost-diff0
(log.f64 base)
cost-diff0
(atan2.f64 im re)
cost-diff0
(/.f64 (atan2.f64 im re) (log.f64 base))
cost-diff0
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
037218
052181
196179
2309170
32208168
47312168
08104168
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(atan2.f64 im re)
im
re
(log.f64 base)
base
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(log.f64 base)
base
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 6 binary64))
#s(literal 6 binary64)
(pow.f64 (log.f64 base) #s(literal 4 binary64))
#s(literal 4 binary64)
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
#s(literal 2 binary64)
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
Outputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(atan2.f64 im re)
im
re
(log.f64 base)
base
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 base)
base
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 5 binary64)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (atan2.f64 im re))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 6 binary64))
#s(literal 6 binary64)
(pow.f64 (log.f64 base) #s(literal 4 binary64))
#s(literal 4 binary64)
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
#s(literal 2 binary64)
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))
(pow.f64 (log.f64 base) #s(literal 2 binary64))

localize114.0ms (1.8%)

Memory
-21.9MiB live, 177.3MiB allocated; 28ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.3557465903318293
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
accuracy0.4453125
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
accuracy0.4958000488422101
(pow.f64 (log.f64 base) #s(literal 2 binary64))
accuracy8.09700367142624
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
accuracy0.34212875976844204
(*.f64 (log.f64 base) (atan2.f64 im re))
accuracy0.4331532554226992
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
accuracy0.8877643556434058
(pow.f64 (log.f64 base) #s(literal 4 binary64))
accuracy1.1900786609232068
(pow.f64 (log.f64 base) #s(literal 6 binary64))
accuracy0.0
(log.f64 base)
accuracy0.34212875976844204
(*.f64 (log.f64 base) (atan2.f64 im re))
accuracy0.35546875
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
accuracy0.4958000488422101
(pow.f64 (log.f64 base) #s(literal 2 binary64))
accuracy0.0
(log.f64 base)
accuracy0.27734375
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
accuracy0.36435986095810247
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
accuracy0.4958000488422101
(pow.f64 (log.f64 base) #s(literal 2 binary64))
accuracy0.0
(atan2.f64 im re)
accuracy0.0
(log.f64 base)
accuracy0.0
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
accuracy0.31640625
(/.f64 (atan2.f64 im re) (log.f64 base))
Samples
83.0ms256×0valid
Compiler

Compiled 215 to 33 computations (84.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 45.0ms
ival-div: 10.0ms (22.1% of total)
ival-mult: 10.0ms (22.1% of total)
ival-pow: 6.0ms (13.2% of total)
ival-log: 5.0ms (11% of total)
ival-hypot: 4.0ms (8.8% of total)
ival-pow2: 4.0ms (8.8% of total)
ival-atan2: 2.0ms (4.4% of total)
ival-add: 1.0ms (2.2% of total)
ival-sub: 1.0ms (2.2% of total)
exact: 1.0ms (2.2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series101.0ms (1.6%)

Memory
-1.3MiB live, 239.7MiB allocated; 24ms collecting garbage
Counts
16 → 46
Calls
Call 1
Inputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(atan2.f64 im re)
(log.f64 base)
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 6 binary64))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
Outputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 2))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 5))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* (pow (log base) 3) (atan2 im re))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log base) 2) (pow (atan2 im re) 2))))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log base) 6)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (log (/ 1 base)) 2))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 5)))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 3) (atan2 im re)))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log (/ 1 base)) 2) (pow (atan2 im re) 2))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log (/ 1 base)) 6)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 5))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3) (atan2 im re))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2) (pow (atan2 im re) 2))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 6)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
Calls

9 calls:

TimeVariablePointExpression
14.0ms
base
@-inf
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/ (atan2 im re) (log base)) (atan2 im re) (log base) (* (log base) (/ (atan2 im re) (pow (log base) 2))) (/ (atan2 im re) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (* (log base) (atan2 im re)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (* (* (log base) (atan2 im re)) (pow (log base) 2)) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (pow (log base) 6) (pow (log base) 4))
13.0ms
re
@0
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/ (atan2 im re) (log base)) (atan2 im re) (log base) (* (log base) (/ (atan2 im re) (pow (log base) 2))) (/ (atan2 im re) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (* (log base) (atan2 im re)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (* (* (log base) (atan2 im re)) (pow (log base) 2)) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (pow (log base) 6) (pow (log base) 4))
12.0ms
re
@-inf
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/ (atan2 im re) (log base)) (atan2 im re) (log base) (* (log base) (/ (atan2 im re) (pow (log base) 2))) (/ (atan2 im re) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (* (log base) (atan2 im re)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (* (* (log base) (atan2 im re)) (pow (log base) 2)) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (pow (log base) 6) (pow (log base) 4))
11.0ms
base
@0
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/ (atan2 im re) (log base)) (atan2 im re) (log base) (* (log base) (/ (atan2 im re) (pow (log base) 2))) (/ (atan2 im re) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (* (log base) (atan2 im re)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (* (* (log base) (atan2 im re)) (pow (log base) 2)) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (pow (log base) 6) (pow (log base) 4))
11.0ms
base
@inf
((/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/ (atan2 im re) (log base)) (atan2 im re) (log base) (* (log base) (/ (atan2 im re) (pow (log base) 2))) (/ (atan2 im re) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (* (log base) (atan2 im re)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (* (* (log base) (atan2 im re)) (pow (log base) 2)) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (pow (log base) 6) (pow (log base) 4))

simplify111.0ms (1.8%)

Memory
-4.5MiB live, 89.2MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0124833
1212775
2597691
34333691
08037691
Stop Event
iter limit
node limit
Counts
46 → 46
Calls
Call 1
Inputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 2))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 5))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* (pow (log base) 3) (atan2 im re))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log base) 2) (pow (atan2 im re) 2))))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log base) 6)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (log (/ 1 base)) 2))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 5)))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 3) (atan2 im re)))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log (/ 1 base)) 2) (pow (atan2 im re) 2))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log (/ 1 base)) 6)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 5))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3) (atan2 im re))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2) (pow (atan2 im re) 2))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 6)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
Outputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (atan2 im re) (atan2.f64 im re))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 2))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (log.f64 base) (atan2.f64 im re)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 5))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 5 binary64))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* (pow (log base) 3) (atan2 im re))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log base) 2) (pow (atan2 im re) 2))))
#s(approx (pow (* (log base) (atan2 im re)) 2) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (log base) (log.f64 base))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (log base) 2) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log base) 6)))
#s(approx (pow (log base) 6) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (pow (log base) 4) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (log base) (log.f64 base))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (log (/ 1 base)) 2))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (log.f64 base) (atan2.f64 im re)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 5)))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/.f64 (neg.f64 (atan2.f64 im re)) (pow.f64 (neg.f64 (log.f64 base)) #s(literal 5 binary64))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 3) (atan2 im re)))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log (/ 1 base)) 2) (pow (atan2 im re) 2))))
#s(approx (pow (* (log base) (atan2 im re)) 2) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow (log base) 2) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log (/ 1 base)) 6)))
#s(approx (pow (log base) 6) (pow.f64 (neg.f64 (log.f64 base)) #s(literal 6 binary64)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (pow (log base) 4) (pow.f64 (neg.f64 (log.f64 base)) #s(literal 4 binary64)))
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (/ (atan2 im re) (log base)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (log base) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))))
#s(approx (* (log base) (/ (atan2 im re) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2))))
#s(approx (/ (atan2 im re) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) (atan2.f64 im re)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 5))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 5 binary64))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3) (atan2 im re))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 3 binary64)) (atan2.f64 im re)))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2) (pow (atan2 im re) 2))))
#s(approx (pow (* (log base) (atan2 im re)) 2) (*.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)) (pow.f64 (atan2.f64 im re) #s(literal 2 binary64))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow (log base) 2) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 6)))
#s(approx (pow (log base) 6) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 6 binary64)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
#s(approx (pow (log base) 4) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 4 binary64)))

rewrite60.0ms (1%)

Memory
-11.3MiB live, 33.4MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037158
052145
0187145
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
16 → 56
Calls
Call 1
Inputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(atan2.f64 im re)
(log.f64 base)
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 6 binary64))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
Outputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (log.f64 base)))
(/.f64 (atan2.f64 im re) (log.f64 base))
(atan2.f64 im re)
(log.f64 base)
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (pow.f64 base (atan2.f64 im re)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 6 binary64))))
(/.f64 (neg.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 6 binary64))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(/.f64 (/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (neg.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))) (neg.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 1 binary64)) (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 1 binary64)))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (atan2.f64 im re) #s(literal 2 binary64)))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 (*.f64 (log.f64 base) (atan2.f64 im re))) #s(literal 2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 1 binary64)) (pow.f64 (log.f64 base) #s(literal 1 binary64)))
(*.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)))
(*.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)))
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) #s(literal 0 binary64)) (-.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64)))
(/.f64 (+.f64 (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 3 binary64)) #s(literal 0 binary64)) (+.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64)))))
(fma.f64 (pow.f64 (log.f64 base) #s(literal 1 binary64)) (pow.f64 (log.f64 base) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)) #s(literal 0 binary64))
(fma.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)) #s(literal 0 binary64))
(fma.f64 (log.f64 base) (log.f64 base) #s(literal 0 binary64))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
(+.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(log.f64 (pow.f64 base (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(pow.f64 (log.f64 base) #s(literal 6 binary64))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 6 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 4 binary64)))

eval15.0ms (0.2%)

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

Compiled 3 398 to 368 computations (89.2% saved)

prune40.0ms (0.6%)

Memory
-15.5MiB live, 33.9MiB allocated; 6ms collecting garbage
Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New15710167
Fresh527
Picked235
Done000
Total16415179
Accuracy
100.0%
Counts
179 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.5%
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
86.5%
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (atan2.f64 im re) #s(literal 2 binary64))) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
99.2%
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
99.3%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
99.2%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 (-.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) #s(literal 0 binary64)) (-.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64))))
98.7%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 (+.f64 (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 3 binary64)) #s(literal 0 binary64)) (+.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64))))))
11.2%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
49.2%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
99.4%
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
48.6%
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 4 binary64))))
99.1%
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
98.9%
(*.f64 (*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 6 binary64)))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
99.2%
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
99.1%
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 5 binary64)))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
99.5%
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
Compiler

Compiled 511 to 364 computations (28.8% saved)

simplify184.0ms (3%)

Memory
-12.3MiB live, 223.4MiB allocated; 31ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f64 base)
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff0
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
cost-diff0
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
cost-diff0
(log.f64 base)
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff0
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
cost-diff3
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
cost-diff0
(log.f64 base)
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff2
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
cost-diff5
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
cost-diff0
(atan2.f64 im re)
cost-diff0
(log.f64 base)
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff0
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
cost-diff0
(log.f64 base)
cost-diff0
(atan2.f64 im re)
cost-diff2
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
cost-diff3
(/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032244
052240
182231
2190222
3667218
43993218
08089218
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(atan2.f64 im re)
im
re
(/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(log.f64 base)
base
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(log.f64 (pow.f64 base (log.f64 base)))
(pow.f64 base (log.f64 base))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
(*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))
(log.f64 (log.f64 base))
#s(literal 2 binary64)
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 4 binary64))
#s(literal 4 binary64)
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
#s(literal 2 binary64)
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
#s(literal 3 binary64)
Outputs
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(atan2.f64 im re)
im
re
(/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(pow.f64 (log.f64 base) #s(literal -1 binary64))
(log.f64 base)
base
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
(*.f64 (/.f64 (log.f64 base) (log.f64 (pow.f64 base (log.f64 base)))) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(log.f64 (pow.f64 base (log.f64 base)))
(pow.f64 base (log.f64 base))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(/.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))
(log.f64 (log.f64 base))
#s(literal 2 binary64)
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 4 binary64))
#s(literal 4 binary64)
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
#s(literal 2 binary64)
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
#s(literal 3 binary64)

localize120.0ms (1.9%)

Memory
15.0MiB live, 207.5MiB allocated; 12ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.22684034033182934
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))
accuracy0.234375
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
accuracy0.3855439453688405
(pow.f64 (log.f64 base) #s(literal 3 binary64))
accuracy4.716082659000888
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
accuracy0.13671875
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
accuracy0.1640625
(*.f64 (log.f64 base) (atan2.f64 im re))
accuracy0.2770500488422101
(pow.f64 (log.f64 base) #s(literal 2 binary64))
accuracy0.4396440430532607
(pow.f64 (log.f64 base) #s(literal 4 binary64))
accuracy0.03125
(log.f64 (log.f64 base))
accuracy0.1640625
(*.f64 (log.f64 base) (atan2.f64 im re))
accuracy0.18359375
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
accuracy0.8557371512234974
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
accuracy0.09870327872082685
(pow.f64 base (log.f64 base))
accuracy0.1640625
(*.f64 (log.f64 base) (atan2.f64 im re))
accuracy0.18359375
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
accuracy30.019938951132712
(log.f64 (pow.f64 base (log.f64 base)))
accuracy0.0
(log.f64 base)
accuracy0.12109375
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
accuracy0.17253876953688402
(/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
accuracy0.2770500488422101
(pow.f64 (log.f64 base) #s(literal 2 binary64))
Samples
62.0ms127×0invalid
34.0ms129×0valid
Compiler

Compiled 228 to 29 computations (87.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 72.0ms
ival-div: 31.0ms (43% of total)
ival-pow: 15.0ms (20.8% of total)
ival-mult: 9.0ms (12.5% of total)
ival-log: 7.0ms (9.7% of total)
ival-pow2: 5.0ms (6.9% of total)
ival-atan2: 3.0ms (4.2% of total)
ival-exp: 2.0ms (2.8% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series318.0ms (5.1%)

Memory
-1.7MiB live, 566.7MiB allocated; 167ms collecting garbage
Counts
19 → 55
Calls
Call 1
Inputs
(/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(atan2.f64 im re)
(log.f64 base)
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(log.f64 (pow.f64 base (log.f64 base)))
(pow.f64 base (log.f64 base))
(log.f64 (log.f64 base))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))
Outputs
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log base) 2) (pow (atan2 im re) 2))))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* (pow (log base) 3) (atan2 im re))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (log base))))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (log base) 2))))
#s(approx (log (log base)) #s(hole binary64 (log (log base))))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (log base) 3)))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log (/ 1 base)) 2) (pow (atan2 im re) 2))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (log (/ 1 base)) 2))))
#s(approx (log (log base)) #s(hole binary64 (log (* -1 (log (/ 1 base))))))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (pow (log base) 3) #s(hole binary64 (* -1 (pow (log (/ 1 base)) 3))))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 3) (atan2 im re)))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2) (pow (atan2 im re) 2))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2))))
#s(approx (log (log base)) #s(hole binary64 (log (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3)))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3) (atan2 im re))))
Calls

9 calls:

TimeVariablePointExpression
95.0ms
base
@-inf
((/ (log base) (pow (log base) 2)) (* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (log base) (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) (* (log base) (atan2 im re)) (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (exp (* (log (log base)) 2)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (log (pow base (log base))) (pow base (log base)) (log (log base)) (pow (log base) 4) (pow (log base) 3) (* (pow (log base) 3) (atan2 im re)))
49.0ms
base
@0
((/ (log base) (pow (log base) 2)) (* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (log base) (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) (* (log base) (atan2 im re)) (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (exp (* (log (log base)) 2)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (log (pow base (log base))) (pow base (log base)) (log (log base)) (pow (log base) 4) (pow (log base) 3) (* (pow (log base) 3) (atan2 im re)))
44.0ms
base
@inf
((/ (log base) (pow (log base) 2)) (* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (log base) (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) (* (log base) (atan2 im re)) (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (exp (* (log (log base)) 2)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (log (pow base (log base))) (pow base (log base)) (log (log base)) (pow (log base) 4) (pow (log base) 3) (* (pow (log base) 3) (atan2 im re)))
43.0ms
re
@0
((/ (log base) (pow (log base) 2)) (* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (log base) (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) (* (log base) (atan2 im re)) (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (exp (* (log (log base)) 2)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (log (pow base (log base))) (pow base (log base)) (log (log base)) (pow (log base) 4) (pow (log base) 3) (* (pow (log base) 3) (atan2 im re)))
19.0ms
re
@-inf
((/ (log base) (pow (log base) 2)) (* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (log base) (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) (* (log base) (atan2 im re)) (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (exp (* (log (log base)) 2)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) (pow (* (log base) (atan2 im re)) 2) (pow (log base) 2) (log (pow base (log base))) (pow base (log base)) (log (log base)) (pow (log base) 4) (pow (log base) 3) (* (pow (log base) 3) (atan2 im re)))

simplify145.0ms (2.3%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
0125845
1204812
2513743
33250743
08246743
Stop Event
iter limit
node limit
Counts
55 → 55
Calls
Call 1
Inputs
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log base) 2) (pow (atan2 im re) 2))))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* (pow (log base) 3) (atan2 im re))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (log base))))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (log base) 2))))
#s(approx (log (log base)) #s(hole binary64 (log (log base))))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (log base) 3)))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log (/ 1 base)) 2) (pow (atan2 im re) 2))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (log (/ 1 base)) 2))))
#s(approx (log (log base)) #s(hole binary64 (log (* -1 (log (/ 1 base))))))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (pow (log base) 3) #s(hole binary64 (* -1 (pow (log (/ 1 base)) 3))))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 3) (atan2 im re)))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2) (pow (atan2 im re) 2))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2))))
#s(approx (log (log base)) #s(hole binary64 (log (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3)))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3) (atan2 im re))))
Outputs
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (atan2 im re) (atan2.f64 im re))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log base) 2) (pow (atan2 im re) 2))))
#s(approx (pow (* (log base) (atan2 im re)) 2) (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64)))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* (pow (log base) 3) (atan2 im re))))
#s(approx (* (pow (log base) 3) (atan2 im re)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (log base))))
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (log base) (log.f64 base))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (log base) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (log base) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (log base) 2))))
#s(approx (pow base (log base)) (pow.f64 base (log.f64 base)))
#s(approx (log (log base)) #s(hole binary64 (log (log base))))
#s(approx (log (log base)) (log.f64 (log.f64 base)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (pow (log base) 4) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (log base) 3)))
#s(approx (pow (log base) 3) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (log base) (log.f64 base))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (log (/ 1 base)) 2) (pow (atan2 im re) 2))))
#s(approx (pow (* (log base) (atan2 im re)) 2) (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (log (/ 1 base)) 2))))
#s(approx (pow base (log base)) (pow.f64 base (log.f64 base)))
#s(approx (log (log base)) #s(hole binary64 (log (* -1 (log (/ 1 base))))))
#s(approx (log (log base)) (log.f64 (log.f64 base)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (pow (log base) 4) (pow.f64 (neg.f64 (log.f64 base)) #s(literal 4 binary64)))
#s(approx (pow (log base) 3) #s(hole binary64 (* -1 (pow (log (/ 1 base)) 3))))
#s(approx (pow (log base) 3) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 3) (atan2 im re)))))
#s(approx (* (pow (log base) 3) (atan2 im re)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal -1 binary64) (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) base)) (log.f64 #s(literal -1 binary64)))))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (log base) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))))
#s(approx (/ (* (log base) (atan2 im re)) (log (pow base (log base)))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) (atan2.f64 im re)))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (exp (* (log (log base)) 2)) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 3 binary64))))
#s(approx (/ (pow (* (log base) (atan2 im re)) 2) (* (* (log base) (atan2 im re)) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (exp (* (log (log base)) 2))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (pow (* (log base) (atan2 im re)) 2) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2) (pow (atan2 im re) 2))))
#s(approx (pow (* (log base) (atan2 im re)) 2) (*.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)) (pow.f64 (atan2.f64 im re) #s(literal 2 binary64))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)))
#s(approx (log (pow base (log base))) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (exp (* (log (log base)) 2)) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)))
#s(approx (pow base (log base)) #s(hole binary64 (exp (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2))))
#s(approx (pow base (log base)) (exp.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64))))
#s(approx (log (log base)) #s(hole binary64 (log (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (log (log base)) (log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
#s(approx (pow (log base) 4) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 4 binary64)))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3)))
#s(approx (pow (log base) 3) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 3 binary64)))
#s(approx (* (pow (log base) 3) (atan2 im re)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3) (atan2 im re))))
#s(approx (* (pow (log base) 3) (atan2 im re)) (*.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 3 binary64)) (atan2.f64 im re)))

rewrite60.0ms (1%)

Memory
34.0MiB live, 79.2MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
032156
052150
1115144
0470144
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
19 → 213
Calls
Call 1
Inputs
(/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(atan2.f64 im re)
(log.f64 base)
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
(pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(log.f64 (pow.f64 base (log.f64 base)))
(pow.f64 base (log.f64 base))
(log.f64 (log.f64 base))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))
Outputs
(/.f64 (/.f64 (log.f64 base) (log.f64 base)) (log.f64 base))
(/.f64 (neg.f64 (neg.f64 (log.f64 base))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(neg.f64 (/.f64 (neg.f64 (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(neg.f64 (/.f64 (log.f64 base) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (log.f64 base) (log.f64 base)) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (atan2.f64 im re))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (log.f64 base)) (log.f64 base))
(/.f64 (neg.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(neg.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(atan2.f64 im re)
(*.f64 (pow.f64 (log.f64 base) #s(literal 1/2 binary64)) (pow.f64 (log.f64 base) #s(literal 1/2 binary64)))
(pow.f64 (log.f64 base) #s(literal 1 binary64))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 1 binary64)))
(exp.f64 (log.f64 (log.f64 base)))
(+.f64 (cosh.f64 (log.f64 (log.f64 base))) (sinh.f64 (log.f64 (log.f64 base))))
(log.f64 base)
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (log.f64 base) (log.f64 base)) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (atan2.f64 im re))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (log.f64 base)) (log.f64 base))
(/.f64 (neg.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(neg.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(*.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (atan2.f64 im re) #s(literal 1 binary64)) (log.f64 base))
(*.f64 (atan2.f64 im re) (log.f64 base))
(*.f64 (log.f64 base) (pow.f64 (atan2.f64 im re) #s(literal 1 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 1 binary64))
(exp.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) #s(literal 1 binary64)))
(log.f64 (pow.f64 base (atan2.f64 im re)))
(*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (log.f64 base) (log.f64 base)))
(*.f64 (/.f64 (log.f64 base) (log.f64 base)) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (atan2.f64 im re))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (log.f64 base)) (log.f64 base))
(/.f64 (neg.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(neg.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(*.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)))
(*.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)))
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))) (-.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (-.f64 (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (log.f64 (log.f64 base))) (cosh.f64 (log.f64 (log.f64 base)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(exp.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(+.f64 (log.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))) (log.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))))
(+.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(log.f64 (pow.f64 base (log.f64 base)))
(*.f64 (*.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (log.f64 base)) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(*.f64 (*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (/.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (/.f64 (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (log.f64 base) (/.f64 (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (log.f64 base) (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (log.f64 base) (*.f64 (log.f64 base) (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(/.f64 (/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (neg.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(fma.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(fma.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (*.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(+.f64 (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(+.f64 (*.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(log.f64 (pow.f64 (pow.f64 base (log.f64 base)) (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (log.f64 base))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (neg.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(neg.f64 (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (/.f64 (pow.f64 (atan2.f64 im re) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))))
(/.f64 (neg.f64 (neg.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64)))) (neg.f64 (neg.f64 #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))))
(/.f64 (neg.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64))) (neg.f64 #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))))
(/.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64))) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))))
(neg.f64 (/.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64)) (neg.f64 #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))))
(*.f64 (*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (atan2.f64 im re)) (log.f64 base))
(*.f64 (fabs.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) (fabs.f64 (*.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (exp.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base)))) (exp.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base)))))
(*.f64 (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (atan2.f64 im re))
(*.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)))
(*.f64 (pow.f64 (atan2.f64 im re) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (atan2.f64 im re) #s(literal 2 binary64)))
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (*.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (log.f64 base) (*.f64 (log.f64 base) (pow.f64 (atan2.f64 im re) #s(literal 2 binary64))))
(pow.f64 (exp.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base)))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) #s(literal 2 binary64))))
(*.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)))
(*.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)))
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))) (-.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (-.f64 (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (log.f64 (log.f64 base))) (cosh.f64 (log.f64 (log.f64 base)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(exp.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(+.f64 (log.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))) (log.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))))
(+.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(log.f64 (pow.f64 base (log.f64 base)))
(*.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)))
(*.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)))
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))) (-.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (-.f64 (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (log.f64 (log.f64 base))) (cosh.f64 (log.f64 (log.f64 base)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(exp.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(+.f64 (log.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))) (log.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))))
(+.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(log.f64 (pow.f64 base (log.f64 base)))
(*.f64 (neg.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))) (neg.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))))
(*.f64 (fabs.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))) (fabs.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64)))))
(*.f64 (exp.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (exp.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(*.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64))) (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64))))
(pow.f64 (exp.f64 (log.f64 base)) (log.f64 base))
(pow.f64 (*.f64 base base) (/.f64 (log.f64 base) #s(literal 2 binary64)))
(pow.f64 (pow.f64 base (/.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 2 binary64))
(pow.f64 base (*.f64 #s(literal 2 binary64) (/.f64 (log.f64 base) #s(literal 2 binary64))))
(pow.f64 base (+.f64 (/.f64 (log.f64 base) #s(literal 2 binary64)) (/.f64 (log.f64 base) #s(literal 2 binary64))))
(pow.f64 base (log.f64 base))
(exp.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))) (sinh.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(log.f64 (log.f64 base))
(*.f64 (fabs.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))) (fabs.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
(fma.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(fma.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(exp.f64 (fma.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64) (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 #s(literal 4 binary64) (log.f64 (log.f64 base))))
(+.f64 (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(+.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(+.f64 (cosh.f64 (*.f64 #s(literal 4 binary64) (log.f64 (log.f64 base)))) (sinh.f64 (*.f64 #s(literal 4 binary64) (log.f64 (log.f64 base)))))
(log.f64 (pow.f64 (pow.f64 base (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) (pow.f64 (log.f64 base) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (log.f64 base))
(*.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 3/2 binary64))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(fma.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (log.f64 base) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (log.f64 base)))
(fma.f64 (log.f64 base) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (*.f64 (log.f64 base) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(exp.f64 (*.f64 #s(literal 3 binary64) (log.f64 (log.f64 base))))
(+.f64 (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (log.f64 base)) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (log.f64 base)))
(+.f64 (*.f64 (log.f64 base) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (log.f64 base) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(+.f64 (cosh.f64 (*.f64 #s(literal 3 binary64) (log.f64 (log.f64 base)))) (sinh.f64 (*.f64 #s(literal 3 binary64) (log.f64 (log.f64 base)))))
(log.f64 (pow.f64 base (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(log.f64 (pow.f64 (pow.f64 base (log.f64 base)) (log.f64 base)))
(*.f64 (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3/2 binary64))) (pow.f64 (log.f64 base) #s(literal 3/2 binary64)))
(*.f64 (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) (atan2.f64 im re)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))
(*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (*.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (log.f64 base) (*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (log.f64 base))))
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(fma.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (*.f64 (atan2.f64 im re) (log.f64 base))))
(fma.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(+.f64 (*.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (*.f64 (atan2.f64 im re) (log.f64 base))) (*.f64 (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (*.f64 (atan2.f64 im re) (log.f64 base))))
(+.f64 (*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))) (*.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))))
(log.f64 (pow.f64 (pow.f64 base (log.f64 base)) (*.f64 (atan2.f64 im re) (log.f64 base))))

eval35.0ms (0.6%)

Memory
9.9MiB live, 90.5MiB allocated; 14ms collecting garbage
Compiler

Compiled 7 113 to 821 computations (88.5% saved)

prune41.0ms (0.7%)

Memory
-7.7MiB live, 41.2MiB allocated; 25ms collecting garbage
Pruning

16 alts after pruning (11 fresh and 5 done)

PrunedKeptTotal
New3009309
Fresh527
Picked325
Done033
Total30816324
Accuracy
100.0%
Counts
324 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
99.2%
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
99.3%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
49.1%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base))))
11.2%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
99.1%
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
49.9%
(*.f64 (atan2.f64 im re) (/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 1/2 binary64)) (pow.f64 (log.f64 base) #s(literal 1/2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
99.4%
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
99.4%
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
99.1%
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
48.3%
(*.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) #s(literal 1 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
99.1%
(*.f64 (*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 4 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
99.2%
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
99.1%
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 5 binary64)))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
99.2%
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
99.5%
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
Compiler

Compiled 466 to 348 computations (25.3% saved)

simplify306.0ms (4.9%)

Memory
5.3MiB live, 382.8MiB allocated; 178ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f64 base)
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff0
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
cost-diff3
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
cost-diff0
(atan2.f64 im re)
cost-diff0
(log.f64 base)
cost-diff0
(*.f64 (log.f64 base) (atan2.f64 im re))
cost-diff0
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base))))
cost-diff0
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
cost-diff0
(log.f64 base)
cost-diff0
(pow.f64 (log.f64 base) #s(literal 3 binary64))
cost-diff0
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
cost-diff0
(atan2.f64 im re)
cost-diff0
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
cost-diff0
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
cost-diff0
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
cost-diff0
(/.f64 #s(literal 1 binary64) (log.f64 base))
cost-diff0
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
cost-diff0
(atan2.f64 im re)
cost-diff0
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
036241
057241
180241
2145229
3310229
4878229
55554229
08334229
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
(atan2.f64 im re)
im
re
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
(/.f64 #s(literal 1 binary64) (log.f64 base))
#s(literal 1 binary64)
(log.f64 base)
base
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(log.f64 base)
base
#s(literal 3 binary64)
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(log.f64 base)
base
#s(literal 3 binary64)
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 4 binary64))
#s(literal 4 binary64)
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(exp.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(log.f64 (log.f64 base))
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 4 binary64))
#s(literal 4 binary64)
(pow.f64 (log.f64 base) #s(literal 6 binary64))
#s(literal 6 binary64)
Outputs
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
(*.f64 #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))) (atan2.f64 im re))
(atan2.f64 im re)
im
re
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
(/.f64 #s(literal 1 binary64) (log.f64 base))
#s(literal 1 binary64)
(log.f64 base)
base
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(log.f64 base)
base
#s(literal 3 binary64)
(pow.f64 (log.f64 base) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (atan2.f64 im re))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(log.f64 base)
base
#s(literal 3 binary64)
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 4 binary64))
#s(literal 4 binary64)
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(exp.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(log.f64 (log.f64 base))
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 5 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 5 binary64)) (atan2.f64 im re))
(*.f64 (log.f64 base) (atan2.f64 im re))
(log.f64 base)
base
(atan2.f64 im re)
im
re
(pow.f64 (log.f64 base) #s(literal 4 binary64))
#s(literal 4 binary64)
(pow.f64 (log.f64 base) #s(literal 6 binary64))
#s(literal 6 binary64)

localize160.0ms (2.6%)

Memory
7.0MiB live, 201.9MiB allocated; 23ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.16634750976844204
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
accuracy0.3041997247241406
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
accuracy0.4396440430532607
(pow.f64 (log.f64 base) #s(literal 4 binary64))
accuracy0.581105578146276
(pow.f64 (log.f64 base) #s(literal 6 binary64))
accuracy0.03125
(log.f64 (log.f64 base))
accuracy0.1640625
(*.f64 (log.f64 base) (atan2.f64 im re))
accuracy0.18359375
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base))))
accuracy0.8592260803577925
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
accuracy0.140625
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
accuracy0.1640625
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
accuracy0.3855439453688405
(pow.f64 (log.f64 base) #s(literal 3 binary64))
accuracy0.4396440430532607
(pow.f64 (log.f64 base) #s(literal 4 binary64))
accuracy0.1328125
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
accuracy0.14453125
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
accuracy0.2770500488422101
(pow.f64 (log.f64 base) #s(literal 2 binary64))
accuracy0.3855439453688405
(pow.f64 (log.f64 base) #s(literal 3 binary64))
accuracy0.0
(log.f64 base)
accuracy0.0
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
accuracy0.12109375
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
accuracy0.17578125
(/.f64 #s(literal 1 binary64) (log.f64 base))
Samples
99.0ms127×0invalid
35.0ms129×0valid
Compiler

Compiled 215 to 31 computations (85.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 113.0ms
ival-div: 74.0ms (65.5% of total)
ival-pow: 18.0ms (15.9% of total)
ival-mult: 7.0ms (6.2% of total)
ival-log: 5.0ms (4.4% of total)
ival-exp: 3.0ms (2.7% of total)
ival-pow2: 3.0ms (2.7% of total)
ival-atan2: 2.0ms (1.8% of total)
exact: 1.0ms (0.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series381.0ms (6.2%)

Memory
-5.7MiB live, 643.4MiB allocated; 165ms collecting garbage
Counts
20 → 58
Calls
Call 1
Inputs
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
(atan2.f64 im re)
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
(/.f64 #s(literal 1 binary64) (log.f64 base))
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(log.f64 base)
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(log.f64 (log.f64 base))
(pow.f64 (log.f64 base) #s(literal 6 binary64))
Outputs
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 4))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* (pow (log base) 5) (atan2 im re))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (log base))))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ 1 (log base))))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (log base) 3)))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (log base) 2)))
#s(approx (log (log base)) #s(hole binary64 (log (log base))))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log base) 6)))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (pow (log base) 3) #s(hole binary64 (* -1 (pow (log (/ 1 base)) 3))))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log (/ 1 base)) 4))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 5) (atan2 im re)))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (log (log base)) #s(hole binary64 (log (* -1 (log (/ 1 base))))))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log (/ 1 base)) 6)))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3)))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 5) (atan2 im re))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (log (log base)) #s(hole binary64 (log (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 6)))
Calls

9 calls:

TimeVariablePointExpression
109.0ms
re
@0
((* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (/ (log base) (pow (log base) 2)) (/ 1 (log base)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (atan2 im re) (pow (log base) 3)) (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (pow (log base) 3) (log base) (/ (atan2 im re) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (* (log base) (atan2 im re)) (* (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (pow (log base) 2) (pow (log base) 4) (pow (exp 2) (log (log base))) (log (log base)) (pow (log base) 6))
52.0ms
base
@0
((* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (/ (log base) (pow (log base) 2)) (/ 1 (log base)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (atan2 im re) (pow (log base) 3)) (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (pow (log base) 3) (log base) (/ (atan2 im re) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (* (log base) (atan2 im re)) (* (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (pow (log base) 2) (pow (log base) 4) (pow (exp 2) (log (log base))) (log (log base)) (pow (log base) 6))
41.0ms
im
@0
((* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (/ (log base) (pow (log base) 2)) (/ 1 (log base)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (atan2 im re) (pow (log base) 3)) (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (pow (log base) 3) (log base) (/ (atan2 im re) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (* (log base) (atan2 im re)) (* (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (pow (log base) 2) (pow (log base) 4) (pow (exp 2) (log (log base))) (log (log base)) (pow (log base) 6))
36.0ms
re
@inf
((* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (/ (log base) (pow (log base) 2)) (/ 1 (log base)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (atan2 im re) (pow (log base) 3)) (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (pow (log base) 3) (log base) (/ (atan2 im re) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (* (log base) (atan2 im re)) (* (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (pow (log base) 2) (pow (log base) 4) (pow (exp 2) (log (log base))) (log (log base)) (pow (log base) 6))
31.0ms
base
@inf
((* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (/ (log base) (pow (log base) 2)) (/ 1 (log base)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (atan2 im re) (pow (log base) 3)) (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (pow (log base) 3) (log base) (/ (atan2 im re) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (* (log base) (atan2 im re)) (* (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (pow (log base) 2) (pow (log base) 4) (pow (exp 2) (log (log base))) (log (log base)) (pow (log base) 6))

simplify160.0ms (2.6%)

Memory
15.1MiB live, 196.0MiB allocated; 36ms collecting garbage
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0129932
1192913
2373832
31257832
45117814
08384814
Stop Event
iter limit
node limit
Counts
58 → 58
Calls
Call 1
Inputs
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 4))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* (pow (log base) 5) (atan2 im re))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (log base))))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ 1 (log base))))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (log base) 3)))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (log base) 2)))
#s(approx (log (log base)) #s(hole binary64 (log (log base))))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log base) 6)))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (pow (log base) 3) #s(hole binary64 (* -1 (pow (log (/ 1 base)) 3))))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log (/ 1 base)) 4))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 5) (atan2 im re)))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (log (log base)) #s(hole binary64 (log (* -1 (log (/ 1 base))))))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log (/ 1 base)) 6)))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3)))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 5) (atan2 im re))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (log (log base)) #s(hole binary64 (log (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 6)))
Outputs
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (atan2 im re) #s(hole binary64 (atan2 im re)))
#s(approx (atan2 im re) (atan2.f64 im re))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 3))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log base) 4))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (log base) (atan2 im re))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* (pow (log base) 5) (atan2 im re))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) (*.f64 (pow.f64 (log.f64 base) #s(literal 5 binary64)) (atan2.f64 im re)))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (log base))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (log base))))
#s(approx (/ 1 (log base)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ 1 (log base))))
#s(approx (/ 1 (log base)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (log base) 3)))
#s(approx (pow (log base) 3) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
#s(approx (log base) #s(hole binary64 (log base)))
#s(approx (log base) (log.f64 base))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (log base) 2) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log base) 4)))
#s(approx (pow (log base) 4) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (log base) 2)))
#s(approx (pow (exp 2) (log (log base))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (log (log base)) #s(hole binary64 (log (log base))))
#s(approx (log (log base)) (log.f64 (log.f64 base)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log base) 6)))
#s(approx (pow (log base) 6) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (/ 1 (log base)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ -1 (log (/ 1 base)))))
#s(approx (/ 1 (log base)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (* -1 (/ (atan2 im re) (pow (log (/ 1 base)) 3)))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (pow (log base) 3) #s(hole binary64 (* -1 (pow (log (/ 1 base)) 3))))
#s(approx (pow (log base) 3) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
#s(approx (log base) #s(hole binary64 (* -1 (log (/ 1 base)))))
#s(approx (log base) (log.f64 base))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (log (/ 1 base)) 4))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* -1 (* (log (/ 1 base)) (atan2 im re)))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* -1 (* (pow (log (/ 1 base)) 5) (atan2 im re)))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) (*.f64 (pow.f64 (log.f64 base) #s(literal 5 binary64)) (atan2.f64 im re)))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (* -1 (/ (atan2 im re) (log (/ 1 base))))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (log.f64 base)))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow (log base) 2) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (log (/ 1 base)) 4)))
#s(approx (pow (log base) 4) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (log (/ 1 base)) 2)))
#s(approx (pow (exp 2) (log (log base))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (log (log base)) #s(hole binary64 (log (* -1 (log (/ 1 base))))))
#s(approx (log (log base)) (log.f64 (log.f64 base)))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (log (/ 1 base)) 6)))
#s(approx (pow (log base) 6) (pow.f64 (neg.f64 (log.f64 base)) #s(literal 6 binary64)))
#s(approx (* (atan2 im re) (/ (log base) (pow (log base) 2))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (/ (log base) (pow (log base) 2)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ 1 (log base)) (/.f64 #s(literal -1 binary64) (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) base)) (log.f64 #s(literal -1 binary64)))))
#s(approx (/ 1 (log base)) #s(hole binary64 (/ 1 (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ 1 (log base)) (/.f64 #s(literal -1 binary64) (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) base)) (log.f64 #s(literal -1 binary64)))))
#s(approx (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) (/.f64 (atan2.f64 im re) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 3 binary64))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3))))
#s(approx (/ (atan2 im re) (pow (log base) 3)) (/.f64 (atan2.f64 im re) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 3 binary64))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (pow (log base) 3) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 3)))
#s(approx (pow (log base) 3) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 3 binary64)))
#s(approx (log base) #s(hole binary64 (+ (log -1) (* -1 (log (/ -1 base))))))
#s(approx (log base) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) #s(hole binary64 (/ (atan2 im re) (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4))))
#s(approx (/ (atan2 im re) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 4 binary64))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (* (log base) (atan2 im re)) #s(hole binary64 (* (+ (log -1) (* -1 (log (/ -1 base)))) (atan2 im re))))
#s(approx (* (log base) (atan2 im re)) (*.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) (atan2.f64 im re)))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) #s(hole binary64 (* (pow (+ (log -1) (* -1 (log (/ -1 base)))) 5) (atan2 im re))))
#s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) (*.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 5 binary64)) (atan2.f64 im re)))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) #s(hole binary64 (/ (atan2 im re) (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (pow (log base) 2) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow (log base) 2) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)))
#s(approx (pow (log base) 4) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 4)))
#s(approx (pow (log base) 4) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 4 binary64)))
#s(approx (pow (exp 2) (log (log base))) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 2)))
#s(approx (pow (exp 2) (log (log base))) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 2 binary64)))
#s(approx (log (log base)) #s(hole binary64 (log (+ (log -1) (* -1 (log (/ -1 base)))))))
#s(approx (log (log base)) (log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base)))))
#s(approx (pow (log base) 6) #s(hole binary64 (pow (+ (log -1) (* -1 (log (/ -1 base)))) 6)))
#s(approx (pow (log base) 6) (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) base))) #s(literal 6 binary64)))

rewrite59.0ms (1%)

Memory
6.1MiB live, 108.1MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
036182
057180
1127173
0525173
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
20 → 165
Calls
Call 1
Inputs
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
(atan2.f64 im re)
#s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base)))
(/.f64 #s(literal 1 binary64) (log.f64 base))
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(log.f64 base)
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(log.f64 (log.f64 base))
(pow.f64 (log.f64 base) #s(literal 6 binary64))
Outputs
(*.f64 #s(approx (/ (log base) (pow (log base) 2)) (pow.f64 (log.f64 base) #s(literal -1 binary64))) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (pow.f64 (log.f64 base) #s(literal -1 binary64))))
(atan2.f64 im re)
#s(approx (/ (log base) (pow (log base) 2)) (pow.f64 (log.f64 base) #s(literal -1 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal -1/2 binary64)) (pow.f64 (log.f64 base) #s(literal -1/2 binary64)))
(pow.f64 (log.f64 base) #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 (log.f64 base)))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (log.f64 base))))
(/.f64 #s(literal 1 binary64) (log.f64 base))
(/.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (log.f64 base)))
(neg.f64 (/.f64 #s(literal -1 binary64) (log.f64 base)))
(neg.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (log.f64 base))))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (log.f64 base)) (log.f64 base))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))))
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (log.f64 base) (*.f64 (log.f64 base) #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))))
#s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3/2 binary64))) (pow.f64 (log.f64 base) #s(literal 3/2 binary64)))
(/.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(neg.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)))))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 3/2 binary64))) (pow.f64 (log.f64 base) #s(literal 3/2 binary64)))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (log.f64 base)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (log.f64 base) (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(/.f64 (/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 3 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (neg.f64 (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (neg.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) (pow.f64 (log.f64 base) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (log.f64 base))
(*.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(pow.f64 (exp.f64 (log.f64 (log.f64 base))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 3/2 binary64))
(pow.f64 (log.f64 base) #s(literal 3 binary64))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 3 binary64))))
(log.f64 (pow.f64 base (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 1/2 binary64)) (pow.f64 (log.f64 base) #s(literal 1/2 binary64)))
(pow.f64 (log.f64 base) #s(literal 1 binary64))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 1 binary64)))
(log.f64 base)
(/.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (neg.f64 (neg.f64 (atan2.f64 im re))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(/.f64 (neg.f64 (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(neg.f64 (/.f64 (neg.f64 (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(neg.f64 (/.f64 (atan2.f64 im re) (neg.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))) (/.f64 (atan2.f64 im re) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))) (/.f64 (log.f64 base) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))))
(*.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(/.f64 (neg.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (atan2.f64 im re)) (log.f64 base)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(neg.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(*.f64 (log.f64 base) (atan2.f64 im re))
(*.f64 (atan2.f64 im re) (log.f64 base))
(log.f64 (pow.f64 base (atan2.f64 im re)))
(*.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (log.f64 base)) (atan2.f64 im re))
(*.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (atan2.f64 im re)) (log.f64 base))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)))
(*.f64 (log.f64 base) (*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (atan2.f64 im re)))
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 3 binary64))) (/.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(*.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (pow.f64 (log.f64 base) #s(literal 3 binary64))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(*.f64 (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 3 binary64))) (/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal -2 binary64)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal -2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))))
(*.f64 (log.f64 base) (/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))))
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal -2 binary64))))
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal -2 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 3 binary64))) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(/.f64 (neg.f64 (*.f64 (neg.f64 (log.f64 base)) (*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (atan2.f64 im re)))) (neg.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 6 binary64)))))
(/.f64 (*.f64 (neg.f64 (log.f64 base)) (*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (atan2.f64 im re))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 6 binary64))))
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (log.f64 base)) (*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (atan2.f64 im re))) (pow.f64 (log.f64 base) #s(literal 6 binary64))))
(neg.f64 (/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 6 binary64)))))
(*.f64 (neg.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))) (neg.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))))
(*.f64 (fabs.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))) (fabs.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))))
(*.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)))
(*.f64 (exp.f64 (log.f64 (log.f64 base))) (exp.f64 (log.f64 (log.f64 base))))
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(*.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)))
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (exp.f64 (log.f64 (log.f64 base))) #s(literal 2 binary64))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(exp.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(log.f64 (pow.f64 base (log.f64 base)))
(*.f64 (fabs.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))) (fabs.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (log.f64 base))
(*.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(pow.f64 (exp.f64 (log.f64 (log.f64 base))) #s(literal 4 binary64))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 4 binary64))
(exp.f64 (fma.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64) (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 4 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 4 binary64))) (sinh.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 4 binary64))))
(*.f64 (neg.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))) (neg.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))))
(*.f64 (fabs.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))) (fabs.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))))
(*.f64 (fabs.f64 (log.f64 base)) (fabs.f64 (log.f64 base)))
(*.f64 (exp.f64 (log.f64 (log.f64 base))) (exp.f64 (log.f64 (log.f64 base))))
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(*.f64 (neg.f64 (log.f64 base)) (neg.f64 (log.f64 base)))
(*.f64 (log.f64 base) (log.f64 base))
(pow.f64 (exp.f64 (log.f64 (log.f64 base))) #s(literal 2 binary64))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64)) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (/.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base)))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (log.f64 base) #s(literal 2 binary64))
(exp.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)))))
(log.f64 (pow.f64 base (log.f64 base)))
(log.f64 (log.f64 base))
(*.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (pow.f64 (log.f64 base) #s(literal 3/2 binary64))) (pow.f64 (log.f64 base) #s(literal 3/2 binary64)))
(*.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (log.f64 base))
(*.f64 (fabs.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64))) (fabs.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(*.f64 (neg.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64))) (neg.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (pow.f64 (log.f64 base) #s(literal 3 binary64)))
(*.f64 (log.f64 base) (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 3 binary64))))
(pow.f64 (exp.f64 (log.f64 (log.f64 base))) #s(literal 6 binary64))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) #s(literal 2 binary64))
(pow.f64 (log.f64 base) #s(literal 6 binary64))
(exp.f64 (fma.f64 (log.f64 (log.f64 base)) #s(literal 3 binary64) (*.f64 (log.f64 (log.f64 base)) #s(literal 3 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 3 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 #s(literal 6 binary64) (log.f64 (log.f64 base))))
(+.f64 (cosh.f64 (*.f64 #s(literal 6 binary64) (log.f64 (log.f64 base)))) (sinh.f64 (*.f64 #s(literal 6 binary64) (log.f64 (log.f64 base)))))

eval29.0ms (0.5%)

Memory
-6.5MiB live, 83.1MiB allocated; 9ms collecting garbage
Compiler

Compiled 5 687 to 681 computations (88% saved)

prune23.0ms (0.4%)

Memory
37.0MiB live, 80.9MiB allocated; 5ms collecting garbage
Pruning

19 alts after pruning (11 fresh and 8 done)

PrunedKeptTotal
New26410274
Fresh516
Picked235
Done055
Total27119290
Accuracy
100.0%
Counts
290 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.7%
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 3 binary64)))
99.3%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
11.2%
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
99.2%
(/.f64 #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) (*.f64 (pow.f64 (log.f64 base) #s(literal 5 binary64)) (atan2.f64 im re))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
49.9%
(*.f64 (pow.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) #s(literal 2 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
98.8%
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 2 binary64))))
99.1%
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
99.3%
(*.f64 (pow.f64 (log.f64 base) #s(literal -2 binary64)) (*.f64 (log.f64 base) (atan2.f64 im re)))
99.4%
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
99.3%
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal -2 binary64))))
99.4%
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
50.0%
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal -1/2 binary64)) (pow.f64 (log.f64 base) #s(literal -1/2 binary64)))))
49.6%
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal -1 binary64)))))
99.1%
(*.f64 (*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (log.f64 base)) (log.f64 base))
99.2%
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
99.2%
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal -2 binary64))))
99.1%
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 5 binary64)))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
99.2%
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
99.5%
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
Compiler

Compiled 1 159 to 428 computations (63.1% saved)

regimes68.0ms (1.1%)

Memory
-15.9MiB live, 174.5MiB allocated; 24ms collecting garbage
Accuracy

Total -63.0b remaining (-19902.4%)

Threshold costs -63b (-19902.4%)

Counts
42 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (/.f64 #s(literal 1 binary64) (log.f64 base))))
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal -1 binary64)))))
(*.f64 (log.f64 base) (*.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal -2 binary64))))
(*.f64 (atan2.f64 im re) (*.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal -2 binary64))))
(*.f64 (pow.f64 (log.f64 base) #s(literal -2 binary64)) (*.f64 (log.f64 base) (atan2.f64 im re)))
(*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (atan2.f64 im re) #s(approx (/ (log base) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal -1/2 binary64)) (pow.f64 (log.f64 base) #s(literal -1/2 binary64)))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (log.f64 (pow.f64 base (log.f64 base))))
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 6)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 5 binary64)))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(/.f64 #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 4)) (*.f64 (pow.f64 (log.f64 base) #s(literal 5 binary64)) (atan2.f64 im re))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 2 binary64))))
(*.f64 (*.f64 #s(approx (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 3 binary64)))) (log.f64 base)) (log.f64 base))
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (log.f64 base))))
(*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (pow.f64 (log.f64 base) #s(literal 3/2 binary64)) #s(literal 2 binary64)) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 4 binary64))))
(*.f64 (*.f64 (log.f64 base) (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) #s(literal 6 binary64)))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(*.f64 (*.f64 (atan2.f64 im re) (/.f64 (log.f64 base) (pow.f64 (log.f64 base) #s(literal 4 binary64)))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 6 binary64)))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) #s(approx (* (* (log base) (atan2 im re)) (pow (log base) 2)) (*.f64 (pow.f64 (log.f64 base) #s(literal 3 binary64)) (atan2.f64 im re))))
(/.f64 (-.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64)))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 (-.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) #s(literal 0 binary64)) (-.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64))))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(*.f64 (atan2.f64 im re) (/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 1/2 binary64)) (pow.f64 (log.f64 base) #s(literal 1/2 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 3 binary64)))
(*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 6 binary64))) (exp.f64 (*.f64 (log.f64 (log.f64 base)) #s(literal 4 binary64))))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (/.f64 (pow.f64 (log.f64 base) #s(literal 6 binary64)) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(*.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (*.f64 (atan2.f64 im re) (log.f64 base))) #s(literal 1 binary64))) (pow.f64 (log.f64 base) #s(literal 4 binary64))) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
(/.f64 (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) (pow.f64 (atan2.f64 im re) #s(literal 2 binary64))) (*.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 3 binary64)) (*.f64 (pow.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) #s(literal 2 binary64)) (pow.f64 (log.f64 base) #s(literal 2 binary64))))
(/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (/.f64 (+.f64 (pow.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 3 binary64)) #s(literal 0 binary64)) (+.f64 (pow.f64 (log.f64 base) #s(literal 4 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 base) #s(literal 2 binary64)) #s(literal 0 binary64))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 3 binary64)) #s(literal 0 binary64)) (fma.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 (*.f64 (log.f64 base) (atan2.f64 im re)) (pow.f64 (log.f64 base) #s(literal 2 binary64))) #s(literal 0 binary64)))))
Outputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
Calls

5 calls:

14.0ms
(log.f64 base)
14.0ms
re
13.0ms
im
11.0ms
base
10.0ms
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
Results
AccuracySegmentsBranch
99.5%1(log.f64 base)
99.5%1(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
99.5%1re
99.5%1im
99.5%1base
Compiler

Compiled 33 to 31 computations (6.1% saved)

simplify74.0ms (1.2%)

Memory
-13.5MiB live, 50.9MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02221
15819
222915
3179713
4632113
Stop Event
node limit
Calls
Call 1
Inputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))
Outputs
#s(approx (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (atan2.f64 im re) (log.f64 base)))

derivations40.0ms (0.7%)

Memory
-24.1MiB live, 21.9MiB allocated; 8ms collecting garbage
Stop Event
fuel
Compiler

Compiled 35 to 22 computations (37.1% saved)

preprocess12.0ms (0.2%)

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

Compiled 126 to 80 computations (36.5% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...